support for Rack hijack in request and response
[unicorn.git] / t / README
blob095f10667ca273d47fde1e7434492f2fba603030
1 = Unicorn integration test suite
3 These are all integration tests that start the server on random, unused
4 TCP ports or Unix domain sockets.  They're all designed to run
5 concurrently with other tests to minimize test time, but tests may be
6 run independently as well.
8 We write our tests in Bourne shell because that's what we're
9 comfortable writing integration tests with.
11 == Requirements
13 * {Ruby 1.8 or 1.9}[http://www.ruby-lang.org/] (duh!)
14 * {GNU make}[http://www.gnu.org/software/make/]
15 * {socat}[http://www.dest-unreach.org/socat/]
16 * {curl}[http://curl.haxx.se/]
17 * standard UNIX shell utilities (Bourne sh, awk, sed, grep, ...)
19 We do not use bashisms or any non-portable, non-POSIX constructs
20 in our shell code.  We use the "pipefail" option if available and
21 mainly test with {ksh}[http://kornshell.com/], but occasionally
22 with {dash}[http://gondor.apana.org.au/~herbert/dash/] and
23 {bash}[http://www.gnu.org/software/bash/], too.
25 == Running Tests
27 To run the entire test suite with 8 tests running at once:
29   make -j8
31 To run one individual test:
33   make t0000-simple-http.sh
35 You may also increase verbosity by setting the "V" variable for
36 GNU make.  To disable trapping of stdout/stderr:
38   make V=1
40 To enable the "set -x" option in shell scripts to trace execution
42   make V=2