mirror of
https://github.com/bec-project/ophyd_devices.git
synced 2026-02-06 23:28:41 +01:00
fix(static-device-test): add config_is_valid field to TestResult
This commit is contained in:
@@ -17,7 +17,7 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
device_manager = None
|
device_manager = None
|
||||||
|
|
||||||
TestResult = namedtuple("TestResult", ["name", "success", "message"])
|
TestResult = namedtuple("TestResult", ["name", "success", "message", "config_is_valid"])
|
||||||
|
|
||||||
|
|
||||||
class StaticDeviceAnalysisError(Exception):
|
class StaticDeviceAnalysisError(Exception):
|
||||||
@@ -328,9 +328,12 @@ class StaticDeviceTest:
|
|||||||
for name, conf in self.config.items():
|
for name, conf in self.config.items():
|
||||||
return_val = 0
|
return_val = 0
|
||||||
status = False
|
status = False
|
||||||
|
config_is_valid = False
|
||||||
try:
|
try:
|
||||||
return_val += self.validate_schema(name, conf)
|
return_val += self.validate_schema(name, conf)
|
||||||
return_val += self.check_device_classes(name, conf)
|
return_val += self.check_device_classes(name, conf)
|
||||||
|
if return_val == 0:
|
||||||
|
config_is_valid = True
|
||||||
if device_manager is not None and connect:
|
if device_manager is not None and connect:
|
||||||
return_val += self.connect_device(
|
return_val += self.connect_device(
|
||||||
name,
|
name,
|
||||||
@@ -345,7 +348,12 @@ class StaticDeviceTest:
|
|||||||
self.print_and_write(f"ERROR: {name} failed: {e}")
|
self.print_and_write(f"ERROR: {name} failed: {e}")
|
||||||
finally:
|
finally:
|
||||||
results.append(
|
results.append(
|
||||||
TestResult(name=name, success=status, message="\n".join(print_and_write))
|
TestResult(
|
||||||
|
name=name,
|
||||||
|
success=status,
|
||||||
|
message="\n".join(print_and_write),
|
||||||
|
config_is_valid=config_is_valid,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
print_and_write.clear()
|
print_and_write.clear()
|
||||||
return results
|
return results
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from unittest import mock
|
|||||||
|
|
||||||
import bec_lib
|
import bec_lib
|
||||||
|
|
||||||
from ophyd_devices.utils.static_device_test import StaticDeviceTest, launch
|
from ophyd_devices.utils.static_device_test import StaticDeviceTest, TestResult, launch
|
||||||
|
|
||||||
|
|
||||||
def test_static_device_test():
|
def test_static_device_test():
|
||||||
@@ -42,3 +42,13 @@ def test_static_device_test_with_config_dict():
|
|||||||
assert ret[1].name == "wrong"
|
assert ret[1].name == "wrong"
|
||||||
assert ret[1].success is False
|
assert ret[1].success is False
|
||||||
assert isinstance(ret[1].message, str)
|
assert isinstance(ret[1].message, str)
|
||||||
|
|
||||||
|
|
||||||
|
def test_static_device_test_TestResults():
|
||||||
|
result = TestResult(
|
||||||
|
name="test_device", success=True, message="Device is OK", config_is_valid=True
|
||||||
|
)
|
||||||
|
assert result.name == "test_device"
|
||||||
|
assert result.success is True
|
||||||
|
assert result.message == "Device is OK"
|
||||||
|
assert result.config_is_valid is True
|
||||||
|
|||||||
Reference in New Issue
Block a user