2 CONFIG_RU
=${CONFIG_RU-'async-response.ru'}
5 skip_models Base WriterThreadPool WriterThreadSpawn
7 t_plan
6 "async HTTP/1.0 response for $model"
9 t_begin
"setup and start" && {
11 rtmpfiles a b c a_err b_err c_err
12 # can't load Rack::Lint here since it'll cause Rev to slurp
13 rainbows
-E none
-D $CONFIG_RU -c $unicorn_config
17 t_begin
"send async requests off in parallel" && {
19 curl
="curl -0 --no-buffer -vsSf http://$listen/"
20 ( $curl 2>> $a_err | utee
$a) &
21 ( $curl 2>> $b_err | utee
$b) &
22 ( $curl 2>> $c_err | utee
$c) &
27 t_begin
"ensure elapsed requests were processed in parallel" && {
28 elapsed
=$
(( $t1 - $t0 ))
29 echo "elapsed=$elapsed < 30"
33 t_begin
"termination signal sent" && {
42 t_begin
"no errors from curl" && {
43 if grep -i Transfer-Encoding
$a_err $b_err $c_err
45 die
"Unexpected Transfer-Encoding: header"
47 for i
in $a_err $b_err $c_err
49 grep 'Connection: close' $i
54 t_begin
"no errors in stderr" && check_stderr