font gate: check the faces actually load, not just that the family enumerates

The gate counted 72 families enumerating and passed while ten collection faces
silently fell back to another family, so a real rendering regression shipped
with the gate green. It now renders a CJK probe per collection face and compares
the metrics against the fallback, with the family list calibrated on a build
known to load them.

Also: test_constants derives the expected archive name from the basename
constant instead of hardcoding the version, since a hardcoded one turns every
upstream bump into a mechanical test edit, which is how a stale expectation gets
corrected without anyone checking the asset exists. And INVPW_TRUE_HEADLESS=1
opts into real headless for long unattended runs on Windows, where the default
cloak path intermittently hangs on launch with a persistent profile. The default
is unchanged and the fingerprint prefs are identical either way.
This commit is contained in:
feder-cr 2026-07-23 19:06:12 +02:00
parent aa7277a1ef
commit baf5522d2b
3 changed files with 59 additions and 6 deletions

View file

@ -101,9 +101,15 @@ def test_archive_name_rejects_unsupported_arches(machine):
@pytest.mark.parametrize("machine", ["arm64", "aarch64"])
def test_archive_name_arm64_supported(machine):
"""ARM64 is shipped now (issue #6): both Linux aarch64 and macOS arm64.
ARCHIVE_NAME must map both machine spellings to the canonical -arm64 asset."""
assert ARCHIVE_NAME("linux", machine) == "firefox-150.0.1-stealth-linux-arm64.tar.gz"
assert ARCHIVE_NAME("darwin", machine) == "firefox-150.0.1-stealth-macos-arm64.tar.gz"
ARCHIVE_NAME must map both machine spellings to the canonical -arm64 asset.
The version comes from BINARY_BASENAME rather than a literal: what this test
is about is the arch/platform mapping, and a hardcoded version turns every
upstream bump into a mechanical test edit - which is how a stale expectation
gets "fixed" without anyone checking the asset actually exists.
"""
assert ARCHIVE_NAME("linux", machine) == f"{BINARY_BASENAME}-linux-arm64.tar.gz"
assert ARCHIVE_NAME("darwin", machine) == f"{BINARY_BASENAME}-macos-arm64.tar.gz"
@pytest.mark.unit