diff --git a/tangostationcontrol/tangostationcontrol/devices/device_decorators.py b/tangostationcontrol/tangostationcontrol/devices/device_decorators.py index b1dbb4b7a5b61bf80169e8945b7347f9d2e394fb..88486177a56240b7c40033c3bb96fe0da9475f46 100644 --- a/tangostationcontrol/tangostationcontrol/devices/device_decorators.py +++ b/tangostationcontrol/tangostationcontrol/devices/device_decorators.py @@ -55,11 +55,9 @@ def fault_on_error(): try: return func(self, *args, **kwargs) except Exception as e: - logger.exception("Function failed.") self.Fault(f"FAULT in {func.__name__}: {e.__class__.__name__}: {e}") - - return None + raise return error_wrapper diff --git a/tangostationcontrol/tangostationcontrol/test/devices/test_observation_device.py b/tangostationcontrol/tangostationcontrol/test/devices/test_observation_device.py index 1087fdd9f2fa927b7ca88867d246802c09ffc6aa..dc04f5d07a1335190ba1c1ce1783144f36b3b734 100644 --- a/tangostationcontrol/tangostationcontrol/test/devices/test_observation_device.py +++ b/tangostationcontrol/tangostationcontrol/test/devices/test_observation_device.py @@ -41,8 +41,8 @@ class TestObservationDevice(device_base.DeviceTestCase, test_observation_base.Te with DeviceTestContext(observation.Observation, process=True) as proxy: proxy.off() proxy.observation_settings_RW = "{}" - proxy.Initialise() - self.assertEqual(DevState.FAULT, proxy.state()) + with self.assertRaises(DevFailed): + proxy.Initialise() def test_prohibit_rewriting_settings(self): """Test that changing observation settings is disallowed once init"""