fix(tests): kill thread when camera async_read tests fail

This commit is contained in:
Steven Palma
2025-05-14 14:06:59 +02:00
parent dae5f7c74d
commit cca647307b
2 changed files with 28 additions and 20 deletions

View File

@@ -126,11 +126,14 @@ def test_async_read(index_or_path):
camera = OpenCVCamera(config) camera = OpenCVCamera(config)
camera.connect(do_warmup_read=False) camera.connect(do_warmup_read=False)
try:
img = camera.async_read() img = camera.async_read()
assert camera.thread is not None assert camera.thread is not None
assert camera.thread.is_alive() assert camera.thread.is_alive()
assert isinstance(img, np.ndarray) assert isinstance(img, np.ndarray)
finally:
if camera.is_connected:
camera.disconnect() # To stop/join the thread. Otherwise get warnings when the test ends camera.disconnect() # To stop/join the thread. Otherwise get warnings when the test ends
@@ -139,9 +142,11 @@ def test_async_read_timeout():
camera = OpenCVCamera(config) camera = OpenCVCamera(config)
camera.connect(do_warmup_read=False) camera.connect(do_warmup_read=False)
try:
with pytest.raises(TimeoutError): with pytest.raises(TimeoutError):
camera.async_read(timeout_ms=0) camera.async_read(timeout_ms=0)
finally:
if camera.is_connected:
camera.disconnect() camera.disconnect()
@@ -183,5 +188,3 @@ def test_all_rotations(rotation, index_or_path):
assert camera.width == original_width assert camera.width == original_width
assert camera.height == original_height assert camera.height == original_height
assert img.shape[:2] == (original_height, original_width) assert img.shape[:2] == (original_height, original_width)
camera.disconnect()

View File

@@ -136,11 +136,14 @@ def test_async_read(mock_enable_device):
camera = RealSenseCamera(config) camera = RealSenseCamera(config)
camera.connect(do_warmup_read=False) camera.connect(do_warmup_read=False)
try:
img = camera.async_read() img = camera.async_read()
assert camera.thread is not None assert camera.thread is not None
assert camera.thread.is_alive() assert camera.thread.is_alive()
assert isinstance(img, np.ndarray) assert isinstance(img, np.ndarray)
finally:
if camera.is_connected:
camera.disconnect() # To stop/join the thread. Otherwise get warnings when the test ends camera.disconnect() # To stop/join the thread. Otherwise get warnings when the test ends
@@ -150,9 +153,11 @@ def test_async_read_timeout(mock_enable_device):
camera = RealSenseCamera(config) camera = RealSenseCamera(config)
camera.connect(do_warmup_read=False) camera.connect(do_warmup_read=False)
try:
with pytest.raises(TimeoutError): with pytest.raises(TimeoutError):
camera.async_read(timeout_ms=0) camera.async_read(timeout_ms=0)
finally:
if camera.is_connected:
camera.disconnect() camera.disconnect()