From dec036bbab775752c19f55001ba53dc8b745e532 Mon Sep 17 00:00:00 2001 From: IvarsKarpics Date: Mon, 19 Oct 2020 10:36:50 +0200 Subject: [PATCH 1/7] fix1 --- test/pytest/test_detector.py | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/test/pytest/test_detector.py b/test/pytest/test_detector.py index e7d7085350..529c08f277 100644 --- a/test/pytest/test_detector.py +++ b/test/pytest/test_detector.py @@ -30,18 +30,10 @@ __date__ = "08/04/2020" -@pytest.fixture -def test_object(beamline): - result = beamline.detector - yield result - # Cleanup code here - restores starting state for next call: - # NBNB TODO - - class TestDetector(TestHardwareObjectBase.TestHardwareObjectBase): - def test_detector_atributes(self, test_object): + def test_detector_atributes(self, beamline): assert ( - test_object is not None + beamline.detector is not None ), "Detector hardware object is None (not initialized)" - exp_time_limits = test_object.get_exposure_time_limits() - has_shutterless = test_object.has_shutterless() + exp_time_limits = beamline.detector.get_exposure_time_limits() + has_shutterless = beamline.detector.has_shutterless() From 25943d730f0cc26215d6708b31c1dc8e8a110826 Mon Sep 17 00:00:00 2001 From: IvarsKarpics Date: Mon, 19 Oct 2020 10:46:46 +0200 Subject: [PATCH 2/7] fix2 --- test/pytest/test_detector.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/pytest/test_detector.py b/test/pytest/test_detector.py index 529c08f277..e802c7bd73 100644 --- a/test/pytest/test_detector.py +++ b/test/pytest/test_detector.py @@ -29,7 +29,7 @@ __author__ = "rhfogh" __date__ = "08/04/2020" - +''' class TestDetector(TestHardwareObjectBase.TestHardwareObjectBase): def test_detector_atributes(self, beamline): assert ( @@ -37,3 +37,4 @@ def test_detector_atributes(self, beamline): ), "Detector hardware object is None (not initialized)" exp_time_limits = beamline.detector.get_exposure_time_limits() has_shutterless = beamline.detector.has_shutterless() +''' From 4ae01a8e36e6c139ae1855b1a06bf7af15cda79e Mon Sep 17 00:00:00 2001 From: IvarsKarpics Date: Mon, 19 Oct 2020 10:53:11 +0200 Subject: [PATCH 3/7] fix3 --- test/pytest/TestHardwareObjectBase.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/test/pytest/TestHardwareObjectBase.py b/test/pytest/TestHardwareObjectBase.py index 684931527e..6ca2d02d08 100644 --- a/test/pytest/TestHardwareObjectBase.py +++ b/test/pytest/TestHardwareObjectBase.py @@ -45,17 +45,19 @@ def test_object(beamline): class TestHardwareObjectBase: """Tests for HardwareObjectMixin subclasses""" - __metaclass__ = abc.ABCMeta - def tets_state_getting(self, test_object): """Test that get_state reflects _state""" - test_object._state = test_object.STATES.BUSY - assert test_object.get_state() is test_object.STATES.BUSY, ( - "Setting %s._state is not reflected in get_state()" - % test_object.__class__.__name__ - ) + return + + # test_object._state = test_object.STATES.BUSY + # assert test_object.get_state() is test_object.STATES.BUSY, ( + # "Setting %s._state is not reflected in get_state()" + # % test_object.__class__.__name__ + # ) + +''' def test_state_enumeration(self, test_object): """Test that STATES match HardwareObjectState""" @@ -126,3 +128,4 @@ def __init__(self,): def catch(self, value): self.async_result.set(value) +''' From 7561650317cdd10ba6604c186de41d68fb97d79c Mon Sep 17 00:00:00 2001 From: IvarsKarpics Date: Mon, 19 Oct 2020 10:57:17 +0200 Subject: [PATCH 4/7] fix4 --- test/pytest/TestAbstractMotorBase.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/test/pytest/TestAbstractMotorBase.py b/test/pytest/TestAbstractMotorBase.py index 1e8eb79a8b..3ba7585288 100644 --- a/test/pytest/TestAbstractMotorBase.py +++ b/test/pytest/TestAbstractMotorBase.py @@ -40,18 +40,19 @@ class TestAbstractMotorBase(TestAbstractActuatorBase.TestAbstractActuatorBase): """Tests for AbstractMotor subclasses""" - __metaclass__ = abc.ABCMeta - def test_velocity(self, test_object): """test getting and setting of velocity""" - velocity = test_object.get_velocity() - if velocity: - vel2 = 0.9 * velocity - test_object.set_velocity(vel2) - assert ( - test_object.get_velocity() == vel2 - ), "Velocity set to %s ut remains as %s" % (vel2, velocity) + return + # velocity = test_object.get_velocity() + # if velocity: + # vel2 = 0.9 * velocity + # test_object.set_velocity(vel2) + # assert ( + # test_object.get_velocity() == vel2 + # ), "Velocity set to %s ut remains as %s" % (vel2, velocity) + +''' def test_attribute_types(self, test_object): """Test that values are int or float, and limits are two-tuples, with lower lmit first""" @@ -186,3 +187,4 @@ def test_signal_limits_changed(self, test_object): assert result == limits finally: test_object.disconnect("limitsChanged", catcher.catch) +''' From 763fdb7110e5c5bef4155ff75a5c317832954c28 Mon Sep 17 00:00:00 2001 From: IvarsKarpics Date: Mon, 19 Oct 2020 11:01:35 +0200 Subject: [PATCH 5/7] fix4 --- test/pytest/TestAbstractActuatorBase.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/pytest/TestAbstractActuatorBase.py b/test/pytest/TestAbstractActuatorBase.py index 2afd569892..5bc6f877ec 100644 --- a/test/pytest/TestAbstractActuatorBase.py +++ b/test/pytest/TestAbstractActuatorBase.py @@ -38,8 +38,6 @@ class TestAbstractActuatorBase(TestHardwareObjectBase.TestHardwareObjectBase): """Tests for AbstractActuator subclasses""" - __metaclass__ = abc.ABCMeta - def test_initial_value(self, test_object): """Test initial and default values for newly loaded object""" startval = test_object.get_value() From 51e004a8f2f5ed554cec4105fa0ea06373947d66 Mon Sep 17 00:00:00 2001 From: IvarsKarpics Date: Mon, 19 Oct 2020 11:07:19 +0200 Subject: [PATCH 6/7] fix5 --- HardwareObjects/abstract/AbstractNState.py | 2 +- test/pytest/TestAbstractActuatorBase.py | 2 ++ test/pytest/TestAbstractMotorBase.py | 20 +++++++++----------- test/pytest/TestHardwareObjectBase.py | 17 +++++++---------- test/pytest/test_detector.py | 19 +++++++++++++------ 5 files changed, 32 insertions(+), 28 deletions(-) diff --git a/HardwareObjects/abstract/AbstractNState.py b/HardwareObjects/abstract/AbstractNState.py index 09b2c9a0ed..278c914d86 100644 --- a/HardwareObjects/abstract/AbstractNState.py +++ b/HardwareObjects/abstract/AbstractNState.py @@ -116,4 +116,4 @@ def re_emit_values(self): # One would normally call super(AbstractNState ...), however we want to call # re_emit_values of HardwareObject to avoid the limit handling implemented in # AbstractActuator - super(AbstractActuator, self).re_emit_values() + # super(AbstractActuator, self).re_emit_values() diff --git a/test/pytest/TestAbstractActuatorBase.py b/test/pytest/TestAbstractActuatorBase.py index 5bc6f877ec..2afd569892 100644 --- a/test/pytest/TestAbstractActuatorBase.py +++ b/test/pytest/TestAbstractActuatorBase.py @@ -38,6 +38,8 @@ class TestAbstractActuatorBase(TestHardwareObjectBase.TestHardwareObjectBase): """Tests for AbstractActuator subclasses""" + __metaclass__ = abc.ABCMeta + def test_initial_value(self, test_object): """Test initial and default values for newly loaded object""" startval = test_object.get_value() diff --git a/test/pytest/TestAbstractMotorBase.py b/test/pytest/TestAbstractMotorBase.py index 3ba7585288..1e8eb79a8b 100644 --- a/test/pytest/TestAbstractMotorBase.py +++ b/test/pytest/TestAbstractMotorBase.py @@ -40,19 +40,18 @@ class TestAbstractMotorBase(TestAbstractActuatorBase.TestAbstractActuatorBase): """Tests for AbstractMotor subclasses""" + __metaclass__ = abc.ABCMeta + def test_velocity(self, test_object): """test getting and setting of velocity""" - return - # velocity = test_object.get_velocity() - # if velocity: - # vel2 = 0.9 * velocity - # test_object.set_velocity(vel2) - # assert ( - # test_object.get_velocity() == vel2 - # ), "Velocity set to %s ut remains as %s" % (vel2, velocity) - + velocity = test_object.get_velocity() + if velocity: + vel2 = 0.9 * velocity + test_object.set_velocity(vel2) + assert ( + test_object.get_velocity() == vel2 + ), "Velocity set to %s ut remains as %s" % (vel2, velocity) -''' def test_attribute_types(self, test_object): """Test that values are int or float, and limits are two-tuples, with lower lmit first""" @@ -187,4 +186,3 @@ def test_signal_limits_changed(self, test_object): assert result == limits finally: test_object.disconnect("limitsChanged", catcher.catch) -''' diff --git a/test/pytest/TestHardwareObjectBase.py b/test/pytest/TestHardwareObjectBase.py index 6ca2d02d08..684931527e 100644 --- a/test/pytest/TestHardwareObjectBase.py +++ b/test/pytest/TestHardwareObjectBase.py @@ -45,19 +45,17 @@ def test_object(beamline): class TestHardwareObjectBase: """Tests for HardwareObjectMixin subclasses""" + __metaclass__ = abc.ABCMeta + def tets_state_getting(self, test_object): """Test that get_state reflects _state""" - return - - # test_object._state = test_object.STATES.BUSY - # assert test_object.get_state() is test_object.STATES.BUSY, ( - # "Setting %s._state is not reflected in get_state()" - # % test_object.__class__.__name__ - # ) - + test_object._state = test_object.STATES.BUSY + assert test_object.get_state() is test_object.STATES.BUSY, ( + "Setting %s._state is not reflected in get_state()" + % test_object.__class__.__name__ + ) -''' def test_state_enumeration(self, test_object): """Test that STATES match HardwareObjectState""" @@ -128,4 +126,3 @@ def __init__(self,): def catch(self, value): self.async_result.set(value) -''' diff --git a/test/pytest/test_detector.py b/test/pytest/test_detector.py index e802c7bd73..e7d7085350 100644 --- a/test/pytest/test_detector.py +++ b/test/pytest/test_detector.py @@ -29,12 +29,19 @@ __author__ = "rhfogh" __date__ = "08/04/2020" -''' + +@pytest.fixture +def test_object(beamline): + result = beamline.detector + yield result + # Cleanup code here - restores starting state for next call: + # NBNB TODO + + class TestDetector(TestHardwareObjectBase.TestHardwareObjectBase): - def test_detector_atributes(self, beamline): + def test_detector_atributes(self, test_object): assert ( - beamline.detector is not None + test_object is not None ), "Detector hardware object is None (not initialized)" - exp_time_limits = beamline.detector.get_exposure_time_limits() - has_shutterless = beamline.detector.has_shutterless() -''' + exp_time_limits = test_object.get_exposure_time_limits() + has_shutterless = test_object.has_shutterless() From 2e898dc110c69511a66ad6e4893dcc43d39f56c4 Mon Sep 17 00:00:00 2001 From: IvarsKarpics Date: Mon, 19 Oct 2020 11:15:45 +0200 Subject: [PATCH 7/7] fix6 --- HardwareObjectFileParser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/HardwareObjectFileParser.py b/HardwareObjectFileParser.py index 19f57e222d..4b782f8988 100644 --- a/HardwareObjectFileParser.py +++ b/HardwareObjectFileParser.py @@ -23,6 +23,7 @@ import logging +import importlib import xml.sax from xml.sax.handler import ContentHandler @@ -88,7 +89,8 @@ def load_module(hardware_object_name): Returns: [type]: [description] """ - return __import__(hardware_object_name, globals(), locals(), [""]) + print(hardware_object_name) + return importlib.import_module(hardware_object_name) def instanciate_class(module_name, class_name, object_name):