Sha256: e027c17eedcfb042c6f3b49972664dc98f94a270bf23795b4bf89c3795d4bd55

Contents?: true

Size: 1.08 KB

Versions: 101

Compression:

Stored size: 1.08 KB

Contents

#!/bin/sh
. ./test-lib.sh

t_plan 9 "graceful handling of broken apps"

t_begin "setup and start" && {
	unicorn_setup
	unicorn -E none -D broken-app.ru -c $unicorn_config
	unicorn_wait_start
}

t_begin "normal response is alright" && {
	test xOK = x"$(curl -sSf http://$listen/)"
}

t_begin "app raised exception" && {
	curl -sSf http://$listen/raise 2> $tmp || :
	grep -F 500 $tmp
	> $tmp
}

t_begin "app exception logged and backtrace not swallowed" && {
	grep -F 'app error' $r_err
	grep -A1 -F 'app error' $r_err | tail -1 | grep broken-app.ru:
	dbgcat r_err
	> $r_err
}

t_begin "trigger bad response" && {
	curl -sSf http://$listen/nil 2> $tmp || :
	grep -F 500 $tmp
	> $tmp
}

t_begin "app exception logged" && {
	grep -F 'app error' $r_err
	> $r_err
}

t_begin "normal responses alright afterwards" && {
	> $tmp
	curl -sSf http://$listen/ >> $tmp &
	curl -sSf http://$listen/ >> $tmp &
	curl -sSf http://$listen/ >> $tmp &
	curl -sSf http://$listen/ >> $tmp &
	wait
	test xOK = x$(sort < $tmp | uniq)
}

t_begin "teardown" && {
	kill $unicorn_pid
}

t_begin "check stderr" && check_stderr

t_done

Version data entries

101 entries across 101 versions & 12 rubygems

Version Path
unicorn-maintained-6.2.0 t/t0009-broken-app.sh
unicorn-6.1.0 t/t0009-broken-app.sh
unicorn-6.0.0 t/t0009-broken-app.sh
unicorn-5.8.0 t/t0009-broken-app.sh
unicorn-5.7.0 t/t0009-broken-app.sh
unicorn-5.6.0 t/t0009-broken-app.sh
unicorn-5.5.5 t/t0009-broken-app.sh
unicorn-5.5.4 t/t0009-broken-app.sh
unicorn-5.5.3 t/t0009-broken-app.sh
unicorn-5.5.2 t/t0009-broken-app.sh
unicorn-5.5.1 t/t0009-broken-app.sh
unicorn-5.5.0.1.g6836 t/t0009-broken-app.sh
unicorn-5.5.0 t/t0009-broken-app.sh
unicorn-5.5.0.pre1 t/t0009-broken-app.sh
unicorn-5.4.1 t/t0009-broken-app.sh
unicorn-5.4.0 t/t0009-broken-app.sh
unicorn-5.3.1 t/t0009-broken-app.sh
unicorn-shopify-5.3.0 t/t0009-broken-app.sh
unicorn-5.3.0 t/t0009-broken-app.sh
unicorn-5.3.0.pre1 t/t0009-broken-app.sh