Mercurial > hg > nginx-tests
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!