fix(k1): stabilize repeated acquisition and live viewer recovery
This commit is contained in:
@@ -136,6 +136,31 @@ def test_live_ingress_allows_only_one_worker_consumer() -> None:
|
||||
ingress.open_consumer("worker-2")
|
||||
|
||||
|
||||
def test_live_ingress_new_session_discards_queued_events_from_previous_session() -> None:
|
||||
ingress = LivePerceptionIngress()
|
||||
ingress.open_consumer("worker-1")
|
||||
ingress.begin_session("session-1")
|
||||
assert ingress.publish(
|
||||
modality="lidar",
|
||||
source_id="lixel/application/report/lio_pcl",
|
||||
source_sequence=1,
|
||||
captured_at_epoch_ns=1,
|
||||
received_monotonic_ns=1,
|
||||
payload=b"old-session",
|
||||
)
|
||||
|
||||
ingress.end_session("session-1")
|
||||
ingress.begin_session("session-2")
|
||||
|
||||
events = []
|
||||
while (event := ingress.take_next("worker-1", timeout=0)) is not None:
|
||||
events.append(event)
|
||||
assert len(events) == 1
|
||||
assert events[0].session_id == "session-2"
|
||||
assert events[0].modality == "control"
|
||||
assert events[0].payload == b'{"event":"session-start"}'
|
||||
|
||||
|
||||
def test_live_result_round_trip_keeps_video_mask_boxes_and_shadow_authority() -> None:
|
||||
mask = np.zeros((600, 800), dtype=np.uint8)
|
||||
mask[100:120, 200:240] = 4
|
||||
|
||||
Reference in New Issue
Block a user