mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Fix threading error in stream tests (#62221)
This commit is contained in:
parent
3b97c544b1
commit
a0cd29bbcf
@ -78,8 +78,9 @@ class SaveRecordWorkerSync:
|
|||||||
to avoid thread leaks in tests.
|
to avoid thread leaks in tests.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, hass):
|
||||||
"""Initialize SaveRecordWorkerSync."""
|
"""Initialize SaveRecordWorkerSync."""
|
||||||
|
self._hass = hass
|
||||||
self._save_event = None
|
self._save_event = None
|
||||||
self._segments = None
|
self._segments = None
|
||||||
self._save_thread = None
|
self._save_thread = None
|
||||||
@ -91,7 +92,7 @@ class SaveRecordWorkerSync:
|
|||||||
assert self._save_thread is None
|
assert self._save_thread is None
|
||||||
self._segments = segments
|
self._segments = segments
|
||||||
self._save_thread = threading.current_thread()
|
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):
|
async def get_segments(self):
|
||||||
"""Return the recorded video segments."""
|
"""Return the recorded video segments."""
|
||||||
@ -115,7 +116,7 @@ class SaveRecordWorkerSync:
|
|||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def record_worker_sync(hass):
|
def record_worker_sync(hass):
|
||||||
"""Patch recorder_save_worker for clean thread shutdown for test."""
|
"""Patch recorder_save_worker for clean thread shutdown for test."""
|
||||||
sync = SaveRecordWorkerSync()
|
sync = SaveRecordWorkerSync(hass)
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.stream.recorder.recorder_save_worker",
|
"homeassistant.components.stream.recorder.recorder_save_worker",
|
||||||
side_effect=sync.recorder_save_worker,
|
side_effect=sync.recorder_save_worker,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user