import hashlib,json,unittest from pathlib import Path import generate_startup_matrix_closure_report ROOT=Path(__file__).resolve().parents[1] class StartupMatrixClosureTests(unittest.TestCase): def test_report(self): r=json.loads((ROOT/"coverage/startup-matrix-closure.report.json").read_text()); self.assertEqual(r["schema"],"startup-matrix-closure-report.v1"); self.assertEqual(r["status"],"verified"); self.assertEqual(r["counts"]["entrypoints"],233) def test_hash(self): r=json.loads((ROOT/"coverage/startup-matrix-closure.report.json").read_text()); u=dict(r); h=u.pop("report_sha256"); self.assertEqual(h,hashlib.sha256(generate_startup_matrix_closure_report.canonical(u).encode()).hexdigest())