From 5c4d1561a90b357b7ae363306d4561d013cc6a42 Mon Sep 17 00:00:00 2001 From: SKAJohanVenter <aventer@ska.ac.za> Date: Mon, 25 Oct 2021 17:28:18 +0200 Subject: [PATCH] SAR-288 Changed GetVersionInfo to long running --- pogo/CspSubElementController.xmi | 2 +- pogo/CspSubElementObsDevice.xmi | 2 +- pogo/CspSubElementSubarray.xmi | 2 +- pogo/SKAAlarmHandler.xmi | 2 +- pogo/SKABaseDevice.xmi | 2 +- pogo/SKACapability.xmi | 2 +- pogo/SKAController.xmi | 2 +- pogo/SKALogger.xmi | 2 +- pogo/SKAObsDevice.xmi | 2 +- pogo/SKASubarray.xmi | 2 +- pogo/SKATelState.xmi | 2 +- src/ska_tango_base/base/base_device.py | 7 ++++--- tests/test_alarm_handler_device.py | 9 +++++---- tests/test_base_device.py | 9 +++++---- tests/test_controller_device.py | 9 +++++---- tests/test_csp_controller.py | 9 +++++---- tests/test_csp_obs_device.py | 9 +++++---- tests/test_csp_subarray.py | 9 +++++---- tests/test_logger_device.py | 9 +++++---- tests/test_obs_device.py | 9 +++++---- tests/test_subarray_device.py | 9 +++++---- tests/test_tel_state_device.py | 9 +++++---- 22 files changed, 65 insertions(+), 54 deletions(-) diff --git a/pogo/CspSubElementController.xmi b/pogo/CspSubElementController.xmi index c861cbdb..a130f84c 100644 --- a/pogo/CspSubElementController.xmi +++ b/pogo/CspSubElementController.xmi @@ -71,7 +71,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/CspSubElementObsDevice.xmi b/pogo/CspSubElementObsDevice.xmi index 7befab6d..af8d7f2f 100644 --- a/pogo/CspSubElementObsDevice.xmi +++ b/pogo/CspSubElementObsDevice.xmi @@ -53,7 +53,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/CspSubElementSubarray.xmi b/pogo/CspSubElementSubarray.xmi index 489b6908..1ca79a91 100644 --- a/pogo/CspSubElementSubarray.xmi +++ b/pogo/CspSubElementSubarray.xmi @@ -56,7 +56,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/SKAAlarmHandler.xmi b/pogo/SKAAlarmHandler.xmi index db01bd18..3f8f1945 100644 --- a/pogo/SKAAlarmHandler.xmi +++ b/pogo/SKAAlarmHandler.xmi @@ -118,7 +118,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState ]"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/SKABaseDevice.xmi b/pogo/SKABaseDevice.xmi index a7f7ed3d..42261f49 100644 --- a/pogo/SKABaseDevice.xmi +++ b/pogo/SKABaseDevice.xmi @@ -46,7 +46,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="Version strings"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> </commands> diff --git a/pogo/SKACapability.xmi b/pogo/SKACapability.xmi index b71acefe..524562f9 100644 --- a/pogo/SKACapability.xmi +++ b/pogo/SKACapability.xmi @@ -59,7 +59,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/SKAController.xmi b/pogo/SKAController.xmi index 46679e7d..e77fb926 100644 --- a/pogo/SKAController.xmi +++ b/pogo/SKAController.xmi @@ -60,7 +60,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/SKALogger.xmi b/pogo/SKALogger.xmi index 267dbfb0..3616550b 100644 --- a/pogo/SKALogger.xmi +++ b/pogo/SKALogger.xmi @@ -56,7 +56,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState ]"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/SKAObsDevice.xmi b/pogo/SKAObsDevice.xmi index 3512f147..6caa6332 100644 --- a/pogo/SKAObsDevice.xmi +++ b/pogo/SKAObsDevice.xmi @@ -47,7 +47,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/SKASubarray.xmi b/pogo/SKASubarray.xmi index f13224cf..280d53a2 100644 --- a/pogo/SKASubarray.xmi +++ b/pogo/SKASubarray.xmi @@ -55,7 +55,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/pogo/SKATelState.xmi b/pogo/SKATelState.xmi index 009fed6b..210d8fee 100644 --- a/pogo/SKATelState.xmi +++ b/pogo/SKATelState.xmi @@ -51,7 +51,7 @@ <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description="[ name: EltTelState ]"> - <type xsi:type="pogoDsl:StringArrayType"/> + <type xsi:type="pogoDsl:DevVarLongStringArray"/> </argout> <status abstract="false" inherited="true" concrete="true"/> </commands> diff --git a/src/ska_tango_base/base/base_device.py b/src/ska_tango_base/base/base_device.py index b17afb58..68345970 100644 --- a/src/ska_tango_base/base/base_device.py +++ b/src/ska_tango_base/base/base_device.py @@ -1183,8 +1183,8 @@ class SKABaseDevice(Device): return [f"{device.__class__.__name__}, {device.read_buildState()}"] @command( - dtype_out=("str",), - doc_out="Version strings", + dtype_out="DevVarLongStringArray", + doc_out="(ReturnType, 'Command unique ID')", ) @DebugIt() def GetVersionInfo(self): @@ -1198,7 +1198,8 @@ class SKABaseDevice(Device): :return: Version details of the device. """ command = self.get_command_object("GetVersionInfo") - return command() + unique_id, return_code = self.component_manager.enqueue(command) + return [[return_code], [unique_id]] # PROTECTED REGION END # // SKABaseDevice.GetVersionInfo class ResetCommand(StateModelCommand, ResponseCommand): diff --git a/tests/test_alarm_handler_device.py b/tests/test_alarm_handler_device.py index 3e6c5bf6..f93a5a5f 100644 --- a/tests/test_alarm_handler_device.py +++ b/tests/test_alarm_handler_device.py @@ -97,11 +97,12 @@ class TestSKAAlarmHandler(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(SKAAlarmHandler.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // SKAAlarmHandler.test_GetVersionInfo # PROTECTED REGION ID(SKAAlarmHandler.test_statsNrAlerts_decorators) ENABLED START # diff --git a/tests/test_base_device.py b/tests/test_base_device.py index c16219c5..deba667d 100644 --- a/tests/test_base_device.py +++ b/tests/test_base_device.py @@ -441,11 +441,12 @@ class TestSKABaseDevice(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(SKABaseDevice.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // SKABaseDevice.test_GetVersionInfo # PROTECTED REGION ID(SKABaseDevice.test_Reset_decorators) ENABLED START # diff --git a/tests/test_controller_device.py b/tests/test_controller_device.py index 6999b808..8173ddd5 100644 --- a/tests/test_controller_device.py +++ b/tests/test_controller_device.py @@ -95,11 +95,12 @@ class TestSKAController(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(SKAController.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // SKAController.test_GetVersionInfo # PROTECTED REGION ID(SKAController.test_isCapabilityAchievable_failure_decorators) ENABLED START # diff --git a/tests/test_csp_controller.py b/tests/test_csp_controller.py index 55aab228..eadcf3d0 100644 --- a/tests/test_csp_controller.py +++ b/tests/test_csp_controller.py @@ -88,11 +88,12 @@ class TestCspSubElementController(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(CspSubelementController.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // CspSubelementController.test_GetVersionInfo # PROTECTED REGION ID(CspSubelementController.test_configurationProgress_decorators) ENABLED START # diff --git a/tests/test_csp_obs_device.py b/tests/test_csp_obs_device.py index 3aa5d0e6..a505efb4 100644 --- a/tests/test_csp_obs_device.py +++ b/tests/test_csp_obs_device.py @@ -97,11 +97,12 @@ class TestCspSubElementObsDevice(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(CspSubelementObsDevice.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // CspSubelementObsDevice.test_GetVersionInfo # PROTECTED REGION ID(CspSubelementObsDevice.test_buildState_decorators) ENABLED START # diff --git a/tests/test_csp_subarray.py b/tests/test_csp_subarray.py index 37a4d0b4..6d36bde9 100644 --- a/tests/test_csp_subarray.py +++ b/tests/test_csp_subarray.py @@ -98,11 +98,12 @@ class TestCspSubElementSubarray(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(CspSubelementSubarray.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // CspSubelementSubarray.test_GetVersionInfo # PROTECTED REGION ID(CspSubelementSubarray.test_configurationProgress_decorators) ENABLED START # diff --git a/tests/test_logger_device.py b/tests/test_logger_device.py index 2bdf46bb..f3a65923 100644 --- a/tests/test_logger_device.py +++ b/tests/test_logger_device.py @@ -81,11 +81,12 @@ class TestSKALogger(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(SKALogger.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // SKALogger.test_GetVersionInfo # PROTECTED REGION ID(SKALogger.test_buildState_decorators) ENABLED START # diff --git a/tests/test_obs_device.py b/tests/test_obs_device.py index daceac14..6114ff50 100644 --- a/tests/test_obs_device.py +++ b/tests/test_obs_device.py @@ -84,11 +84,12 @@ class TestSKAObsDevice(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(SKAObsDevice.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // SKAObsDevice.test_GetVersionInfo # PROTECTED REGION ID(SKAObsDevice.test_obsState_decorators) ENABLED START # diff --git a/tests/test_subarray_device.py b/tests/test_subarray_device.py index cceb1bdf..420e4608 100644 --- a/tests/test_subarray_device.py +++ b/tests/test_subarray_device.py @@ -122,11 +122,12 @@ class TestSKASubarray: """Test for GetVersionInfo.""" # PROTECTED REGION ID(SKASubarray.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // SKASubarray.test_GetVersionInfo # PROTECTED REGION ID(SKASubarray.test_Status_decorators) ENABLED START # diff --git a/tests/test_tel_state_device.py b/tests/test_tel_state_device.py index e771eb82..a6b14891 100644 --- a/tests/test_tel_state_device.py +++ b/tests/test_tel_state_device.py @@ -77,11 +77,12 @@ class TestSKATelState(object): """Test for GetVersionInfo.""" # PROTECTED REGION ID(SKATelState.test_GetVersionInfo) ENABLED START # versionPattern = re.compile( - f"{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " - "A set of generic base devices for SKA Telescope." + f"['{device_under_test.info().dev_class}, ska_tango_base, [0-9]+.[0-9]+.[0-9]+, " + "A set of generic base devices for SKA Telescope.']" ) - versionInfo = device_under_test.GetVersionInfo() - assert (re.match(versionPattern, versionInfo[0])) is not None + device_under_test.GetVersionInfo() + versionInfo = device_under_test.longRunningCommandResult[2] + assert (re.match(versionPattern, versionInfo)) is not None # PROTECTED REGION END # // SKATelState.test_GetVersionInfo # PROTECTED REGION ID(SKATelState.test_buildState_decorators) ENABLED START # -- GitLab