#!/bin/sh | |
# If the test times out, meson sends SIGTERM to this process. | |
# Simply exec'ing "time" would result in no output from that in this case. | |
# Instead, we need to run "time" in the background, catch the signals and | |
# propagate them to the actual test process. | |
/usr/bin/time -v "$@" & | |
TIMEPID=$! | |
TESTPID=$(ps --ppid $TIMEPID -o pid=) | |
if test "x$TESTPID" != x; then | |
trap 'kill -TERM $TESTPID; wait $TIMEPID; exit $?' TERM | |
fi | |
wait $TIMEPID | |
exit $? |