Use a fork of pup on macOS 10.13 and higher because the binary provided
by the original project crashes immediately on those OS versions.
See https://github.com/ericchiang/pup/issues/85
When nginx is started, it returns control before it has created its pid
file. Since this test suite relies on the existence of the pid file,
wait until the pid file exists before returning from nginx_start. Time
out after 2 seconds so that if there is a real problem starting nginx
we don't wait forever.
Fixes#144
This defines a skip() function in the tests preamble which can
be used to skip tests. Skipped tests are counted, and a reason
for them being skipped printed after running the tests.
The script downloads and validates the download against a built-in
list of known checksums for the release ZIP files.
More on pup: https://github.com/ericchiang/pup/
For static builds we still need to manually reorder $HTTP_MODULES, and we
cannot source "auto/module" like the new-style configuration mode needs,
because the "auto/module" snippet modifies $HTTP_MODULES itself, but ignores
the new $ngx_module_order variable when doing a static build.
Fortunately, the old-style way of configuring the module is still working in
all Nginx versions for statically built modules, so we can keep using that
for static builds.
This fixes issue #46.
This avoids potential issues when running the tests in environments which
might set variables which Nginx tries to read on startup. For example,
the $NGINX variable was being picked from the Travis-CI build matrix
configuration.