diff --git a/forgetest/forgetest/catalog.py b/forgetest/forgetest/catalog.py index 26220a1..801725e 100644 --- a/forgetest/forgetest/catalog.py +++ b/forgetest/forgetest/catalog.py @@ -147,15 +147,17 @@ def source_file_sha(path): return hashlib.sha256(data).hexdigest() -# The package modules every test runs through without importing them: -# the Context a test is handed and the takeover (runner.py), the sysfs, -# LED, switch and HTTP readers behind it (hw.py), the fresh-boot idle -# state judged around every run (baseline.py), and the dark job the -# cloud and extension tests print (puls.py). Their text is part of every -# judge, so it joins every implementation hash: a change to one of them -# moves every test. The rest of the package (the server, the page, the -# campaign rules, the artifact, the manifest, this registry, the bench -# actuator) judges nothing about the machine and stays out. +# The package modules that judge the machine. Every test runs through +# the first three without importing them: the Context a test is handed +# and the takeover (runner.py), the sysfs, LED, switch and HTTP readers +# behind it (hw.py), and the fresh-boot idle state judged around every +# run (baseline.py). puls.py is the dark job the cloud and extension +# tests print: suite/cloud.py imports it from the package (`from .. import +# puls`), an import the sibling walk does not follow. Their text joins +# every implementation hash: a change to one of them moves every test. +# The rest of the package (the server, the page, the campaign rules, the +# artifact, the manifest, this registry, the bench actuator) judges +# nothing about the machine and stays out. SHARED_JUDGES = ("baseline.py", "hw.py", "puls.py", "runner.py") diff --git a/forgetest/tests/test_manifest.py b/forgetest/tests/test_manifest.py index 4c230b8..832b85c 100644 --- a/forgetest/tests/test_manifest.py +++ b/forgetest/tests/test_manifest.py @@ -611,9 +611,10 @@ def two(ctx): self.assertEqual((a2, b2), self.shas()) def test_a_shared_judge_edit_moves_every_test(self): - # runner.py, hw.py, baseline.py and puls.py are in every test's - # path with no import to follow (the Context, the baseline around - # each run), so their text joins every implementation hash. + # runner.py, hw.py and baseline.py are in every test's path with no + # import to follow (the Context, the baseline around each run), and + # puls.py comes in by a package import the walk does not follow, so + # their text joins every implementation hash. judge = os.path.join(self.tmp, "hwlike.py") def write_judge(text):