mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-10 20:13:46 -06:00
fix: one file under two spellings keeps both cores
BlastEm opens 32X_M_BIOS.bin and PicoDrive 32X_M_BIOS.BIN. On a case-insensitive platform the manifest kept the first and dropped the second core's claim, so an install narrowed to PicoDrive (RetroArch on Switch) lost the 32X BIOS its pack carries. The claim now joins the entry kept.
This commit is contained in:
1 parent
312ba968bb
commit
6a852737a8
2 files changed
+39
-5
No files matched your search
@@ -634,9 +634,15 @@ class InstallMatchesATargetManifest(unittest.TestCase):
|
||||
full = self._manifest(platform)
|
||||
built = self._manifest(platform, set(cores), target)
|
||||
files, omitted = install.narrow_to_cores(full, cores)
|
||||
# A case-insensitive platform reads one file under both
|
||||
# spellings (BlastEm's 32X_M_BIOS.bin, PicoDrive's .BIN).
|
||||
from common import load_platform_config
|
||||
|
||||
config = load_platform_config(platform, str(REPO_ROOT / "platforms"))
|
||||
fold = str.lower if config.get("case_insensitive_fs") else str
|
||||
self.assertEqual(
|
||||
{(f["dest"], f["sha1"]) for f in files},
|
||||
{(f["dest"], f["sha1"]) for f in built["files"]},
|
||||
{(fold(f["dest"]), f["sha1"]) for f in files},
|
||||
{(fold(f["dest"]), f["sha1"]) for f in built["files"]},
|
||||
)
|
||||
self.assertEqual(
|
||||
{o["dest"] for o in omitted},
|
||||
|
||||
Reference in new issue
Block a user