From 0cfaf06735afaaae69a0de86444440eaa1135b26 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Sat, 17 Oct 2026 15:10:40 +0200 Subject: [PATCH] fix: show where each platform file goes --- scripts/generate_site.py | 6 +++++- tests/test_site_exports.py | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index c1e3dc64..93b8e63b 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -1401,7 +1401,11 @@ def _render_platform_systems( if size_str: details.append(size_str) - lines.append(f"{pad}- `{fname}` - {', '.join(details)}") + # Where the file goes, when its name alone does not say: three + # GameCube IPL.bin differ only by GC/USA, GC/EUR and GC/JAP. + destination = str(cfg_entry.get("destination") or "") + where = f" at `{destination}`" if destination and destination != fname else "" + lines.append(f"{pad}- `{fname}`{where} - {', '.join(details)}") # Show full hashes on a sub-line (useful for copy-paste) if sha1 or md5: hash_parts = [] diff --git a/tests/test_site_exports.py b/tests/test_site_exports.py index c89c6250..968f0550 100644 --- a/tests/test_site_exports.py +++ b/tests/test_site_exports.py @@ -312,5 +312,23 @@ class AnEmulatorPageNamesItsRevision(unittest.TestCase): page, ) + +class APlatformPageSaysWhereEachFileGoes(unittest.TestCase): + """Three GameCube IPL.bin were listed by name alone: nothing told which + goes to GC/USA, GC/EUR or GC/JAP.""" + + def test_same_named_files_show_their_destinations(self): + import generate_site # noqa: PLC0415 + + regions = ("USA", "EUR", "JAP") + declared = [{"name": "IPL.bin", "destination": f"dolphin-emu/Sys/GC/{r}/IPL.bin", + "sha1": str(i) * 40} for i, r in enumerate(regions)] + files = [{"name": "IPL.bin", "status": "ok"} for _ in regions] + lines = generate_site._render_platform_systems( + {"nintendo-gamecube": files}, {("nintendo-gamecube", "IPL.bin"): declared}, {}) + for region in regions: + self.assertIn(f"- `IPL.bin` at `dolphin-emu/Sys/GC/{region}/IPL.bin` - OK", + "\n".join(lines)) + if __name__ == "__main__": unittest.main()