From 943add6df0f55262a78eb0be5a6bc449b1e13e69 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 20:33:37 +0100 Subject: [PATCH] fix: align tests with the new help and messages The --skip-packs help and the validate_pr fetch error were reworded, and a batocera page with no tab bar is plain Markdown that keeps the underscore entity, read here as a browser shows it. --- scripts/validate_pr.py | 2 +- tests/test_audit_regressions.py | 3 ++- tests/test_refresh_failures.py | 2 +- tests/test_site_reference.py | 6 +++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/validate_pr.py b/scripts/validate_pr.py index f44aff8b4..cbc6fa1bd 100644 --- a/scripts/validate_pr.py +++ b/scripts/validate_pr.py @@ -632,7 +632,7 @@ def _project_main_line() -> str | None: if fetched.returncode != 0: raise RuntimeError( f"this clone does not hold the main of {PROJECT_URLS[0]}, and " - f"fetching it from {source} failed: {fetched.stderr.strip()}" + f"fetching its main from {source} failed: {fetched.stderr.strip()}" ) return "FETCH_HEAD" diff --git a/tests/test_audit_regressions.py b/tests/test_audit_regressions.py index e6f95068d..446bfe900 100644 --- a/tests/test_audit_regressions.py +++ b/tests/test_audit_regressions.py @@ -6660,7 +6660,8 @@ class SkipPacksHelpSaysWhatRuns(unittest.TestCase): ) text = " ".join(proc.stdout.split()) self.assertNotIn("Only regenerate DB and verify", text) - self.assertIn("Steps 7 and 8 still rewrite README.md and the site pages in website/", text) + self.assertIn("step 4e still rewrites install/games/, and steps 7 to 8b rewrite README.md " + "and the site unless --skip-docs is given", text) self.assertNotIn("docs/", text) def test_every_step_it_names_is_one_it_skips(self): diff --git a/tests/test_refresh_failures.py b/tests/test_refresh_failures.py index 2225ccfe5..11e2bfc27 100644 --- a/tests/test_refresh_failures.py +++ b/tests/test_refresh_failures.py @@ -130,7 +130,7 @@ class AForkPushedToItsOwnMain(unittest.TestCase): # A project that cannot be reached is an error, never "nothing". missing = self._changed(clone, str(Path(tmp, "absent"))) self.assertNotEqual(missing.returncode, 0) - self.assertIn("fetching its main failed", missing.stderr) + self.assertIn("fetching its main from", missing.stderr) class RefreshFailuresAreFailures(unittest.TestCase): diff --git a/tests/test_site_reference.py b/tests/test_site_reference.py index de6080114..5375a7972 100644 --- a/tests/test_site_reference.py +++ b/tests/test_site_reference.py @@ -422,7 +422,11 @@ class BuiltBatoceraPage(unittest.TestCase): # PlayStation's list is long enough to sit on a page of its own. pages = [main] + [p.read_text(encoding="utf-8") for p in (DIST / "platforms").glob("batocera-sony-playstation*/index.html")] - html = "".join(pages) + # Read as a browser shows it: a page with no tab bar is plain + # Markdown, which keeps the entity a name's underscore is written as. + import html as _html + + html = _html.unescape("".join(pages)) for text in ("Served by:", "scph1001_v20.bin", "https://github.com/stenzek/duckstation/blob/"): with self.subTest(text=text): self.assertTrue(text in html)