mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-19 01:43:25 -05:00
fix: hold data trees while packs are verified
This commit is contained in:
1 parent
fa34a9fe18
commit
df597cbe7d
2 files changed
+11
No files matched your search
@@ -2993,6 +2993,9 @@ def _main(held: contextlib.ExitStack) -> None:
|
||||
# Quick-exit modes: --verify-packs alone = verify existing packs only
|
||||
# Combined with --all-variants, generation runs first then verify
|
||||
if args.verify_packs and not args.all_variants:
|
||||
# The check resolves core files against data/ like the build did;
|
||||
# a refresh swapping a tree mid-check would judge another tree.
|
||||
hold_data_dirs(held, load_data_dir_registry(args.platforms_dir))
|
||||
with _pack_output_lock(args.output_dir, exclusive=False):
|
||||
_run_verify_packs(args)
|
||||
return
|
||||
|
||||
@@ -3615,6 +3615,14 @@ class ADataDirectoryIsHeldWhileRead(unittest.TestCase):
|
||||
refresh = pack.index("results = refresh_all(")
|
||||
self.assertIn("hold_data_dirs(held, data_registry)", pack[refresh:])
|
||||
|
||||
def test_verify_packs_alone_holds_the_trees(self):
|
||||
# --verify-packs returned before the hold and resolved core files
|
||||
# against data/ while a refresh could swap a tree.
|
||||
pack = (ROOT / "scripts" / "generate_pack.py").read_text()
|
||||
branch = pack.index("if args.verify_packs and not args.all_variants:")
|
||||
run = pack.index("_run_verify_packs(args)", branch)
|
||||
self.assertIn("hold_data_dirs(held,", pack[branch:run])
|
||||
|
||||
|
||||
class EachRootReadsItsOwnRegistry(unittest.TestCase):
|
||||
"""The release-asset registry was cached once per process whatever root
|
||||
|
||||
Reference in new issue
Block a user