Merge pull request #937 from blueyed/travis-kill-stale-awesome

Travis: kill awesome after max. 60s per test file
This commit is contained in:
Daniel Hahler 2016-06-05 17:32:09 +02:00
commit 809111eb67
1 changed files with 12 additions and 3 deletions

View File

@ -103,7 +103,7 @@ wait_until_success() {
if [ "$CI" = true ]; then
set +x
fi
max_wait=60
wait_count=60 # 60*0.05s => 3s.
while true; do
set +e
eval reply="\$($2)"
@ -112,8 +112,8 @@ wait_until_success() {
if [ $ret = 0 ]; then
break
fi
max_wait=$(expr $max_wait - 1 || true)
if [ "$max_wait" -lt 0 ]; then
wait_count=$(expr $wait_count - 1 || true)
if [ "$wait_count" -lt 0 ]; then
echo "Error: failed to $1!"
echo "Last reply: $reply."
if [ -f "$awesome_log" ]; then
@ -189,6 +189,8 @@ start_awesome() {
# Count errors.
errors=0
# Seconds after when awesome gets killed.
timeout_stale=60
for f in $tests; do
echo "== Running $f =="
@ -204,6 +206,13 @@ for f in $tests; do
# Send the test file to awesome.
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 -n 100000 -f --pid $awesome_pid $awesome_log