From 0d60cc19c99800d27f382f6987e2161b2792bbdb Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 11:54:22 +0100 Subject: [PATCH] docs: quote the current verify report --- tests/test_doc_pages.py | 24 ++++++++++++++++++++++++ wiki/reading-reports.md | 8 ++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/tests/test_doc_pages.py b/tests/test_doc_pages.py index 3a246ec4a..96cfaa836 100644 --- a/tests/test_doc_pages.py +++ b/tests/test_doc_pages.py @@ -1711,5 +1711,29 @@ class ReadmeKeepsItsPointers(unittest.TestCase): self.assertIn("--required-only", block) +class ReportExcerptIsTheRun(unittest.TestCase): + """reading-reports.md quoted 'From python scripts/verify.py --platform + retrodeck' a run that said 0 required missing after the command had started + naming one, and never showed the line that names it.""" + + def test_every_quoted_line_is_printed(self): + import subprocess # noqa: PLC0415 + + page = (WIKI / "reading-reports.md").read_text(encoding="utf-8") + intro = "From `python scripts/verify.py --platform retrodeck`:" + start = page.index("```\n", page.index(intro)) + 4 + quoted = page[start:page.index("```", start)].splitlines() + run = subprocess.run( + [sys.executable, str(ROOT / "scripts" / "verify.py"), "--platform", "retrodeck"], + capture_output=True, text=True, cwd=ROOT, check=False, + ) + printed = run.stdout.splitlines() + if not any(line.startswith("RetroDECK:") for line in printed): + self.skipTest(f"verify did not run: {run.stderr[-200:]}") + for line in quoted: + with self.subTest(line=line): + self.assertIn(line, printed) + + if __name__ == "__main__": unittest.main() diff --git a/wiki/reading-reports.md b/wiki/reading-reports.md index 159fef7b7..4847f7215 100644 --- a/wiki/reading-reports.md +++ b/wiki/reading-reports.md @@ -107,9 +107,11 @@ RetroDECK: 2007/2008 OK, 1 untested [md5] UNTESTED (required): nintendo-ds/dsifirmware.bin: declared hash contradicted by the local file DISCREPANCY: nintendo-snes/sgb2.boot.rom: RetroDECK says OK but supersnes9x says size mismatch: got 524288, accepted [256] supersnes9x [size] - Core files: 1795 in pack, 0 required missing, 27 optional missing (--verbose lists them) + Core files: 1795 in pack, 1 required missing, 27 optional missing (--verbose lists them) Core files held but not packed: 154 (installed with its emulator) + MISSING (required): FinalBurn Neo needs sfiii2a.zip (1 file) Game data: 5099 in pack, 38 missing (--verbose lists them) + Game data held but not packed: 30 (installed with its emulator) No external files: 78 cores (--verbose lists them) Ground truth: 96/2008 files have emulator validation (5%) 439 platform-only (no emulator profile) @@ -117,7 +119,9 @@ RetroDECK: 2007/2008 OK, 1 untested [md5] The run prints more `DISCREPANCY` lines than this excerpt shows. The core and game data lines count what the emulator cores add beyond the platform's -own list. A file held but not packed is left out for the reason in parentheses. +own list. A required core file the collection lacks is named under them, with +the emulator that needs it. A file held but not packed is left out for the +reason in parentheses. `--verbose` also lists the passing entries that an emulator validates, with the check and the source lines behind it: