diff options
Diffstat (limited to 't/t0010-keepalive-timeout-effective.sh')
-rwxr-xr-x | t/t0010-keepalive-timeout-effective.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/t/t0010-keepalive-timeout-effective.sh b/t/t0010-keepalive-timeout-effective.sh new file mode 100755 index 0000000..9d4d651 --- /dev/null +++ b/t/t0010-keepalive-timeout-effective.sh @@ -0,0 +1,42 @@ +#!/bin/sh +. ./test-lib.sh +t_plan 6 "keepalive_timeout tests for $model" + +t_begin "setup and start" && { + rainbows_setup + rainbows -D env.ru -c $unicorn_config + rainbows_wait_start +} + +t_begin 'check server up' && { + curl -sSf http://$listen/ +} + +t_begin "send keepalive response that does not expect close" && { + req='GET / HTTP/1.1\r\nHost: example.com\r\n\r\n' + t0=$(date +%s) + ( + cat $fifo > $tmp & + printf "$req" + wait + date +%s > $ok + ) | socat - TCP:$listen > $fifo + now="$(cat $ok)" + elapsed=$(( $now - $t0 )) + t_info "elapsed=$elapsed (expecting >=5s)" + test $elapsed -ge 5 +} + +t_begin 'keepalive not unreasonably long' && { + test $elapsed -lt 15 +} + +t_begin "killing succeeds" && { + kill $rainbows_pid +} + +t_begin "check stderr" && { + check_stderr +} + +t_done |