Files
galaxy/test/unit/util/test_lazy_process.py
T

29 lines
839 B
Python

"""Unit module for LazyProcess object in galaxy.util.lazy_process."""
import os
import tempfile
import time
from galaxy.util.lazy_process import LazyProcess
def test_lazy_process():
"""Create process, ensure start_process starts it and shutdown kills it."""
t = tempfile.NamedTemporaryFile()
os.remove(t.name)
lazy_process = LazyProcess(["bash", "-c", f"touch {t.name}; sleep 100"])
assert not os.path.exists(t.name)
lazy_process.start_process()
while not os.path.exists(t.name):
time.sleep(0.01)
assert lazy_process.process
assert lazy_process.process.poll() is None
lazy_process.shutdown()
ret_val = None
for _ in range(10):
ret_val = lazy_process.process.poll()
if ret_val is not None:
break
time.sleep(0.01)
assert ret_val is not None