#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-3.0-or-later from __future__ import annotations import argparse,json,unittest from pathlib import Path P=argparse.ArgumentParser();P.add_argument("--root",type=Path,required=True);ROOT=P.parse_args().root class Phase10DL(unittest.TestCase): @classmethod def setUpClass(cls):cls.data=json.loads((ROOT/"manifests/retroarch/phase-1.0dl-official-shsrv-artifact-audit.json").read_text()) def test_exact_artifact(self): a=self.data["artifact"];self.assertEqual((a["size"],a["sha256"]),(981872,"797827b50a93dbf327abdca45063d76ea24b17e561d927f397a0b73cadb2e2bd"));self.assertFalse(a["executed_on_host"] or a["sent_to_device"]) def test_rwe_blocker(self):self.assertTrue(self.data["static_elf"]["writable_executable_segment_present"]);self.assertIn("WRITABLE_EXECUTABLE_LOAD_SEGMENT",self.data["hard_blockers"]) def test_unbounded_blocker(self): e=self.data["source_effects"];self.assertTrue(e["accept_loop_is_unbounded"]);self.assertFalse(e["automatic_self_termination_deadline"]);self.assertIn("UNBOUNDED_PROCESS_LIFETIME",self.data["hard_blockers"]) def test_no_authority(self):self.assertFalse(any(self.data["authorizations"].values())) def test_rejected_and_pivoted(self): d=self.data["decision"];self.assertTrue(d["official_artifact_provenance_bound"] and d["direct_bounded_raw_elfldr_snapshot_reader_design_allowed"]);self.assertFalse(d["official_artifact_execution_eligible"] or d["official_artifact_transfer_eligible"] or d["shsrv_route_selected"] or d["device_action_allowed"]) if __name__=="__main__":unittest.main(argv=[__file__])