From 49a2f7881b1ea5401ba6db4abe10b80b85e1bcc8 Mon Sep 17 00:00:00 2001 From: host Date: Sat, 31 Oct 2026 09:49:21 +0000 Subject: [PATCH] =?UTF-8?q?coverage85-step4e-fix:=20misc=20=E4=B8=8D?= =?UTF-8?q?=E5=86=8D=20import=20stdlib=20queue=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E9=81=AE=E8=94=BD=20test=5Fqueue=5Fsandbox=20=E7=9A=84=20cloud?= =?UTF-8?q?/queue=20=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud/tests/test_coverage85_misc.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/cloud/tests/test_coverage85_misc.py b/cloud/tests/test_coverage85_misc.py index 1d2c08c..3ed4078 100644 --- a/cloud/tests/test_coverage85_misc.py +++ b/cloud/tests/test_coverage85_misc.py @@ -9,7 +9,6 @@ playwright 对象),ensure_* 只写临时 codex_home,绝不启动 import json import os -import queue import sqlite3 import tempfile import time @@ -437,6 +436,28 @@ class AutoscalerProcTest(unittest.TestCase): # ---------------------------------------------------------- playwright +class _SimpleQueue: + """queue.Queue 的最小替身(只给 screencast sink 用)。 + + 刻意不用 stdlib queue:cloud/tests/test_queue_sandbox.py + 靠 cloud/queue.py 遮蔽 stdlib queue(它把 cloud/ 插进 + sys.path 再 from queue import);discover 按字母顺序先 + 导入本文件时若已缓存 stdlib queue,那个模块就 ImportError。 + 本步实测:import queue 一行导致 cloud 套件 47 项未跑。 + """ + + def __init__(self): + self._items = [] + + def put(self, item): + self._items.append(item) + + def get_nowait(self): + if not self._items: + raise RuntimeError("empty") + return self._items.pop(0) + + class _FakeMouse: def __init__(self): self.moves = [] @@ -695,7 +716,7 @@ class PlaywrightBrowserTest(unittest.TestCase): def test_screencast_sink_and_pump(self): b = self._browser() self.assertEqual(b.pump_screencast(), "") - sink = queue.Queue() + sink = _SimpleQueue() b.set_frame_sink(sink) b.navigate("https://example.com") # navigate 后 sink 已接上 CDP(_start_screencast 在