view README @ 1905:f35824e75b66

Tests: fixed reading QUIC streams on Perl < 5.24. The parse_stream() routine has had a missing explicit return if there were no streams received. In Perl < 5.24 this used to return no value, or an empty array in the list context. In modern Perl this returns an empty value, or an array of 1 element, which made the check for last index of the returned array work rather by accident. The fix is to return explicitly and to check the array size in callers instead.
author Sergey Kandaurov <pluknet@nginx.com>
date Tue, 06 Jun 2023 18:50:07 +0400
parents f3ba4c74de31
children fb25cbe9d4ec
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.

TEST_NGINX_GLOBALS_STREAM

    Sets additional directives in stream context.

Happy testing!