@@ -53,8 +53,11 @@ def test_function_interface_is_in_sync(func: str) -> None:
5353@pytest .mark .parametrize ("root" , ["A" , "/system" , None ])
5454@pytest .mark .parametrize ("data" , ["D" , "/data" , None ])
5555@pytest .mark .parametrize ("path" , ["/data/data/a/files" , "/C" ])
56- def test_android_active (monkeypatch : MonkeyPatch , root : str | None , data : str | None , path : str ) -> None :
57- for env_var , value in {"ANDROID_DATA" : data , "ANDROID_ROOT" : root }.items ():
56+ @pytest .mark .parametrize ("shell" , ["/data/data/com.app/files/usr/bin/sh" , "/usr/bin/sh" , None ])
57+ def test_android_active (
58+ monkeypatch : MonkeyPatch , root : str | None , data : str | None , path : str , shell : str | None
59+ ) -> None :
60+ for env_var , value in {"ANDROID_DATA" : data , "ANDROID_ROOT" : root , "SHELL" : shell }.items ():
5861 if value is None :
5962 monkeypatch .delenv (env_var , raising = False )
6063 else :
@@ -65,7 +68,7 @@ def test_android_active(monkeypatch: MonkeyPatch, root: str | None, data: str |
6568 _android_folder .cache_clear ()
6669 monkeypatch .setattr (sys , "path" , ["/A" , "/B" , path ])
6770
68- expected = root == "/system" and data == "/data" and _android_folder () is not None
71+ expected = root == "/system" and data == "/data" and shell is None and _android_folder () is not None
6972 if expected :
7073 assert platformdirs ._set_platform_dir_class () is Android
7174 else :
0 commit comments