Files
ponsin_h 2ac03fbc9d
CI / build-and-test (push) Failing after 30s
removing infinit loop
2026-06-11 09:37:43 +02:00

43 lines
985 B
Python

import subprocess
import sys
import signal
from time import sleep
from caproto_wrapper import CaprotoWrapper
def is_ioc_running():
return "" != CaprotoWrapper.raw_read("ePowerSwitch_set_outlet_1")
def start_iocshell():
attempt = 0;
res = subprocess.Popen(["./startioc.sh"])
while not is_ioc_running() and attempt < 10:
sleep(1)
attempt += 1
pass
if attempt == 10:
print("IOCSHELL didn't start on time");
sys.exit(-1)
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)