"""Run synthetic regressions against actual frozen listener/UI code from the EXE.""" from pathlib import Path import importlib.abc import importlib.util import runpy import json import sys from PyInstaller.archive.readers import CArchiveReader folder = Path(__file__).resolve().parent root = Path(r'C:\wechat_rpa') exe = root / 'dist/ZhenAI-WeCom-Assistant-v1.4.25/ZhenAI-WeCom-Assistant-v1.4.25.exe' pyz = CArchiveReader(str(exe)).open_embedded_archive('PYZ.pyz') plan=json.loads((folder/'patient-release-plan.json').read_text(encoding='utf-8-sig')) assert plan.get('finalized') is True modules=set(plan['frozenModules']) | {'gui_runtime','wechat_bot','review_policy','protocol_engine'} class FrozenListenerCode(importlib.abc.MetaPathFinder, importlib.abc.Loader): def find_spec(self, fullname, path=None, target=None): if fullname in modules: return importlib.util.spec_from_loader(fullname, self, origin=str(exe)) def create_module(self, spec): return None def exec_module(self, module): module.__file__ = str(root / (module.__name__ + '.py')) exec(pyz.extract(module.__name__), module.__dict__) sys.meta_path.insert(0, FrozenListenerCode()) runner = folder / 'run_isolated_patient.py' sys.argv = [str(runner), str(root), str(folder / 'frozen-patient-tests.json'), *plan['windowsTestModules']] runpy.run_path(str(runner), run_name='__main__')