ray/ci/suppress_output

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

34 lines
633 B
Text
Raw Permalink Normal View History

#!/bin/bash
# Run a command, suppressing output unless it hangs or crashes.
TMPFILE="$(mktemp)"
PID=$$
# Print output to avoid travis killing us
watchdog() {
for i in $(seq 5 5 150); do
sleep 300
echo "This command has been running for more than $i minutes..."
done
2019-11-08 15:58:28 -08:00
echo "Command timed out after 2.5h, dumping logs:"
cat "$TMPFILE"
echo "TIMED OUT"
kill -SIGKILL $PID
}
watchdog 2>/dev/null &
WATCHDOG_PID=$!
time "$@" >"$TMPFILE" 2>&1
CODE=$?
if [ $CODE != 0 ]; then
tail -n 2000 "$TMPFILE"
echo "FAILED $CODE"
kill $WATCHDOG_PID
exit $CODE
fi
kill $WATCHDOG_PID
exit 0