def output_of_each_process_is_labelled_by_process_alphabetically(start): process_set = start({ "true": ["true"], "false": ["false"] }) wait.wait_until_not(process_set.all_running, timeout=1, wait_time=0.1) assert_equal("false:\ntrue:\n", process_set.all_output())
def can_detect_if_process_is_running(start): process_set = start({ "sleep": ["sh", "-c", "sleep 0.1"] }) assert process_set.all_running() wait.wait_until_not(process_set.all_running, timeout=1, wait_time=0.1) assert not process_set.all_running()
def find_running_machine_returns_none_if_the_machine_has_been_shutdown(provider): with provider.start(_IMAGE_NAME) as machine: assert machine.is_running() machine.root_shell().run(["shutdown", "-h", "now"]) wait.wait_until_not(machine.is_running, timeout=10, wait_time=0.1) assert provider.find_running_machine(machine.identifier) is None
def additional_processes_can_be_started(start): process_set = start({}) assert not process_set.any_running() process_set.start({ "sleep": ["sh", "-c", "sleep 0.1"] }) assert process_set.any_running() wait.wait_until_not(process_set.any_running, timeout=1, wait_time=0.1) assert not process_set.any_running()
def kill_all_kills_process(start): identifier = str(uuid.uuid4()) process_set = start({ "one": ["sh", "-c", "cat; echo {0}".format(identifier)], }) def process_is_running(): result = spur.LocalShell().run(["pgrep", "-f", identifier], allow_error=True) if result.return_code == 0: return True elif result.return_code == 1: return False else: raise result.to_error() wait.wait_until(process_is_running, timeout=1, wait_time=0.1) assert process_is_running() process_set.kill_all() wait.wait_until_not(process_is_running, timeout=1, wait_time=0.1) assert not process_is_running()
def stderr_output_of_process_is_logged_with_normal_output(start): process_set = start({ "echo": ["sh", "-c", "echo hello 1>&2"] }) wait.wait_until_not(process_set.all_running, timeout=1, wait_time=0.1) assert_equal("echo:\n hello\n", process_set.all_output())
def output_of_each_process_is_indented(start): process_set = start({ "echo": ["sh", "-c", "echo one; echo two"] }) wait.wait_until_not(process_set.all_running, timeout=1, wait_time=0.1) assert_equal("echo:\n one\n two\n", process_set.all_output())