diff --git a/scripts/generate_pack.py b/scripts/generate_pack.py index 67f0aa5b..78b56cb2 100644 --- a/scripts/generate_pack.py +++ b/scripts/generate_pack.py @@ -2418,18 +2418,20 @@ def _run_verify_packs(args): data_registry=verify_data_registry, target_cores=tc, ) - ok, errors = result[0], result[3] - bl_checked, bl_present = result[4], result[5] - core_checked, core_present = result[6], result[7] + (ok, _checked, _present, errors, bl_checked, bl_present, + core_checked, core_present, bl_excluded) = result + # The unsafe exclusions explain a baseline short of its total: a + # dump whose hash the frontend refuses is left out on purpose. + excluded = f" ({bl_excluded} unsafe excluded)" if bl_excluded else "" counts = ( - f"{bl_present}/{bl_checked} baseline, " + f"{bl_present}/{bl_checked} baseline{excluded}, " f"{core_present}/{core_checked} cores" ) if ok: print(f" {platform_name} [{pack_name}]: OK ({counts})") else: print(f" {platform_name} [{pack_name}]: FAIL ({counts}, {len(errors)} errors)") - for err in errors[:5]: + for err in errors: print(f" {err}") all_ok = False diff --git a/tests/test_audit_regressions.py b/tests/test_audit_regressions.py index 7fcb1a9f..8ab4d96f 100644 --- a/tests/test_audit_regressions.py +++ b/tests/test_audit_regressions.py @@ -3529,5 +3529,20 @@ class TheTestJobHasTheDataTrees(unittest.TestCase): self.assertLess(fetch, suite) + +class VerifyPacksSaysWhatItExcluded(unittest.TestCase): + """--verify-packs read the result tuple by position, dropped the unsafe + exclusions (352/353 shown as OK with no reason) and printed 5 errors.""" + + def test_the_result_is_unpacked_whole_and_every_error_printed(self): + source = (ROOT / "scripts" / "generate_pack.py").read_text() + body = source[source.index("def _run_verify_packs"):] + body = body[:body.index("\ndef ")] + self.assertIn("bl_excluded) = result", body) + self.assertIn("unsafe excluded", body) + self.assertNotIn("errors[:5]", body) + self.assertNotRegex(body, r"result\[\d\]") + + if __name__ == "__main__": unittest.main()