diff --git a/tangostationcontrol/start.py b/tangostationcontrol/start.py index e6fd41c773e62e6ed366fd1fcdfeaa60d1981ad4..196717553fdf658728fab83e859df4ff5c42bc74 100644 --- a/tangostationcontrol/start.py +++ b/tangostationcontrol/start.py @@ -22,4 +22,7 @@ devices = [ for device in devices: d = DeviceProxy(device) - d.start_coverage() + try: + d.start_coverage() + except Exception: + pass diff --git a/tangostationcontrol/store.py b/tangostationcontrol/store.py new file mode 100755 index 0000000000000000000000000000000000000000..e839ed56ffbbcb92ec970afe14176ace948b3498 --- /dev/null +++ b/tangostationcontrol/store.py @@ -0,0 +1,28 @@ +from tango import DeviceProxy + +devices = [ + # "STAT/Docker/1", # Docker controls the device containers, so it goes before anything else + "STAT/PSOC/1", # PSOC boot early to detect power delivery failure as fast as possible + "STAT/PCON/1", # PCON boot early because it is responsible for power delivery. + "STAT/APSPU/1", # APS Power Units control other hardware we want to initialise + "STAT/APSCT/1", + "STAT/CCD/1", + "STAT/RECV/1", # RCUs are input for SDP, so initialise them first + "STAT/UNB2/1", # Uniboards host SDP, so initialise them first + "STAT/SDP/1", # SDP controls the mask for SST/XST/BST/Beamlet, so initialise it first + "STAT/BST/1", + "STAT/SST/1", + "STAT/XST/1", + "STAT/Beamlet/1", + "STAT/AntennaField/1", # Accesses RECV + "STAT/TileBeam/1", # Accesses AntennaField + "STAT/DigitalBeam/1", # Accessed SDP and Beamlet + "STAT/TemperatureManager/1", +] + +for device in devices: + d = DeviceProxy(device) + try: + d.store_coverage() + except Exception: + pass diff --git a/tangostationcontrol/tox.ini b/tangostationcontrol/tox.ini index 73fe8ba9f9cf0edf3f7a6a802b105127674f57fa..71061767457155ae1b10ba4f7d682f40fa04be52 100644 --- a/tangostationcontrol/tox.ini +++ b/tangostationcontrol/tox.ini @@ -47,17 +47,21 @@ basepython=python3.7 commands = {envpython} -m testtools.run {posargs} [testenv:integration] -allowlist_externals = echo +allowlist_externals = + echo passenv = TANGO_HOST setenv = VIRTUAL_ENV={envdir} TESTS_DIR=./tangostationcontrol/integration_test/{env:TEST_MODULE:default} PYTHON={envpython} -m coverage run --source tangostationcontrol --parallel-mode +ignore_errors = true commands = echo "Integration test directory configured for{env:TESTS_DIR} ({env:TEST_MODULE:default})" {envpython} -m stestr --version {envpython} -m coverage --version + {envpython} start.py {envpython} -m stestr run --serial {posargs} + {envpython} store.py {envpython} -m coverage combine {envpython} -m coverage html --omit='*test*' -d cover {envpython} -m coverage xml -o coverage.xml