mirror of
https://github.com/tcsenpai/UWINE.git
synced 2025-06-06 19:45:20 +00:00
Add ULWGL_ID to dict
- Also, update the test to check for expected environment variables in the dictionary. Notably, when a valid ULWGL_ID is set, the STEAM_COMPAT_ID and related env var should be the stripped ULWGL_ID.
This commit is contained in:
parent
d5772c0eb3
commit
14b323e3dc
@ -287,6 +287,7 @@ def main() -> None: # noqa: D103
|
|||||||
"STEAM_RUNTIME_LIBRARY_PATH": "",
|
"STEAM_RUNTIME_LIBRARY_PATH": "",
|
||||||
"STORE": "",
|
"STORE": "",
|
||||||
"PROTON_VERB": "",
|
"PROTON_VERB": "",
|
||||||
|
"ULWGL_ID": "",
|
||||||
}
|
}
|
||||||
command: List[str] = []
|
command: List[str] = []
|
||||||
args: Union[Namespace, Tuple[str, List[str]]] = parse_args()
|
args: Union[Namespace, Tuple[str, List[str]]] = parse_args()
|
||||||
|
135
ulwgl_test.py
135
ulwgl_test.py
@ -680,10 +680,105 @@ class TestGameLauncher(unittest.TestCase):
|
|||||||
"Expected PROTON_VERB to be set",
|
"Expected PROTON_VERB to be set",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_set_env_id(self):
|
||||||
|
"""Test set_env.
|
||||||
|
|
||||||
|
Verify that environment variables (dictionary) are set after calling set_env when passing a valid ULWGL_ID
|
||||||
|
When a valid ULWGL_ID is set, the STEAM_COMPAT_APP_ID variables should be the stripped ULWGL_ID
|
||||||
|
"""
|
||||||
|
result = None
|
||||||
|
test_str = "foo"
|
||||||
|
ulwgl_id = "ulwgl-271590"
|
||||||
|
|
||||||
|
# Replicate the usage WINEPREFIX= PROTONPATH= GAMEID= STORE= PROTON_VERB= ulwgl_run foo.exe
|
||||||
|
with patch("sys.argv", ["", self.test_exe]):
|
||||||
|
os.environ["WINEPREFIX"] = self.test_file
|
||||||
|
os.environ["PROTONPATH"] = self.test_file
|
||||||
|
os.environ["GAMEID"] = ulwgl_id
|
||||||
|
os.environ["STORE"] = test_str
|
||||||
|
os.environ["PROTON_VERB"] = self.test_verb
|
||||||
|
# Args
|
||||||
|
result = ulwgl_run.parse_args()
|
||||||
|
self.assertIsInstance(result, tuple, "Expected a tuple")
|
||||||
|
self.assertIsInstance(result[0], str, "Expected a string")
|
||||||
|
self.assertIsInstance(result[1], list, "Expected a list as options")
|
||||||
|
self.assertEqual(
|
||||||
|
result[0], "./tmp.WMYQiPb9A/foo", "Expected EXE to be unexpanded"
|
||||||
|
)
|
||||||
|
self.assertFalse(
|
||||||
|
result[1], "Expected an empty list when passing no options"
|
||||||
|
)
|
||||||
|
# Check
|
||||||
|
ulwgl_run.check_env(self.env)
|
||||||
|
# Prefix
|
||||||
|
ulwgl_run.setup_pfx(self.env["WINEPREFIX"])
|
||||||
|
# Env
|
||||||
|
result = ulwgl_run.set_env(self.env, result[0:])
|
||||||
|
self.assertTrue(result is self.env, "Expected the same reference")
|
||||||
|
|
||||||
|
path_exe = Path(self.test_exe).expanduser().as_posix()
|
||||||
|
path_file = Path(self.test_file).expanduser().as_posix()
|
||||||
|
|
||||||
|
# After calling set_env all paths should be expanded POSIX form
|
||||||
|
self.assertEqual(self.env["EXE"], path_exe, "Expected EXE to be expanded")
|
||||||
|
self.assertEqual(self.env["STORE"], test_str, "Expected STORE to be set")
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["PROTONPATH"], path_file, "Expected PROTONPATH to be set"
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["WINEPREFIX"], path_file, "Expected WINEPREFIX to be set"
|
||||||
|
)
|
||||||
|
self.assertEqual(self.env["GAMEID"], ulwgl_id, "Expected GAMEID to be set")
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["PROTON_VERB"],
|
||||||
|
self.test_verb,
|
||||||
|
"Expected PROTON_VERB to be set",
|
||||||
|
)
|
||||||
|
# ULWGL
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["ULWGL_ID"],
|
||||||
|
self.env["GAMEID"],
|
||||||
|
"Expected ULWGL_ID to be GAMEID",
|
||||||
|
)
|
||||||
|
self.assertEqual(self.env["ULWGL_ID"], ulwgl_id, "Expected ULWGL_ID")
|
||||||
|
# Should be stripped -- everything after the hyphen
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["STEAM_COMPAT_APP_ID"],
|
||||||
|
ulwgl_id[ulwgl_id.find("-") + 1 :],
|
||||||
|
"Expected STEAM_COMPAT_APP_ID to be the stripped ULWGL_ID",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["SteamAppId"],
|
||||||
|
self.env["STEAM_COMPAT_APP_ID"],
|
||||||
|
"Expected SteamAppId to be STEAM_COMPAT_APP_ID",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["SteamGameId"],
|
||||||
|
self.env["SteamAppId"],
|
||||||
|
"Expected SteamGameId to be STEAM_COMPAT_APP_ID",
|
||||||
|
)
|
||||||
|
|
||||||
|
# PATHS
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["STEAM_COMPAT_SHADER_PATH"],
|
||||||
|
self.env["STEAM_COMPAT_DATA_PATH"] + "/shadercache",
|
||||||
|
"Expected STEAM_COMPAT_SHADER_PATH to be set",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["STEAM_COMPAT_TOOL_PATHS"],
|
||||||
|
self.env["PROTONPATH"] + ":" + Path(__file__).parent.as_posix(),
|
||||||
|
"Expected STEAM_COMPAT_TOOL_PATHS to be set",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["STEAM_COMPAT_MOUNTS"],
|
||||||
|
self.env["STEAM_COMPAT_TOOL_PATHS"],
|
||||||
|
"Expected STEAM_COMPAT_MOUNTS to be set",
|
||||||
|
)
|
||||||
|
|
||||||
def test_set_env(self):
|
def test_set_env(self):
|
||||||
"""Test set_env.
|
"""Test set_env.
|
||||||
|
|
||||||
Ensure no failures and verify that $EXE
|
Verify that environment variables (dictionary) are set after calling set_env
|
||||||
"""
|
"""
|
||||||
result = None
|
result = None
|
||||||
test_str = "foo"
|
test_str = "foo"
|
||||||
@ -732,6 +827,44 @@ class TestGameLauncher(unittest.TestCase):
|
|||||||
self.test_verb,
|
self.test_verb,
|
||||||
"Expected PROTON_VERB to be set",
|
"Expected PROTON_VERB to be set",
|
||||||
)
|
)
|
||||||
|
# ULWGL
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["ULWGL_ID"],
|
||||||
|
self.env["GAMEID"],
|
||||||
|
"Expected ULWGL_ID to be GAMEID",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["STEAM_COMPAT_APP_ID"],
|
||||||
|
"0",
|
||||||
|
"Expected STEAM_COMPAT_APP_ID to be 0",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["SteamAppId"],
|
||||||
|
self.env["STEAM_COMPAT_APP_ID"],
|
||||||
|
"Expected SteamAppId to be STEAM_COMPAT_APP_ID",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["SteamGameId"],
|
||||||
|
self.env["SteamAppId"],
|
||||||
|
"Expected SteamGameId to be STEAM_COMPAT_APP_ID",
|
||||||
|
)
|
||||||
|
|
||||||
|
# PATHS
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["STEAM_COMPAT_SHADER_PATH"],
|
||||||
|
self.env["STEAM_COMPAT_DATA_PATH"] + "/shadercache",
|
||||||
|
"Expected STEAM_COMPAT_SHADER_PATH to be set",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["STEAM_COMPAT_TOOL_PATHS"],
|
||||||
|
self.env["PROTONPATH"] + ":" + Path(__file__).parent.as_posix(),
|
||||||
|
"Expected STEAM_COMPAT_TOOL_PATHS to be set",
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
self.env["STEAM_COMPAT_MOUNTS"],
|
||||||
|
self.env["STEAM_COMPAT_TOOL_PATHS"],
|
||||||
|
"Expected STEAM_COMPAT_MOUNTS to be set",
|
||||||
|
)
|
||||||
|
|
||||||
def test_setup_pfx_symlinks(self):
|
def test_setup_pfx_symlinks(self):
|
||||||
"""Test _setup_pfx for valid symlinks.
|
"""Test _setup_pfx for valid symlinks.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user