From c0362ee8dd04263ccbb03ebfa2fd2c15b026e046 Mon Sep 17 00:00:00 2001 From: Julian Stirling Date: Thu, 30 Oct 2025 19:26:24 +0000 Subject: [PATCH] Make picamera tests compatible with updates --- .../picamera2/test_calibration.py | 50 +------------------ 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/hardware-specific-tests/picamera2/test_calibration.py b/hardware-specific-tests/picamera2/test_calibration.py index 622405e7..eb0d127b 100644 --- a/hardware-specific-tests/picamera2/test_calibration.py +++ b/hardware-specific-tests/picamera2/test_calibration.py @@ -3,48 +3,9 @@ from copy import deepcopy import tempfile -import pytest - -import labthings_fastapi as lt - -from openflexure_microscope_server.things.camera.picamera import ( - MissingCalibrationError, -) - from .cam_test_utils import camera_test_client -def test_get_tuning_algo(picamera_thing): - """Test that get_tuning algorithm retrieves tuning algorithms.""" - # Missing algorithm raises an error. - with pytest.raises(MissingCalibrationError): - picamera_thing.get_tuning_algo("foo") - # Or returns None if explicitly told not to error. - assert picamera_thing.get_tuning_algo("foo", raise_if_missing=False) is None - - # Real algorithm is a dict and contains expected keys - assert isinstance(picamera_thing.get_tuning_algo("rpi.geq"), dict) - assert "offset" in picamera_thing.get_tuning_algo("rpi.geq") - - # Set the tuning to None as it is technically optional. And check this - # is handled gracefully. This needs to be done in a try block as LabThings - # tries and fails to emit an event. - try: - picamera_thing.tuning = None - except lt.exceptions.NotConnectedToServerError: - # Labthings will complain that it is not connected to a server - pass - - # Check it is set to None despite the above LabThings issue. - assert picamera_thing.tuning is None - - # Raises an error as there is no tuning file set. - with pytest.raises(MissingCalibrationError): - picamera_thing.get_tuning_algo("rpi.geq") - # Or returns None if explicitly told not to error. - assert picamera_thing.get_tuning_algo("rpi.geq", raise_if_missing=False) is None - - def test_calibration(picamera_thing, picamera_client): """Check that full auto calibrate completes and set the expected values.""" # Check the calibration_required property used by the calibration wizard @@ -53,9 +14,6 @@ def test_calibration(picamera_thing, picamera_client): original_default = deepcopy(picamera_thing.default_tuning) # Tuning should start the same as the server is loading with no settings. assert picamera_thing.default_tuning == picamera_thing.tuning - # lens_shading tables should be None when loaded on default tuning as it is - # adaptive - assert picamera_thing.lens_shading_tables is None # The background detector isn't ready as there is no background image. assert not picamera_thing.background_detector_status.ready @@ -68,13 +26,7 @@ def test_calibration(picamera_thing, picamera_client): assert picamera_thing.default_tuning != picamera_thing.tuning # The default should be unchanged assert picamera_thing.default_tuning == original_default - # Lens shading tables should no longer be None - assert picamera_thing.lens_shading_tables is not None - # There should be exactly one colour correction matrix - # (no variations by colour temp) - assert len(picamera_thing.get_tuning_algo("rpi.ccm")["ccms"]) == 1 - # Green equalisation offset should be set to maximum. - assert picamera_thing.get_tuning_algo("rpi.geq")["offset"] == 65535 + assert picamera_thing.background_detector_status.ready