From a0cd29bbcf761005114a58fedb04ec2bf97a6465 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 17 Dec 2021 11:26:30 -0600 Subject: [PATCH] Fix threading error in stream tests (#62221) --- tests/components/stream/conftest.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/components/stream/conftest.py b/tests/components/stream/conftest.py index 10328a8f87b..4b8f21a3a7e 100644 --- a/tests/components/stream/conftest.py +++ b/tests/components/stream/conftest.py @@ -78,8 +78,9 @@ class SaveRecordWorkerSync: to avoid thread leaks in tests. """ - def __init__(self): + def __init__(self, hass): """Initialize SaveRecordWorkerSync.""" + self._hass = hass self._save_event = None self._segments = None self._save_thread = None @@ -91,7 +92,7 @@ class SaveRecordWorkerSync: assert self._save_thread is None self._segments = segments self._save_thread = threading.current_thread() - self._save_event.set() + self._hass.loop.call_soon_threadsafe(self._save_event.set) async def get_segments(self): """Return the recorded video segments.""" @@ -115,7 +116,7 @@ class SaveRecordWorkerSync: @pytest.fixture() def record_worker_sync(hass): """Patch recorder_save_worker for clean thread shutdown for test.""" - sync = SaveRecordWorkerSync() + sync = SaveRecordWorkerSync(hass) with patch( "homeassistant.components.stream.recorder.recorder_save_worker", side_effect=sync.recorder_save_worker,