Change-detectors, tautologies, source-reading tests, redundant duplicates, mock-echo tests and dead/unrunnable tests. Per-test rationale in the lane ledger (category + reason for every removal).
58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
"""Resumed chunks clear only the stream monitor's own silence notice."""
|
|
from types import SimpleNamespace
|
|
|
|
import pytest
|
|
|
|
from agent import chat_completion_helpers as h
|
|
|
|
|
|
@pytest.mark.parametrize("local_loading,heartbeat_race", [(False, False), (True, False), (False, True)])
|
|
def test_resumed_chunks_clear_wait_without_erasing_local_load(monkeypatch, local_loading, heartbeat_race):
|
|
call = h._StreamingCall.__new__(h._StreamingCall)
|
|
notices, touches = [], []
|
|
now = [1000.0]
|
|
call.agent = SimpleNamespace(
|
|
base_url="http://localhost:1234" if local_loading else "https://example.com",
|
|
_interrupt_requested=False,
|
|
_emit_wait_notice=lambda text: notices.append((now[0], text)),
|
|
_touch_activity=lambda text: touches.append((now[0], text)),
|
|
)
|
|
call.api_kwargs = {"model": "test-model"}
|
|
call.last_chunk_time = {"t": now[0]}
|
|
call._stream_stale_timeout = 180.0
|
|
loading = "Loading local model weights"
|
|
monkeypatch.setattr(h, "_managed_local_load_notice",
|
|
lambda *args: loading if now[0] >= 1060.6 else None)
|
|
monkeypatch.setattr(h.time, "time", lambda: now[0])
|
|
|
|
if heartbeat_race:
|
|
heartbeat = call._heartbeat
|
|
|
|
def resume_before_notice(waiting_secs):
|
|
if waiting_secs >= 60:
|
|
now[0] += 0.1
|
|
call.last_chunk_time["t"] = now[0]
|
|
heartbeat(waiting_secs)
|
|
|
|
monkeypatch.setattr(call, "_heartbeat", resume_before_notice)
|
|
|
|
class Done:
|
|
def is_set(self):
|
|
return now[0] >= 1062.0
|
|
|
|
def wait(self, timeout):
|
|
now[0] = round(now[0] + timeout, 1)
|
|
if not heartbeat_race and now[0] >= 1061.5:
|
|
call.last_chunk_time["t"] = now[0]
|
|
|
|
call._call_done = Done()
|
|
call._monitor_loop()
|
|
assert all(t >= 1060.0 for t, _ in notices)
|
|
assert touches # the quiet gateway heartbeat still fires
|
|
assert notices[0][1] # the first silence notice is non-empty
|
|
if local_loading:
|
|
assert notices[-1][1] == loading
|
|
assert not any(text == "" for _, text in notices)
|
|
else:
|
|
assert notices[1:] == [(1060.4 if heartbeat_race else 1061.5, "")]
|