diff --git a/test.sh b/test.sh index a61a6186..b8c1cbef 100755 --- a/test.sh +++ b/test.sh @@ -1,4 +1,31 @@ #!/bin/bash + +timeout() +{ + python -c ' +import subprocess +import sys +import time + +deadline = time.time() + float(sys.argv[1]) +proc = subprocess.Popen(sys.argv[2:]) +while time.time() < deadline and proc.poll() is None: + time.sleep(1.0) + +if proc.poll() is not None: + if proc.returncode: + print + print >> sys.stderr, "Command failed:", sys.argv[2:] + print + sys.exit(proc.returncode) +proc.terminate() +print +print >> sys.stderr, "Timeout! Command was:", sys.argv[2:] +print +sys.exit(1) + ' "$@" +} + timeout 05.0 python tests/call_function_test.py timeout 05.0 python tests/channel_test.py timeout 05.0 python tests/first_stage_test.py