fix: store each s8k_cpu.zip member once

ROM_START(s8k_cpu) in src/devices/bus/zbi/s8k_cpu.cpp (mamedev f34f0250) names cpu_34-0715-03a.u76, cpu_34-0717-03a.u75 and cpu_34-0718-03a.u77 under two system BIOSes with the same CRC. The archive held them twice. Rebuilt with build_torrentzip from the 13 distinct members, each checked against the mame0289 recipe sha1.
This commit is contained in:
Abdessamad Derraz committed 2026-10-21 10:02:12 +02:00
1 parent 7b9c8ae663
commit 5d5c431cce
2 files changed
+21

No files matched your search

Binary file not shown.
+21
View File
@@ -6296,5 +6296,26 @@ class ATargetTypoIsAnErrorInEveryTool(unittest.TestCase):
self.assertIn("verify.py --platform retroarch --list-targets", output)
class NoArchiveRepeatsAMemberName(unittest.TestCase):
"""s8k_cpu.zip held three member names twice (MAME reuses them across
two ROM_SYSTEM_BIOS of one device). Every pack build printed raw zipfile
warnings and Info-ZIP stops on an interactive replace? at extraction."""
def test_member_names_are_unique(self):
archives = sorted((ROOT / "bios").rglob("*.zip"))
if not archives:
self.skipTest("no archive under bios/")
repeated = []
for path in archives:
try:
with zipfile.ZipFile(path) as zf:
names = zf.namelist()
except (zipfile.BadZipFile, OSError):
continue
if len(names) != len(set(names)):
repeated.append(str(path.relative_to(ROOT)))
self.assertEqual(repeated, [])
if __name__ == "__main__":
unittest.main()