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,