Merge pull request #25 from dajiaohuang/fix/gui-subprocess-module

fix(gui): launch subprocess search worker from package
This commit is contained in:
MG193.7
2026-09-16 02:42:19 +08:00
committed by GitHub
2 changed files with 14 additions and 1 deletions
+1 -1
View File
@@ -421,7 +421,7 @@ class GuiDexStore:
"result_path": result_path,
}
cmd = [sys.executable, "-m", "src.asc_client.gui.search_worker"]
cmd = [sys.executable, "-m", "droidasc.asc_client.gui.search_worker"]
creationflags = 0
if os.name == "nt":
creationflags = getattr(subprocess, "CREATE_NO_WINDOW", 0)
+13
View File
@@ -93,3 +93,16 @@ assert sys.modules['mutf8.cmutf8'].decode_modified_utf8.__module__ == '_asc_clie
self.assertEqual(store.get_source('Lexample/Test;'), first)
self.assertIn('class Test', first[1])
self.assertTrue(store.search_members('method', 'first'))
def test_gui_store_subprocess_search_uses_package_module(self):
from droidasc.asc_client.gui.runtime import GuiDexStore
with tempfile.TemporaryDirectory() as directory:
apk = Path(directory) / 'fixture.apk'
with zipfile.ZipFile(apk, 'w') as archive:
archive.writestr('classes.dex', make_dex())
store = GuiDexStore(str(apk), max_workers=1)
store.load()
result = store.search('string', 'token', max_workers=1)
self.assertEqual(result['backend'], 'subprocess')
self.assertEqual(result['total_hits'], 2)
self.assertEqual(len(result['results']), 2)