mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-08 02:53:46 -06:00
feat: keep platform-built cores out of all_libretro
Recalbox compiles libretro/mame at 0.258 and 0.278 itself; typed libretro, both profiles were resolved for every all_libretro platform although the buildbot RetroArch installs from has neither. A profile now names the platforms that build it (built_by), and is reached only when a platform lists it by name.
This commit is contained in:
1 parent
d9ef6ad0ad
commit
e09a37d21e
7 files changed
+53
-10
No files matched your search
@@ -1128,6 +1128,22 @@ class TestE2E(unittest.TestCase):
|
||||
result = resolve_platform_cores(config, profiles)
|
||||
self.assertEqual(result, {"fceumm", "gambatte"})
|
||||
|
||||
def test_a_build_a_platform_compiles_is_reached_by_name(self):
|
||||
"""Recalbox compiles libretro/mame at 0.258 and 0.278; the buildbot
|
||||
RetroArch installs from does not, so all_libretro must not reach
|
||||
them while a platform naming them does."""
|
||||
profiles = {
|
||||
"mame": {"type": "standalone + libretro", "systems": ["arcade"], "files": []},
|
||||
"mame0278": {"type": "libretro", "built_by": ["recalbox"],
|
||||
"cores": ["mame0278"], "systems": ["arcade"], "files": []},
|
||||
}
|
||||
everyone = {"cores": "all_libretro", "systems": {}}
|
||||
self.assertEqual(resolve_platform_cores(everyone, profiles), {"mame"})
|
||||
retroarch_plus = {"cores": ["retroarch"], "systems": {}}
|
||||
self.assertEqual(resolve_platform_cores(retroarch_plus, profiles), {"mame"})
|
||||
recalbox = {"cores": ["mame0278"], "systems": {}}
|
||||
self.assertEqual(resolve_platform_cores(recalbox, profiles), {"mame0278"})
|
||||
|
||||
def test_resolve_cores_explicit_list(self):
|
||||
"""Explicit cores list matches against profile dict keys."""
|
||||
config = {"cores": ["fbneo", "opera"], "systems": {"arcade": {"files": []}}}
|
||||
|
||||
Reference in new issue
Block a user