mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
fix: name every reader of a held file out of reach
A release asset absent from the checkout is omitted from the install list. That omission named only the first core reading it: harm1.wad, action2.wad and delaweare.wad named gzdoom, so install.py --target rpi1, where lzdoom runs, kept nothing the builder's list for rpi1 omits. The omission now names the cores of the claims folded onto the entry too.
This commit is contained in:
1 parent
27c33b966e
commit
7b141e7a54
2 files changed
+22
-6
No files matched your search
@@ -4515,11 +4515,7 @@ def _manifest_core_entries(
|
||||
):
|
||||
systems = _extra_system_ids(fe)
|
||||
record_omission(
|
||||
full_dest,
|
||||
fe,
|
||||
systems[0] if systems else "",
|
||||
status,
|
||||
[source_emu] if source_emu else [],
|
||||
full_dest, fe, systems[0] if systems else "", status, _claim_cores(fe),
|
||||
)
|
||||
continue
|
||||
|
||||
@@ -4554,7 +4550,7 @@ def _manifest_core_entries(
|
||||
systems = _extra_system_ids(fe)
|
||||
record_omission(
|
||||
full_dest, fe, systems[0] if systems else "", "not_found",
|
||||
[source_emu] if source_emu else [],
|
||||
_claim_cores(fe),
|
||||
)
|
||||
if file_size:
|
||||
pack_only_sizes.append(file_size)
|
||||
@@ -4668,6 +4664,17 @@ def _manifest_selection(
|
||||
), held
|
||||
|
||||
|
||||
def _claim_cores(fe: dict) -> list[str]:
|
||||
"""The cores an extra and the claims folded onto it name: an omission
|
||||
names every core reading the file, as a list built for one of them
|
||||
would."""
|
||||
names = {
|
||||
claim.get("source_profile") or claim.get("source_emulator", "")
|
||||
for claim in (fe, *fe.get("other_claims", []))
|
||||
}
|
||||
return sorted(name for name in names if name)
|
||||
|
||||
|
||||
def _record_absent(
|
||||
absent: list[dict],
|
||||
config: dict,
|
||||
|
||||
@@ -7824,6 +7824,15 @@ class EveryReaderOfACoreFileIsNamed(unittest.TestCase):
|
||||
{"profile": "drastic-legacy", "bundled": True}]}
|
||||
self.assertEqual(_split_bundled_claims([alone]), [alone])
|
||||
|
||||
def test_a_held_file_out_of_reach_names_every_core_reading_it(self):
|
||||
"""harm1.wad is a release asset: a checkout without it omits the file,
|
||||
and the omission named gzdoom alone where lzdoom reads it too."""
|
||||
from generate_pack import _claim_cores
|
||||
|
||||
extra = {"source_profile": "gzdoom", "other_claims": [
|
||||
{"source_profile": "uzdoom"}, {"source_profile": "lzdoom"}]}
|
||||
self.assertEqual(_claim_cores(extra), ["gzdoom", "lzdoom", "uzdoom"])
|
||||
|
||||
def test_a_missing_file_names_every_core_reading_it(self):
|
||||
from generate_pack import _record_absent
|
||||
|
||||
|
||||
Reference in new issue
Block a user