Found while fixing #117 (commit 21939628), not fixed there because #117 did not name it.
tests/test_peterhinch_page.py defines 16 module-level test_* functions and no unittest.TestCase. The documented gate and CI both run python -m unittest discover -s tests, which collects zero of them:
$ .venv/bin/python -m unittest tests.test_peterhinch_page -v
Ran 0 tests in 0.000s
NO TESTS RAN
So the acf87b7a fix that this file covers has only ever been exercised under pytest, never under the gate that CI actually runs. Same blindness test_gallery_frame.py had until 21939628 wrapped it (that raised the gate's enforced count 24 → 43).
Fix: wrap the 16 functions in a unittest.TestCase (or convert to methods) exactly as 21939628 did, then confirm unittest discover collects 16 more and they pass. Also worth a one-line check across tests/ for any other bare-function modules — a test file the gate cannot see is the pattern of the day: a checker that reports success while measuring nothing.
Found while fixing #117 (commit
21939628), not fixed there because #117 did not name it.tests/test_peterhinch_page.pydefines 16 module-leveltest_*functions and nounittest.TestCase. The documented gate and CI both runpython -m unittest discover -s tests, which collects zero of them:So the
acf87b7afix that this file covers has only ever been exercised under pytest, never under the gate that CI actually runs. Same blindnesstest_gallery_frame.pyhad until21939628wrapped it (that raised the gate's enforced count 24 → 43).Fix: wrap the 16 functions in a
unittest.TestCase(or convert to methods) exactly as21939628did, then confirmunittest discovercollects 16 more and they pass. Also worth a one-line check acrosstests/for any other bare-function modules — a test file the gate cannot see is the pattern of the day: a checker that reports success while measuring nothing.