From 7f8c2e17b099f914144d3cf013e39b4920988a97 Mon Sep 17 00:00:00 2001 From: smathis Date: Thu, 24 Jul 2025 12:54:26 +0200 Subject: [PATCH] Added tests for MasterMACS --- common.py | 4 +++ ioc/motors/turboPmac1.cmd | 2 +- tests/sinqMotor/{turboPmac => }/common.py | 8 ----- tests/sinqMotor/masterMacs/__init__.py | 0 tests/sinqMotor/masterMacs/lin1/__init__.py | 0 tests/sinqMotor/masterMacs/lin1/conftest.py | 9 +++++ .../sinqMotor/masterMacs/lin1/test_common.py | 34 +++++++++++++++++++ tests/sinqMotor/turboPmac/lin1/conftest.py | 2 +- tests/sinqMotor/turboPmac/rot1/test_common.py | 3 +- 9 files changed, 51 insertions(+), 11 deletions(-) rename tests/sinqMotor/{turboPmac => }/common.py (67%) create mode 100644 tests/sinqMotor/masterMacs/__init__.py create mode 100644 tests/sinqMotor/masterMacs/lin1/__init__.py create mode 100644 tests/sinqMotor/masterMacs/lin1/conftest.py create mode 100755 tests/sinqMotor/masterMacs/lin1/test_common.py diff --git a/common.py b/common.py index edf9e4b..0f3b518 100755 --- a/common.py +++ b/common.py @@ -218,3 +218,7 @@ class SinqMotor(Motor): class TurboPMAC(SinqMotor): pass + + +class MasterMACS(SinqMotor): + pass diff --git a/ioc/motors/turboPmac1.cmd b/ioc/motors/turboPmac1.cmd index 6a2f271..fe641ea 100755 --- a/ioc/motors/turboPmac1.cmd +++ b/ioc/motors/turboPmac1.cmd @@ -30,7 +30,7 @@ pmacAsynIPPortConfigure("$(ASYN_PORT)","$(TURBOPMAC1_IP):$(TURBOPMAC1_PORT)") turboPmacController("$(NAME)","$(ASYN_PORT)",8,$(TURBOPMAC1_BUSYPOLL),$(TURBOPMAC1_IDLEPOLL),1); turboPmacAxis("$(NAME)",1); -turboPmacAxis("$(NAME)",5); +#turboPmacAxis("$(NAME)",5); # Set the number of subsequent timeouts setMaxSubsequentTimeouts("$(NAME)", 20); diff --git a/tests/sinqMotor/turboPmac/common.py b/tests/sinqMotor/common.py similarity index 67% rename from tests/sinqMotor/turboPmac/common.py rename to tests/sinqMotor/common.py index b3a8f3e..1ba8fc0 100644 --- a/tests/sinqMotor/turboPmac/common.py +++ b/tests/sinqMotor/common.py @@ -6,15 +6,7 @@ def stop_reset_enable_move_sequence(motor, target): motor.write_field('stop', 1) motor.write_field('reseterrorpv', 1) - - # Wait until the motor is disabled. - # motor.wait_disabled() - motor.write_field('enable', 1) - - # Wait until the motor is enabled. - # motor.wait_enabled() - motor.move_and_wait(target) assert motor.at_target(target) assert not motor.has_error() diff --git a/tests/sinqMotor/masterMacs/__init__.py b/tests/sinqMotor/masterMacs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/sinqMotor/masterMacs/lin1/__init__.py b/tests/sinqMotor/masterMacs/lin1/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/sinqMotor/masterMacs/lin1/conftest.py b/tests/sinqMotor/masterMacs/lin1/conftest.py new file mode 100644 index 0000000..d991d90 --- /dev/null +++ b/tests/sinqMotor/masterMacs/lin1/conftest.py @@ -0,0 +1,9 @@ +# This module defines fixtures which are shared for all tests of motor "lin1". + +import pytest +from common import MasterMACS + + +@pytest.fixture(autouse=True) +def motor(): + return MasterMACS('masterMacs1', 'lin1') diff --git a/tests/sinqMotor/masterMacs/lin1/test_common.py b/tests/sinqMotor/masterMacs/lin1/test_common.py new file mode 100755 index 0000000..64a6c96 --- /dev/null +++ b/tests/sinqMotor/masterMacs/lin1/test_common.py @@ -0,0 +1,34 @@ +# Run a selection of common tests + +from tests.move import * +from tests.sinqMotor.limits import * +from tests.sinqMotor.common import * +from tests.sinqMotor.turboPmac.reset import reset + + +def test_stop_reset_enable_move_sequence(motor): + stop_reset_enable_move_sequence(motor, 4) + stop_reset_enable_move_sequence(motor, 2) + + +def test_move_to_low_limit_switch(motor): + reset(motor, 1) + move_to_low_limit_switch(motor) + + +def test_move_to_high_limit_switch(motor): + reset(motor, 1) + move_to_high_limit_switch(motor) + + +def test_move_while_move(motor): + reset(motor, 1) + move_while_move(motor, -60, -20) + + +def test_stop(motor): + reset(motor, 1) + stop(motor, 18) + +# def test_reread_limits_from_hw(motor): +# reread_limits_from_hw(motor) diff --git a/tests/sinqMotor/turboPmac/lin1/conftest.py b/tests/sinqMotor/turboPmac/lin1/conftest.py index d57121b..1771615 100755 --- a/tests/sinqMotor/turboPmac/lin1/conftest.py +++ b/tests/sinqMotor/turboPmac/lin1/conftest.py @@ -1,4 +1,4 @@ -# This module defines fixtures which are shared for all tests of motor "rot1". +# This module defines fixtures which are shared for all tests of motor "lin1". import pytest from common import TurboPMAC diff --git a/tests/sinqMotor/turboPmac/rot1/test_common.py b/tests/sinqMotor/turboPmac/rot1/test_common.py index c316f69..9b38594 100755 --- a/tests/sinqMotor/turboPmac/rot1/test_common.py +++ b/tests/sinqMotor/turboPmac/rot1/test_common.py @@ -2,7 +2,7 @@ from tests.move import * from tests.sinqMotor.limits import * -from tests.sinqMotor.turboPmac.common import * +from tests.sinqMotor.common import * from tests.sinqMotor.turboPmac.reset import reset @@ -10,6 +10,7 @@ def test_stop_reset_enable_move_sequence(motor): stop_reset_enable_move_sequence(motor, 5) stop_reset_enable_move_sequence(motor, 0) + def test_move_to_low_limit_switch(motor): reset(motor) move_to_low_limit_switch(motor)