q63: restore the _check() failure path 3d72f9d stripped from four spark verifiers
Q63 closed the stripped-assert population atc033059(0 of 87) by converting these four files' asserts to _check(), which raises SystemExit so 'python3 -O' cannot compile the check away. Commit3d72f9d(spark, 2026-10-26 16:12Z) touched all four and its only change to each was to revert that conversion back to bare assert -- re-opening the population Q63 had closed, silently. Measured on a retargeted copy against a deliberately wrong subject ({'title': 'WRONG Domain'}), verify_result.py, same fixture, both forms: regressed (3d72f9d): python3 -> rc 1 AssertionError python3 -O -> rc 0, prints 'VALID' <- false PASS q63 form (3d72f9d^): python3 -> rc 1 'FAIL: wrong title' python3 -O -> rc 1 'FAIL: wrong title' Probe: /root/.hermes/profiles/volt/cache/scratch/q86/{regressed,q63form}.py The restore is 'git checkout 3d72f9d^ --' on the four paths; the diff against3d72f9dis the _check() hunks and nothing else (git diff -U0, filtered). q63_verify_scan.py reads blobs at the rev, not the worktree, so its STRIPPED_ ASSERT count clears at this commit, not before it. Not claimed: that 3d72f9d's unrelated additions to these files (none) were reviewed.
This commit is contained in:
1 parent
431bca1be9
commit
99eba1e1de
4 files changed
+46
-18
No files matched your search
@@ -4,23 +4,30 @@ import subprocess
|
|||||||
import json
|
import json
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def _check(cond, msg="check failed"):
|
||||||
|
"""Explicit failure path -- survives `python3 -O`, where `assert` is compiled away."""
|
||||||
|
if not cond:
|
||||||
|
raise SystemExit(f"FAIL: {msg}")
|
||||||
|
|
||||||
|
|
||||||
# Test JSON mode
|
# Test JSON mode
|
||||||
result = subprocess.run(['python3', 'dir_analyzer.py', '/etc', '--json'],
|
result = subprocess.run(['python3', 'dir_analyzer.py', '/etc', '--json'],
|
||||||
capture_output=True, text=True, cwd='/root/troupe-standup/wizard-work/spark')
|
capture_output=True, text=True, cwd='/root/troupe-standup/wizard-work/spark')
|
||||||
data = json.loads(result.stdout)
|
data = json.loads(result.stdout)
|
||||||
|
|
||||||
assert 'total_files' in data, "Missing total_files"
|
_check('total_files' in data, "Missing total_files")
|
||||||
assert 'total_size_bytes' in data, "Missing total_size_bytes"
|
_check('total_size_bytes' in data, "Missing total_size_bytes")
|
||||||
assert data['total_files'] > 0, "Should find files in /etc"
|
_check(data['total_files'] > 0, "Should find files in /etc")
|
||||||
assert data['total_size_bytes'] > 0, "Should have size > 0"
|
_check(data['total_size_bytes'] > 0, "Should have size > 0")
|
||||||
|
|
||||||
print(f"JSON mode: PASS - {data['total_files']} files, {data['total_size_bytes']} bytes")
|
print(f"JSON mode: PASS - {data['total_files']} files, {data['total_size_bytes']} bytes")
|
||||||
|
|
||||||
# Test text mode
|
# Test text mode
|
||||||
result2 = subprocess.run(['python3', 'dir_analyzer.py', '/tmp'],
|
result2 = subprocess.run(['python3', 'dir_analyzer.py', '/tmp'],
|
||||||
capture_output=True, text=True, cwd='/root/troupe-standup/wizard-work/spark')
|
capture_output=True, text=True, cwd='/root/troupe-standup/wizard-work/spark')
|
||||||
assert 'Total files:' in result2.stdout, "Should show file count"
|
_check('Total files:' in result2.stdout, "Should show file count")
|
||||||
assert 'Total size:' in result2.stdout, "Should show size"
|
_check('Total size:' in result2.stdout, "Should show size")
|
||||||
|
|
||||||
print("Text mode: PASS")
|
print("Text mode: PASS")
|
||||||
print("All verification tests passed")
|
print("All verification tests passed")
|
||||||
@@ -1,8 +1,15 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
def _check(cond, msg="check failed"):
|
||||||
|
"""Explicit failure path -- survives `python3 -O`, where `assert` is compiled away."""
|
||||||
|
if not cond:
|
||||||
|
raise SystemExit(f"FAIL: {msg}")
|
||||||
|
|
||||||
report = json.load(open('/root/.hermes/wizard-outputs/spark/validation_report.json'))
|
report = json.load(open('/root/.hermes/wizard-outputs/spark/validation_report.json'))
|
||||||
assert report['summary']['valid_count'] == 1, "Expected 1 valid file"
|
_check(report['summary']['valid_count'] == 1, "Expected 1 valid file")
|
||||||
assert report['summary']['invalid_count'] == 1, "Expected 1 invalid file"
|
_check(report['summary']['invalid_count'] == 1, "Expected 1 invalid file")
|
||||||
assert report['test_passed'] == True, "Test should be marked as passed"
|
_check(report['test_passed'] == True, "Test should be marked as passed")
|
||||||
print("All assertions passed")
|
print("All assertions passed")
|
||||||
exit(0)
|
exit(0)
|
||||||
@@ -1,7 +1,14 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
def _check(cond, msg="check failed"):
|
||||||
|
"""Explicit failure path -- survives `python3 -O`, where `assert` is compiled away."""
|
||||||
|
if not cond:
|
||||||
|
raise SystemExit(f"FAIL: {msg}")
|
||||||
|
|
||||||
with open("/root/.hermes/wizard-outputs/spark/scrape_result.json") as f:
|
with open("/root/.hermes/wizard-outputs/spark/scrape_result.json") as f:
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
assert data["title"] == "Example Domain", f"wrong title: {data['title']}"
|
_check(data["title"] == "Example Domain", f"wrong title: {data['title']}")
|
||||||
assert data["status"] == "success", f"wrong status: {data['status']}"
|
_check(data["status"] == "success", f"wrong status: {data['status']}")
|
||||||
print("VALID")
|
print("VALID")
|
||||||
@@ -3,19 +3,26 @@
|
|||||||
import json
|
import json
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def _check(cond, msg="check failed"):
|
||||||
|
"""Explicit failure path -- survives `python3 -O`, where `assert` is compiled away."""
|
||||||
|
if not cond:
|
||||||
|
raise SystemExit(f"FAIL: {msg}")
|
||||||
|
|
||||||
|
|
||||||
with open("/root/.hermes/wizard-outputs/spark/scratch_analysis.json") as f:
|
with open("/root/.hermes/wizard-outputs/spark/scratch_analysis.json") as f:
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
|
|
||||||
# Verify required fields
|
# Verify required fields
|
||||||
assert "total_files" in data, "Missing total_files"
|
_check("total_files" in data, "Missing total_files")
|
||||||
assert "total_bytes" in data, "Missing total_bytes"
|
_check("total_bytes" in data, "Missing total_bytes")
|
||||||
assert "file_types" in data, "Missing file_types"
|
_check("file_types" in data, "Missing file_types")
|
||||||
assert "files" in data, "Missing files array"
|
_check("files" in data, "Missing files array")
|
||||||
|
|
||||||
# Verify counts match
|
# Verify counts match
|
||||||
assert data["total_files"] == len(data["files"]), "File count mismatch"
|
_check(data["total_files"] == len(data["files"]), "File count mismatch")
|
||||||
assert data["total_files"] == 165, f"Expected 165 files, got {data['total_files']}"
|
_check(data["total_files"] == 165, f"Expected 165 files, got {data['total_files']}")
|
||||||
assert 230000 <= data["total_bytes"] <= 250000, f"Total bytes out of range: {data['total_bytes']}"
|
_check(230000 <= data["total_bytes"] <= 250000, f"Total bytes out of range: {data['total_bytes']}")
|
||||||
|
|
||||||
print("VERIFICATION PASSED")
|
print("VERIFICATION PASSED")
|
||||||
print(f"Total files: {data['total_files']}")
|
print(f"Total files: {data['total_files']}")
|
||||||
|
|||||||
Reference in new issue
Block a user