feat: find a RetroArch installed with Scoop

scoop install retroarch puts retroarch.exe under ~\scoop\apps\retroarch\current, its system folder persisted through a junction. The Windows search covered the installers' folders, Program Files, Steam, ES-DE and the Store package only, so the run offered C:\RetroArch-Win64\system, a folder that RetroArch never opens. The user and global Scoop roots are searched now, %SCOOP% and %SCOOP_GLOBAL% included.
This commit is contained in:
Abdessamad Derraz committed 2026-10-20 03:22:56 +02:00
1 parent 33091dabaf
commit dbf0647974
4 files changed
+31 -4

No files matched your search

+11
View File
@@ -1133,6 +1133,17 @@ class RetroArchIsFoundWhereWindowsInstallsPutIt(unittest.TestCase):
found = self._exe(program_files / "RetroArch-Win64")
self.assertIn(found, install._windows_retroarch_dirs())
def test_a_scoop_install(self):
# `scoop install retroarch` puts it under ~/scoop/apps/retroarch/current,
# which none of the searched folders covered.
program_files = Path(_tempdir(self))
self._env(program_files)
home = Path(_tempdir(self))
found = self._exe(home / "scoop" / "apps" / "retroarch" / "current")
with unittest.mock.patch.dict(os.environ, {"USERPROFILE": str(home)}):
os.environ.pop("SCOOP", None)
self.assertIn(found, install._windows_retroarch_dirs())
def test_a_steam_library_on_another_drive(self):
program_files = Path(_tempdir(self))
library = Path(_tempdir(self))