view README @ 1236:93f749c1d5c5

Tests: fixed parallel tests execution with UDP. Previously, when checking ports availability, a UDP socket was always created first, then a TCP socket was created. On success, one of UDP and TCP sockets was closed (depending on the "udp" option) and the second one was used to busy this port in other scripts. This lead to the following problem: in an attempt to reopen a UDP socket used in a given testing script it could be stolen by another script as part of checking ports availability. To solve this problem, UDP and TCP ports were split into two non-overlapping ranges: TCP ports are only used in the range 8000-8499, and UDP ports - in the range 8500-8999. In addition, the order of creating sockets in UDP tests has been reversed: now a TCP socket used as a lock precedes a UDP socket.
author Andrey Zelenkov <zelenkov@nginx.com>
date Thu, 26 Oct 2017 18:00:21 +0300
parents d0edeb90c0ab
children f3ba4c74de31
line wrap: on
line source

Test suite for nginx.

Use prove to run tests as one usually do for perl tests.  Individual tests
may be run as well.

Note: tests run nginx (and backend daemons if needed) listening on localhost
and may use various ports in 8000 .. 8999 range.

Usage:

    $ TEST_NGINX_BINARY=/path/to/nginx prove .

By default tests expect nginx binary to be at ../nginx/objs/nginx.

Environment variables:

TEST_NGINX_BINARY

    Sets path to nginx binary to be tested, defaults to "../nginx/objs/nginx".

TEST_NGINX_MODULES

    Sets path to modules directory, defaults to dirname of TEST_NGINX_BINARY.

TEST_NGINX_VERBOSE

    Be a bit more verbose (in particular, print requests sent and responses
    got from nginx).  Note that this requires prove -v (or HARNESS_VERBOSE).

TEST_NGINX_LEAVE

    If set, temporary directory with configs and logs won't be deleted on test
    completion.  Useful for debugging.

TEST_NGINX_CATLOG

    Cat error log to stdout after test completion.  Useful for debugging.

TEST_NGINX_UNSAFE

    Run unsafe tests.

TEST_NGINX_GLOBALS

    Sets additional directives in main context.

TEST_NGINX_GLOBALS_HTTP

    Sets additional directives in http context.

Happy testing!