Mercurial > hg > nginx-tests
annotate README @ 1571:1b4ceab9cb1c
Tests: fixed ssl_certificate.t with LibreSSL client.
Net::SSLeay::connect() that manages TLS handshake could return unexpected
error when receiving server alert, as seen in server certificate tests if
it could not been selected. Typically, it returns the expected error -1,
but with certain libssl implementations it can be 0, as explained below.
The error is propagated from libssl's SSL_connect(), which is usually -1.
In modern OpenSSL versions, it is the default error code used in the state
machine returned when something went wrong with parsing TLS message header.
In versions up to OpenSSL 1.0.2, with SSLv23_method() used by default, -1
is the only error code in the ssl_connect() method implementation which is
used as well if receiving alert while parsing ServerHello. BoringSSL also
seems to return -1. But it is not so with LibreSSL that returns zero.
Previously, tests failed with client built with LibreSSL with SSLv3 removed.
Here, the error is propagated directly from ssl_read_bytes() method, which
is always implemented as ssl3_read_bytes() in all TLS methods. It could be
also seen with OpenSSL up to 1.0.2 with non-default methods explicitly set.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 29 May 2020 23:10:20 +0300 |
parents | d0edeb90c0ab |
children | f3ba4c74de31 |
rev | line source |
---|---|
38 | 1 Test suite for nginx. |
10
6d6776623948
Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
6d6776623948
Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 Use prove to run tests as one usually do for perl tests. Individual tests |
6d6776623948
Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 may be run as well. |
6d6776623948
Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 |
134
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
6 Note: tests run nginx (and backend daemons if needed) listening on localhost |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
7 and may use various ports in 8000 .. 8999 range. |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
8 |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
9 Usage: |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
10 |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
11 $ TEST_NGINX_BINARY=/path/to/nginx prove . |
26
0880e0fafde4
Tests: implement smtp test backend and use it.
Maxim Dounin <mdounin@mdounin.ru>
parents:
18
diff
changeset
|
12 |
134
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
13 By default tests expect nginx binary to be at ../nginx/objs/nginx. |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
14 |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
15 Environment variables: |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
16 |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
17 TEST_NGINX_BINARY |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
18 |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
19 Sets path to nginx binary to be tested, defaults to "../nginx/objs/nginx". |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
20 |
856
d39e98893265
Tests: use TEST_NGINX_MODULES to find dynamic modules directory.
Sergey Kandaurov <pluknet@nginx.com>
parents:
266
diff
changeset
|
21 TEST_NGINX_MODULES |
d39e98893265
Tests: use TEST_NGINX_MODULES to find dynamic modules directory.
Sergey Kandaurov <pluknet@nginx.com>
parents:
266
diff
changeset
|
22 |
d39e98893265
Tests: use TEST_NGINX_MODULES to find dynamic modules directory.
Sergey Kandaurov <pluknet@nginx.com>
parents:
266
diff
changeset
|
23 Sets path to modules directory, defaults to dirname of TEST_NGINX_BINARY. |
d39e98893265
Tests: use TEST_NGINX_MODULES to find dynamic modules directory.
Sergey Kandaurov <pluknet@nginx.com>
parents:
266
diff
changeset
|
24 |
134
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
25 TEST_NGINX_VERBOSE |
10
6d6776623948
Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
26 |
134
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
27 Be a bit more verbose (in particular, print requests sent and responses |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
28 got from nginx). Note that this requires prove -v (or HARNESS_VERBOSE). |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
29 |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
30 TEST_NGINX_LEAVE |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
31 |
266
b350a2cdbf58
Tests: fixed spelling errors in README.
Ruslan Ermilov <ru@nginx.com>
parents:
134
diff
changeset
|
32 If set, temporary directory with configs and logs won't be deleted on test |
b350a2cdbf58
Tests: fixed spelling errors in README.
Ruslan Ermilov <ru@nginx.com>
parents:
134
diff
changeset
|
33 completion. Useful for debugging. |
29
71ea39729fa0
Tests: memcached module generic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
26
diff
changeset
|
34 |
134
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
35 TEST_NGINX_CATLOG |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
36 |
266
b350a2cdbf58
Tests: fixed spelling errors in README.
Ruslan Ermilov <ru@nginx.com>
parents:
134
diff
changeset
|
37 Cat error log to stdout after test completion. Useful for debugging. |
13
e8edb765595d
Tests: document ports required for tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
10
diff
changeset
|
38 |
134
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
39 TEST_NGINX_UNSAFE |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
40 |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
41 Run unsafe tests. |
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
42 |
1082
d0edeb90c0ab
Tests: additional variables mentioned in README.
Andrei Belov <defan@nginx.com>
parents:
856
diff
changeset
|
43 TEST_NGINX_GLOBALS |
d0edeb90c0ab
Tests: additional variables mentioned in README.
Andrei Belov <defan@nginx.com>
parents:
856
diff
changeset
|
44 |
d0edeb90c0ab
Tests: additional variables mentioned in README.
Andrei Belov <defan@nginx.com>
parents:
856
diff
changeset
|
45 Sets additional directives in main context. |
d0edeb90c0ab
Tests: additional variables mentioned in README.
Andrei Belov <defan@nginx.com>
parents:
856
diff
changeset
|
46 |
d0edeb90c0ab
Tests: additional variables mentioned in README.
Andrei Belov <defan@nginx.com>
parents:
856
diff
changeset
|
47 TEST_NGINX_GLOBALS_HTTP |
d0edeb90c0ab
Tests: additional variables mentioned in README.
Andrei Belov <defan@nginx.com>
parents:
856
diff
changeset
|
48 |
d0edeb90c0ab
Tests: additional variables mentioned in README.
Andrei Belov <defan@nginx.com>
parents:
856
diff
changeset
|
49 Sets additional directives in http context. |
d0edeb90c0ab
Tests: additional variables mentioned in README.
Andrei Belov <defan@nginx.com>
parents:
856
diff
changeset
|
50 |
134
c4021ebb41b6
Tests: rewrite README to be more complete.
Maxim Dounin <mdounin@mdounin.ru>
parents:
133
diff
changeset
|
51 Happy testing! |