Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion scripts/verify_pr_reconciliation.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ def check_batch932_file(item):
Also authenticate the exact PR53 replay adapter and its test from c58c1778;
this extension retains the earlier assertion guard and every module.
Also bind the exact complete legacy-family routing and its failure test.
The da400586 runner retains Nick Petalas's 9158ee6d private caches,
Tekalign's 54bbb81c optional deadlines and Douglas Colkitt's descendant
cache propagation. Admit only that complete successor, preserving receipts.
"""
name = item['integrated_path']
digest = hashlib.sha256((ROOT / name).read_bytes()).hexdigest()
Expand All @@ -85,7 +88,8 @@ def check_batch932_file(item):
'96ea543e6c707424afe247e77bd86c82152f90fc76a0773c4232145da5cdf8d1',
('b1c645e815a6abfbfdc2d77c4121c543ed0ca958095e97e1181d64e84cac0ed8',
'05839996482058359b2ab8087d7d96e76934bd03d79981df9b99447e8ed09331',
'fdc022f70e42a9b5a2be8c6c3645cfdc211c6dffdffac68904b2945b1cdc3e5a', 'f569b1c287252c698b4d59bc1bd0f013159e772cc3be64e26c4eab8eb99d0478', '6f353dae3f922d78f62bedddcb50cfe2b500b4195a888cec5ffac2367b1a4f88', '2bcc91541d4c328e9ca329aa02516836dc55fe326299ad6ecee6439f5806f6aa', '8f9298eb83184a447ee2dda64a42dfc5a56df08e4affae56f99974cad632713a')),
'fdc022f70e42a9b5a2be8c6c3645cfdc211c6dffdffac68904b2945b1cdc3e5a', 'f569b1c287252c698b4d59bc1bd0f013159e772cc3be64e26c4eab8eb99d0478', '6f353dae3f922d78f62bedddcb50cfe2b500b4195a888cec5ffac2367b1a4f88', '2bcc91541d4c328e9ca329aa02516836dc55fe326299ad6ecee6439f5806f6aa', '8f9298eb83184a447ee2dda64a42dfc5a56df08e4affae56f99974cad632713a',
'ef5035e6216d39569da670f32b2717c870b23c418016fd134cc0a72649fb912a')),
'tests/test_isolated_test_runner.py': (
'628391b6abfbc8674ceec1751867a4392f2cc0b5b66886243e139af86cf355ac',
('8262f36202e426b849a925123ff789843115d5e564962710c31ab14f84c88067',
Expand Down
18 changes: 18 additions & 0 deletions tests/test_pr_reconciliation.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,24 @@ def read(path):
with patch.object(Path, 'read_bytes', read), self.assertRaises(ValueError):
checker.check_batch932_file(item)

def test_current_successor_cache_and_timeout_edits_fail(self):
item = next(item for item in self.items if item['integrated_path'].startswith('scripts/'))
current = (ROOT / item['integrated_path']).read_bytes()
mutations = [
current.replace(b'cwd=cwd, env=module_env, start_new_session=True',
b'cwd=cwd, env=env, start_new_session=True'),
current.replace(b'if deadline is not None and time.monotonic() >= deadline:',
b'if False:'),
]
original_read = Path.read_bytes
for mutated in mutations:
self.assertNotEqual(current, mutated)
def read(path):
return mutated if path == ROOT / item['integrated_path'] else original_read(path)
with patch.object(Path, 'read_bytes', read), self.assertRaisesRegex(
ValueError, 'Changed integrated file: scripts/run_isolated_tests.py'):
checker.check_batch932_file(item)

def test_forged_predecessor_and_cross_file_successor_fail(self):
for item in self.items:
item['integrated_sha256'] = '0' * 64
Expand Down