From ac92728df5a673076e3fedd1436cef7c24e534b5 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 20 May 2010 03:40:49 -0700 Subject: tests: t0004: beef up test for kills since we don't set maximum time boundaries, just rely on the logs to properly log the dead processes. --- t/t0004-heartbeat-timeout.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 't') diff --git a/t/t0004-heartbeat-timeout.sh b/t/t0004-heartbeat-timeout.sh index faabd1f..5010875 100755 --- a/t/t0004-heartbeat-timeout.sh +++ b/t/t0004-heartbeat-timeout.sh @@ -1,7 +1,7 @@ #!/bin/sh . ./test-lib.sh -t_plan 9 "heartbeat/timeout test for $model" +t_plan 12 "heartbeat/timeout test for $model" t_begin "setup and startup" && { rainbows_setup $model @@ -22,8 +22,9 @@ t_begin "sleep for a bit, ensure worker PID does not change" && { } t_begin "block the worker process to force it to die" && { + rm $ok t0=$(date +%s) - err="$(curl -sSf http://$listen/block-forever 2>&1 || :)" + err="$(curl -sSf http://$listen/block-forever 2>&1 || > $ok)" t1=$(date +%s) elapsed=$(($t1 - $t0)) t_info "elapsed=$elapsed err=$err" @@ -31,6 +32,11 @@ t_begin "block the worker process to force it to die" && { test x"$err" != x"$worker_pid" } +t_begin "ensure worker was killed" && { + test -e $ok + test 1 -eq $(grep timeout $r_err | grep killing | wc -l) +} + t_begin "ensure timeout took at least 3 seconds" && { test $elapsed -ge 3 } @@ -44,6 +50,10 @@ t_begin "we get a fresh new worker process" && { test $new_worker_pid -ne $worker_pid } +t_begin "truncate the server error log" && { + > $r_err +} + t_begin "SIGSTOP and SIGCONT on rainbows master does not kill worker" && { kill -STOP $rainbows_pid sleep 4 @@ -53,9 +63,11 @@ t_begin "SIGSTOP and SIGCONT on rainbows master does not kill worker" && { } t_begin "stop server" && { - kill $rainbows_pid + kill -QUIT $rainbows_pid } +t_begin "check stderr" && check_stderr + dbgcat r_err t_done -- cgit v1.2.3-24-ge0c7