Travis: kill awesome after max. 60s per test file

This is required for when the test setup fails already, e.g. because of
an assertion error at the top of a test file.
This commit is contained in:
Daniel Hahler 2016-05-31 23:46:23 +02:00
parent 547fec2824
commit 8e221522f7
1 changed files with 9 additions and 0 deletions

View File

@ -189,6 +189,8 @@ start_awesome() {
# Count errors. # Count errors.
errors=0 errors=0
# Seconds after when awesome gets killed.
timeout_stale=60
for f in $tests; do for f in $tests; do
echo "== Running $f ==" echo "== Running $f =="
@ -204,6 +206,13 @@ for f in $tests; do
# Send the test file to awesome. # Send the test file to awesome.
cat $f | DISPLAY=$D "$AWESOME_CLIENT" 2>&1 cat $f | DISPLAY=$D "$AWESOME_CLIENT" 2>&1
# Kill awesome after 1 minute (e.g. with errors during test setup).
(sleep $timeout_stale
if [ "$(ps -o comm= $awesome_pid)" = "${AWESOME##*/}" ]; then
echo "Killing (stale?!) awesome (PID $awesome_pid) after $timeout_stale seconds."
kill $awesome_pid
fi) &
# Tail the log and quit, when awesome quits. # Tail the log and quit, when awesome quits.
tail -n 100000 -f --pid $awesome_pid $awesome_log tail -n 100000 -f --pid $awesome_pid $awesome_log