fix: declare EmuDeck's emulators as standalone

This commit is contained in:
Abdessamad Derraz committed 2026-10-18 01:19:52 +02:00
1 parent fad4fa6d7e
commit e4960dd4f8
3 files changed
+56

No files matched your search

+30
View File
@@ -35,6 +35,36 @@ cores:
- xenia
- xenianative
- yuzu
standalone_cores:
- ares
- armsx2
- azahar
- bigpemu
- cemu
- citron
- dolphin
- duckstation
- eden
- flycast
- mame
- melonds
- mgba
- model2
- mupen64plus_next
- pcsx2
- ppsspp
- primehack
- rpcs3
- ryujinx
- scummvm
- shadps4
- supermodel
- suyu
- vita3k
- xemu
- xenia
- xenianative
- yuzu
systems:
sony-playstation:
files:
+6
View File
@@ -441,6 +441,12 @@ class Scraper(BaseScraper):
"hash_type": "md5",
"verification_mode": "md5",
"cores": cores,
# Every EmuScripts installer sets up a standalone app (RetroArch's
# cores come from its own script, skipped above): Dolphin, Cemu,
# xemu, ARMSX2 and Supermodel ran with the libretro layout and
# lost their standalone-only files. A profile with no standalone
# build keeps its layout (runs_standalone).
"standalone_cores": list(cores),
"systems": systems,
}
+20
View File
@@ -3803,5 +3803,25 @@ class ATreeNobodyHoldsIsMissingNotAnAsset(unittest.TestCase):
self.assertIsNone(largefiles._fetch_asset("sub", tmp, "", "", offline=True))
class EmuDeckRunsItsEmulatorsStandalone(unittest.TestCase):
"""EmuDeck declared no standalone_cores: Dolphin, Cemu, xemu, ARMSX2 and
Supermodel, installed as apps by EmuScripts, got the libretro layout and
lost their standalone-only files."""
def test_every_emuscripts_emulator_is_standalone(self):
from scripts.common import load_platform_config, runs_standalone, load_emulator_profiles
config = load_platform_config("emudeck", str(ROOT / "platforms"))
self.assertEqual(sorted(config["standalone_cores"]), sorted(config["cores"]))
profiles = load_emulator_profiles(str(ROOT / "emulators"))
standalone = set(config["standalone_cores"])
for name in ("dolphin", "cemu", "armsx2", "supermodel"):
with self.subTest(emulator=name):
self.assertTrue(runs_standalone(name, profiles[name], standalone))
source = (ROOT / "scripts" / "scraper" / "emudeck_scraper.py").read_text()
self.assertIn('"standalone_cores": list(cores)', source)
if __name__ == "__main__":
unittest.main()