Yashp2003/repro-hector-artifacts / scripts /run_all_verifications.py
Yashp2003's picture
download
raw
2.08 kB
#!/usr/bin/env python3
"""Run all HECTOR verification scripts and collect results."""
import subprocess
import json
import sys
import os
SCRIPTS = [
("verify_claim_1_hybrid_conditioning.py", "Claim 1: Hybrid reference conditioning"),
("verify_claim_2_video_decompositor.py", "Claim 2: Video Decompositor"),
("verify_claim_3_stam.py", "Claim 3: STAM"),
("verify_claim_4_scale_conditioning.py", "Claim 4: Scale conditioning"),
("verify_claim_5_baselines.py", "Claim 5: Baseline comparison"),
]
def main():
results = {}
all_pass = True
for script, name in SCRIPTS:
script_path = os.path.join(os.path.dirname(__file__), script)
print(f"\n{'='*60}")
print(f"Running {name}...")
print(f"{'='*60}")
result = subprocess.run(
["python3", script_path],
capture_output=True, text=True
)
if result.returncode == 0:
print(f"✓ {name}: PASSED")
else:
print(f"✗ {name}: FAILED (code {result.returncode})")
all_pass = False
if result.stdout:
try:
parsed = json.loads(result.stdout)
results[script] = parsed
print(f" Status: {parsed.get('status', 'unknown')}")
for detail in parsed.get('details', [])[:3]:
print(f" - {detail}")
except json.JSONDecodeError:
print(f" Output: {result.stdout[:200]}")
if result.stderr:
print(f" Stderr: {result.stderr[:200]}")
# Summary
print(f"\n{'='*60}")
print("VERIFICATION SUMMARY")
print(f"{'='*60}")
for script, name in SCRIPTS:
if script in results:
status = results[script].get('status', 'UNKNOWN')
print(f" {name}: {status}")
else:
print(f" {name}: FAILED")
print(f"\nOverall: {'ALL PASSED' if all_pass else 'SOME FAILED'}")
return 0 if all_pass else 1
if __name__ == "__main__":
sys.exit(main())

Xet Storage Details

Size:
2.08 kB
·
Xet hash:
a5f928242648a38180eec9be01c5e2a48a57837675411ccc3dc9bda81ebbe512

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.