def test_serverprocess_output(tmpdir): script = tmpdir.join('script.sh') script.write("for i in $(seq 20); do echo $i; done") server = testing.ServerProcess(['bash', str(script)]) with server: server.ps.wait() assert server.output == [str(i) for i in range(1, 21)]
def test_serverprocess_output_wait(tmpdir): script = tmpdir.join('script.sh') script.write("echo 1; echo 2; echo 'here'; read; echo 3; echo 4;") server = testing.ServerProcess(['bash', str(script)]) with server: server.wait_for_output('here', timeout=30) assert server.output == ['1', '2', 'here'] server.ps.stdin.write('bar\n') server.ps.wait() assert server.output == ['1', '2', 'here', '3', '4']
def test_serverprocess_failure(): server = testing.ServerProcess(['false']) with pytest.raises(testing.ServerProcessError): with server: while 1: server.check()
def test_serverprocess_success(): server = testing.ServerProcess(['true']) with server: server.ps.wait() assert server.finished