2 # Copyright (c) 2009 Rainbows! developers
9 t1???
-thread-pool-*.sh
) model
=ThreadPool
;;
10 t2???
-thread-spawn-*.sh
) model
=ThreadSpawn
;;
11 t3???
-revactor-*.sh
) model
=Revactor
;;
12 t4???
-rev-*.sh
) model
=Rev
;;
19 RUBY_VERSION
=${RUBY_VERSION-$($RUBY -e 'puts RUBY_VERSION')}
20 t_pfx
=$PWD/trash
/$T-$RUBY_VERSION
26 test -x $PWD/bin
/unused_listen || die
"must be run in 't' directory"
31 while ! test -s "$path" && test $nr -gt 0
38 # requires $1 and prints out the value of $2
42 if ! $RUBY -r$lib -e "puts $const" >/dev
/null
2>&1
44 t_info
"skipping $T since we don't have $lib"
49 # given a list of variable names, create temporary files and assign
50 # the pathnames to those variables
62 T_RM_LIST
="$T_RM_LIST $_tmp"
66 T_OK_RM_LIST
="$T_OK_RM_LIST $_tmp"
76 sed -e "s/^/$id:/" < $_file
85 die
"Errors found in $_r_err"
86 elif grep SIGKILL
$_r_err
88 die
"SIGKILL found in $_r_err"
92 # rainbows_setup [ MODEL [ WORKER_CONNECTIONS ] ]
95 rtmpfiles unicorn_config pid r_err r_out fifo tmp ok
96 cat > $unicorn_config <<EOF
102 # close my-tap-lib.sh FDs
103 unless ENV['UNICORN_FD']
104 IO.for_fd(3).close rescue nil
105 IO.for_fd(4).close rescue nil
108 before_fork do |server, worker|
109 # test script will block while reading from $fifo,
110 # so notify the script on the first worker we spawn
111 # by opening the FIFO
113 File.open("$fifo", "wb").close
122 test $# -eq 2 && echo " worker_connections $2"
125 echo "Rainbows! { use :$model }"
130 rainbows_wait_start
() {
131 # "cat $fifo" will block until the before_fork hook is called in
132 # the Unicorn config file
133 test x
= x
"$(cat $fifo)"
134 rainbows_pid
=$
(cat $pid)
138 Rev
) require_check
rev Rev
::VERSION
;;
139 Revactor
) require_check revactor Revactor
::VERSION
;;