Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
bin
rails3-app
.gitignore
GNUmakefile
README
env.ru
my-tap-lib.sh
pid.ru
preread_input.ru
rack-input-tests.ru
t0000-http-basic.sh
t0001-reload-bad-config.sh
t0002-config-conflict.sh
t0002-parser-error.sh
t0003-working_directory.sh
t0004-working_directory_broken.sh
t0005-working_directory_app.rb.sh
t0006-reopen-logs.sh
t0006.ru
t0007-working_directory_no_embed_cli.sh
t0008-back_out_of_upgrade.sh
t0009-winch_ttin.sh
t0010-reap-logging.sh
t0011-active-unix-socket.sh
t0012-reload-empty-config.sh
t0013-rewindable-input-false.sh
t0013.ru
t0014-rewindable-input-true.sh
t0014.ru
t0015-configurator-internals.sh
t0016-trust-x-forwarded-false.sh
t0017-trust-x-forwarded-true.sh
t0018-write-on-close.sh
t0100-rack-input-tests.sh
t0116-client_body_buffer_size.sh
t0116.ru
t0300-rails3-basic.sh
t0301-rails3-missing-config-ru.sh
t0302-rails3-alt-working_directory.sh
t0303-rails3-alt-working_directory_config.ru.sh
t0304-rails3-alt-working_directory_no_embed_cli.sh
t9000-preread-input.sh
test-lib.sh
test-rails3.sh
write-on-close.ru

README

= Unicorn integration test suite

These are all integration tests that start the server on random, unused
TCP ports or Unix domain sockets.  They're all designed to run
concurrently with other tests to minimize test time, but tests may be
run independently as well.

We write our tests in Bourne shell because that's what we're
comfortable writing integration tests with.

== Requirements

* {Ruby 1.8 or 1.9}[http://www.ruby-lang.org/] (duh!)
* {GNU make}[http://www.gnu.org/software/make/]
* {socat}[http://www.dest-unreach.org/socat/]
* {curl}[http://curl.haxx.se/]
* standard UNIX shell utilities (Bourne sh, awk, sed, grep, ...)

We do not use bashisms or any non-portable, non-POSIX constructs
in our shell code.  We use the "pipefail" option if available and
mainly test with {ksh}[http://kornshell.com/], but occasionally
with {dash}[http://gondor.apana.org.au/~herbert/dash/] and
{bash}[http://www.gnu.org/software/bash/], too.

== Running Tests

To run the entire test suite with 8 tests running at once:

  make -j8

To run one individual test:

  make t0000-simple-http.sh

You may also increase verbosity by setting the "V" variable for
GNU make.  To disable trapping of stdout/stderr:

  make V=1

To enable the "set -x" option in shell scripts to trace execution

  make V=2
Something went wrong with that request. Please try again.