2 # Copyright (c) 2009 Rainbows! hackers
3 # Copyright (c) 2010 Unicorn hackers
8 # sometimes we rely on http_proxy to avoid wasting bandwidth with Isolate
9 # and multiple Ruby versions
10 NO_PROXY
=${UNICORN_TEST_ADDR-127.0.0.1}
15 RUBY_VERSION
=${RUBY_VERSION-$($RUBY -e 'puts RUBY_VERSION')}
16 RUBY_ENGINE
=${RUBY_ENGINE-$($RUBY -e 'puts((RUBY_ENGINE rescue "ruby"))')}
17 t_pfx
=$PWD/trash
/$T-$RUBY_ENGINE-$RUBY_VERSION
23 test -x $PWD/bin
/unused_listen || die
"must be run in 't' directory"
28 while ! test -s "$path" && test $nr -gt 0
35 # "unix_time" is not in POSIX, but in GNU, and FreeBSD 9.0 (possibly earlier)
37 $RUBY -e 'puts Time.now.to_i'
40 # "wc -c" outputs leading whitespace on *BSDs, filter it out for portability
42 wc -c |
tr -d '[:space:]'
45 # given a list of variable names, create temporary files and assign
46 # the pathnames to those variables
58 T_RM_LIST
="$T_RM_LIST $_tmp"
61 _tmp
="$(mktemp -t $id.$$.XXXXXXXX)"
62 if test $
(printf "$_tmp" |count_bytes
) -gt 108
64 echo >&2 "$_tmp too long, tests may fail"
65 echo >&2 "Try to set TMPDIR to a shorter path"
69 T_RM_LIST
="$T_RM_LIST $_tmp"
75 T_OK_RM_LIST
="$T_OK_RM_LIST $_tmp"
85 sed -e "s/^/$id:/" < $_file
92 if grep -v $T $_r_err |
grep -i Error
94 die
"Errors found in $_r_err"
95 elif grep SIGKILL
$_r_err
97 die
"SIGKILL found in $_r_err"
103 eval $
(unused_listen
)
104 port
=$
(expr $listen : '[^:]*:\([0-9]\+\)')
105 host=$
(expr $listen : '\([^:]*\):[0-9]\+')
107 rtmpfiles unicorn_config pid r_err r_out fifo tmp ok
108 cat > $unicorn_config <<EOF
116 unicorn_wait_start
() {
117 # no need to play tricks with FIFOs since we got "ready_pipe" now
118 unicorn_pid
=$
(cat $pid)