mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Print an error message and exit with a non-zero code when we hit the timeout. This makes it clear when a test fails due to a timeout.
20 lines
463 B
Python
20 lines
463 B
Python
#!/uar/bin/env python3
|
|
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
def watchdog(command, timeout=None):
|
|
process = subprocess.Popen(command)
|
|
try:
|
|
process.communicate(timeout=timeout)
|
|
except subprocess.TimeoutExpired:
|
|
process.kill()
|
|
sys.exit(
|
|
'error: command timed out after {} seconds: {}'
|
|
.format(timeout, ' '.join(sys.argv[2:])))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
watchdog(sys.argv[2:], timeout=float(sys.argv[1]))
|