diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-02-24 15:04:15 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-02-24 15:24:54 -0800 |
commit | a5064bc0bb549ca60e3e4d5f1a912bafa46c7f5f (patch) | |
tree | b6e074a3e4104de4b4cf45b8579414692ee7c547 /t/t0013-reload-bad-config.sh | |
parent | ecdc78d04e874f64bfea1b787aa8f3d469df8e79 (diff) | |
download | rainbows-a5064bc0bb549ca60e3e4d5f1a912bafa46c7f5f.tar.gz |
The Unicorn.builder helper will help us avoid namespace conflicts inside config.ru, allowing us to pass tests. While we're at it, port some tests over from the latest unicorn.git for dealing with bad configs.
Diffstat (limited to 't/t0013-reload-bad-config.sh')
-rwxr-xr-x | t/t0013-reload-bad-config.sh | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/t/t0013-reload-bad-config.sh b/t/t0013-reload-bad-config.sh new file mode 100755 index 0000000..abe1d5e --- /dev/null +++ b/t/t0013-reload-bad-config.sh @@ -0,0 +1,54 @@ +#!/bin/sh +. ./test-lib.sh +t_plan 7 "reload config.ru error with preload_app true" + +t_begin "setup and start" && { + rainbows_setup + rtmpfiles ru + + cat > $ru <<\EOF +use Rack::ContentLength +use Rack::ContentType, "text/plain" +x = { "hello" => "world" } +run lambda { |env| [ 200, {}, [ x.inspect << "\n" ] ] } +EOF + echo 'preload_app true' >> $unicorn_config + rainbows -D -c $unicorn_config $ru + rainbows_wait_start +} + +t_begin "hit with curl" && { + out=$(curl -sSf http://$listen/) + test x"$out" = x'{"hello"=>"world"}' +} + +t_begin "introduce syntax error in rackup file" && { + echo '...' >> $ru +} + +t_begin "reload signal succeeds" && { + kill -HUP $rainbows_pid + rainbows_wait_start + while ! egrep '(done|error) reloading' $r_err >/dev/null + do + sleep 1 + done + + grep 'error reloading' $r_err >/dev/null + > $r_err +} + +t_begin "hit with curl" && { + out=$(curl -sSf http://$listen/) + test x"$out" = x'{"hello"=>"world"}' +} + +t_begin "killing succeeds" && { + kill $rainbows_pid +} + +t_begin "check stderr" && { + check_stderr +} + +t_done |