mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-23 20:29:06 -05:00
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:
1 parent
7b9c8ae663
commit
5d5c431cce
2 files changed
+21
No files matched your search
Binary file not shown.
@@ -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()
|
||||
Reference in new issue
Block a user