143 lines
6.4 KiB
Python
143 lines
6.4 KiB
Python
from caproto.threading.client import Context
|
|
from caproto.sync.client import read, write
|
|
|
|
from time import sleep
|
|
|
|
delay = 1
|
|
|
|
class CaprotoWrapper:
|
|
def raw_read(pvname):
|
|
return read(pvname).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)
|
|
|
|
|
|
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")
|
|
|