From 3dd96b31ef6456c51d74ededf0ebc704760447c4 Mon Sep 17 00:00:00 2001 From: Aaron Liang <76561968+AaronL725@users.noreply.github.com> Date: Wed, 15 Jul 2026 00:48:45 +0800 Subject: [PATCH] fix: repair generated focused tests --- tools/fix_final_flow_test_generation.py | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tools/fix_final_flow_test_generation.py diff --git a/tools/fix_final_flow_test_generation.py b/tools/fix_final_flow_test_generation.py new file mode 100644 index 0000000..2952d65 --- /dev/null +++ b/tools/fix_final_flow_test_generation.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +from pathlib import Path + +script = Path(__file__).resolve().with_name("apply_final_flow_fixes.py") +text = script.read_text(encoding="utf-8") + +old_import = '''remote_tests = r\'''import unittest +from unittest.mock import patch + +import grok_register_ttk as app +''' +new_import = '''remote_tests = r\'''import sys +import types +import unittest +from unittest.mock import patch + +# Keep this unit test independent from optional browser/network dependencies. +drission = types.ModuleType("DrissionPage") +drission.Chromium = type("Chromium", (), {}) +drission.ChromiumOptions = type("ChromiumOptions", (), {}) +drission_errors = types.ModuleType("DrissionPage.errors") +drission_errors.PageDisconnectedError = type("PageDisconnectedError", (Exception,), {}) +curl_cffi = types.ModuleType("curl_cffi") +curl_cffi.requests = types.SimpleNamespace() +sys.modules.setdefault("DrissionPage", drission) +sys.modules.setdefault("DrissionPage.errors", drission_errors) +sys.modules.setdefault("curl_cffi", curl_cffi) + +import grok_register_ttk as app +''' +if old_import not in text: + if new_import not in text: + raise RuntimeError("remote test import block not found") +else: + text = text.replace(old_import, new_import, 1) + +old_cleanup = ' interval_cleanups = [event for event in fake.events if isinstance(event, tuple) and "已成功" in event[1]]\n' +new_cleanup = ' interval_cleanups = [\n event for event in fake.events\n if isinstance(event, tuple)\n and len(event) > 1\n and isinstance(event[1], str)\n and "已成功" in event[1]\n ]\n' +if old_cleanup not in text: + if new_cleanup not in text: + raise RuntimeError("cleanup test expression not found") +else: + text = text.replace(old_cleanup, new_cleanup, 1) + +script.write_text(text, encoding="utf-8") +print("final flow test generation repaired")