test: tighten historical-pin checks per review of 941eb28b
- test_refined_dfg::test_source_pin runs its mismatch negative controls first (now including window mode) so missing history cannot skip them. - test_re100: renamed to test_manifest_matches_its_pinned_commit, plus an explicit record that today's src differs from the pin. - Structural manifest checks run before any history-dependent check. - Real tamper test: a flipped digest raises via verify_manifest, and a path absent at the commit raises ValueError. - A blobless clone (tree present, blob missing) is reported as unavailable history, not as a missing path. - All history skips go through history_unavailable(): fatal when CELERIS_REQUIRE_HISTORY=1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f02355a2b7
commit
8064834c37
6 files changed
+72
-37
No files matched your search
@@ -28,18 +28,17 @@ def test_source_pin():
|
||||
mrt_history = historical_manifest("MRT")
|
||||
assert mrt_history["commit"].startswith("3ea131e")
|
||||
assert historical_manifest("MRT", "window")["commit"].startswith("a233c90")
|
||||
from source_provenance import HistoryUnavailable, historical_sha256
|
||||
# Negative controls first, so missing history can never hide them: every pinned
|
||||
# mode refuses a working tree that differs from its pin.
|
||||
for collision, mode in (("MRT", "last_base_step"), ("SRT", "last_base_step"), ("MRT", "window")):
|
||||
with unittest.TestCase().assertRaisesRegex(RuntimeError, "Source mismatch"):
|
||||
r.verify_source(r.DEFAULT_SOURCE, collision, mode)
|
||||
from source_provenance import HistoryUnavailable, history_unavailable, verify_manifest
|
||||
for manifest in (historical, mrt_history, historical_manifest("MRT", "window")):
|
||||
try: # historical integrity: each manifest matches the tree of its own commit
|
||||
actual = historical_sha256(r.DEFAULT_SOURCE, manifest["commit"], manifest["sha256"])
|
||||
verify_manifest(r.DEFAULT_SOURCE, manifest["commit"], manifest["sha256"])
|
||||
except HistoryUnavailable as error:
|
||||
unittest.TestCase().skipTest(f"historical integrity NOT checked: {error}")
|
||||
assert actual == manifest["sha256"], manifest["commit"]
|
||||
# Negative controls: the pinned modes refuse a working tree that differs from their pin.
|
||||
with unittest.TestCase().assertRaisesRegex(RuntimeError, "Source mismatch"):
|
||||
r.verify_source(r.DEFAULT_SOURCE, "MRT")
|
||||
with unittest.TestCase().assertRaisesRegex(RuntimeError, "Source mismatch"):
|
||||
r.verify_source(r.DEFAULT_SOURCE, "SRT")
|
||||
history_unavailable(unittest.TestCase(), error)
|
||||
|
||||
|
||||
def test_matched_units_and_planes():
|
||||
|
||||
Reference in new issue
Block a user