mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 18:59:07 -05:00
fix: fold case in pack checks only where it folds
This commit is contained in:
1 parent
953e943d2d
commit
5fccd662bd
2 files changed
+23
-1
No files matched your search
@@ -602,7 +602,14 @@ def verify_pack_against_platform(
|
||||
|
||||
with zipfile.ZipFile(zip_path, "r") as zf:
|
||||
zip_set = set(zf.namelist())
|
||||
zip_lower = {n.lower(): n for n in zip_set}
|
||||
# A case twin stands in for the file only where the platform's
|
||||
# filesystem folds case, as the builder decides: on Lakka bios.col
|
||||
# and BIOS.col are two files two cores open, and either one missing
|
||||
# was counted present through the other.
|
||||
zip_lower = (
|
||||
{n.lower(): n for n in zip_set}
|
||||
if config.get("case_insensitive_fs", False) else {}
|
||||
)
|
||||
|
||||
# Auto-detect flat vs nested ZIP
|
||||
is_flat = bool(base_dest) and not any(
|
||||
|
||||
@@ -61,6 +61,21 @@ class OneRule(unittest.TestCase):
|
||||
)
|
||||
|
||||
|
||||
class TheIntegrityCheckFoldsCaseLikeTheBuilder(unittest.TestCase):
|
||||
"""--verify-packs counted a file present through its case twin on Lakka,
|
||||
whose filesystem keeps bios.col and BIOS.col apart: a pack missing one
|
||||
of the two passed step 6."""
|
||||
|
||||
def test_case_folding_reads_the_platform(self):
|
||||
source = (REPO_ROOT / "scripts" / "packverify.py").read_text(encoding="utf-8")
|
||||
compact = " ".join(source.split())
|
||||
self.assertRegex(
|
||||
compact,
|
||||
r"zip_lower = \( \{n\.lower\(\): n for n in zip_set\} "
|
||||
r"if config\.get\(\"case_insensitive_fs\", False\) else \{\} \)",
|
||||
)
|
||||
|
||||
|
||||
class TheReportSaysSo(unittest.TestCase):
|
||||
"""Reads the repository: skips when the database is absent."""
|
||||
|
||||
|
||||
Reference in new issue
Block a user