renaming folder
CI / build-and-test (push) Successful in 44s

This commit is contained in:
2026-06-10 11:24:22 +02:00
parent 1c04ace6e9
commit 20e6993577
3 changed files with 177 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
from caproto.sync.client import read, write
from time import sleep
class CaprotoWrapper:
def raw_read(pvname):
return read(pvname, timeout=5).data[0].decode('utf-8')
def get_pv_value(pvname, expected_value):
timeout = 10
while(expected_value != CaprotoWrapper.raw_read(pvname) and timeout > 0):
timeout -=1
sleep(0.5)
return CaprotoWrapper.raw_read(pvname)
def set_pv_value(pvname, value):
write(pvname, value, notify=True)
timeout = 10
while(value != CaprotoWrapper.raw_read(pvname) and timeout > 0):
timeout -= 1
sleep(0.5)
+36
View File
@@ -0,0 +1,36 @@
import subprocess
import sys
import signal
from caproto_wrapper import CaprotoWrapper
def is_ioc_running():
return "" != CaprotoWrapper.raw_read("ePowerSwitch_set_outlet_1")
def start_iocshell():
res = subprocess.Popen(["./startioc.sh"])
while not is_ioc_running():
pass
return res
def start_sim():
return subprocess.Popen(["python", "./sim/ePowerSwitch8_sim.py"])
def start_pytest():
return subprocess.Popen(["pytest","test"])
sim_process = start_sim()
iocsh_process = start_iocshell()
pytest_process = start_pytest()
exit_code = 0
try:
exit_code = pytest_process.wait()
finally:
sim_process.send_signal(sig=signal.SIGTERM)
iocsh_process.send_signal(sig=signal.SIGTERM)
pytest_process.send_signal(sig=signal.SIGTERM)
sys.exit(exit_code)
+119
View File
@@ -0,0 +1,119 @@
from caproto_wrapper import CaprotoWrapper
delay = 1
def test_turn_on():
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_1", "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_1", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_1", "On") == "On")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_2", "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_2", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_2", "On") == "On")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_3", "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_3", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_3", "On") == "On")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_4", "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_4", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_4", "On") == "On")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_5", "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_5", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_5", "On") == "On")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_6", "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_6", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_6", "On") == "On")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_7", "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_7", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_7", "On") == "On")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_8", "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_8", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_8", "On") == "On")
def test_turn_off():
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_1", "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_1", "Off") == "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_1", "Off") == "Off")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_2", "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_2", "Off") == "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_2", "Off") == "Off")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_3", "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_3", "Off") == "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_3", "Off") == "Off")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_4", "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_4", "Off") == "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_4", "Off") == "Off")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_5", "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_5", "Off") == "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_5", "Off") == "Off")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_6", "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_6", "Off") == "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_6", "Off") == "Off")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_7", "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_7", "Off") == "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_7", "Off") == "Off")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_8", "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_set_outlet_8", "Off") == "Off")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_8", "Off") == "Off")
def test_restart():
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_1", "Restart")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_1", "Rst") == "Rst")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_2", "Restart")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_2", "Rst") == "Rst")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_3", "Restart")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_3", "Rst") == "Rst")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_4", "Restart")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_4", "Rst") == "Rst")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_5", "Restart")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_5", "Rst") == "Rst")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_6", "Restart")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_6", "Rst") == "Rst")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_7", "Restart")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_7", "Rst") == "Rst")
CaprotoWrapper.set_pv_value("ePowerSwitch_set_outlet_8", "Restart")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_8", "Rst") == "Rst")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_1", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_2", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_3", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_4", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_5", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_6", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_7", "On") == "On")
assert(CaprotoWrapper.get_pv_value("ePowerSwitch_get_outlet_8", "On") == "On")