Set up
1
Clone and install
pip install ./python installs the package from the checkout, which the suite imports.2
Fonts
On a Linux or macOS host, install the Windows fonts, or the font checks for the Windows persona have nothing to measure:
Offline tier
Use the
= form for the options. pytest reads a bare path after an option as a test path.
A quick check of one persona:
Live tier
APOSTATE_PROXY. The Apostate browsers and the control browsers all use it.
Control browsers
--controls=playwright,chrome loads the same pages in two browsers without Apostate:
Publish a results file
tests/report.py rewrites Latest results from every file in tests/results/, keeping the newest run per host. python3 tests/report.py --check exits 1 when the page is out of date. Name result files by the run’s UTC date and the host.
In CI
The offline tier runs on GitHub Actions for every push and pull request, on Linux x64 with the released browser:.github/workflows/test-suite.yml. The live tier does not run in CI, because hosted runners exit from datacenter addresses that detectors rate differently from a residential connection.