Mercurial > hg > nginx-tests
annotate worker_shutdown_timeout.t @ 1965:84f4d4930835
Tests: relaxed mail_imap_ssl.t cipher matching.
Previously, exact match between cipher name in the log and the one from
IO::Socket:SSL was needed, which might not be the case if nginx and
Net::SSLeay are compiled with different SSL libraries, notably LibreSSL
(which uses names like AEAD-AES256-GCM-SHA384 till 3.5.0), and
OpenSSL or BoringSSL (which use TLS_AES_256_GCM_SHA384). In particular,
this affects macOS, where Net::SSLeay compiled with LibreSSL 3.3.6 is
shipped with the OS, while nginx is likely to be compiled with OpenSSL.
Fix is to not require exact match but instead accept properly looking names
as checked by a regular expression, similarly to how it is already tested
in ssl.t and stream_ssl_variables.t.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 06 May 2024 00:01:40 +0300 |
parents | 766bcbb632ee |
children |
rev | line source |
---|---|
1149
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Sergey Kandaurov |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 # Tests for worker_shutdown_timeout directive. |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use strict; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 |
1157
06bb6af4324e
Tests: adjusted worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1149
diff
changeset
|
15 use IO::Select; |
06bb6af4324e
Tests: adjusted worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1149
diff
changeset
|
16 |
1149
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 BEGIN { use FindBin; chdir($FindBin::Bin); } |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 use lib 'lib'; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 use Test::Nginx; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 ############################################################################### |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 select STDERR; $| = 1; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 select STDOUT; $| = 1; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
26 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 my $t = Test::Nginx->new()->has(qw/http/) |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 ->write_file_expand('nginx.conf', <<'EOF'); |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 %%TEST_GLOBALS%% |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 daemon off; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 worker_shutdown_timeout 10ms; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 events { |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 } |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 http { |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 %%TEST_GLOBALS_HTTP%% |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 server { |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 listen 127.0.0.1:8080; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
43 server_name localhost; |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 location / { } |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
46 } |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
47 } |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 EOF |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 |
1251
766bcbb632ee
Tests: removed TODO and try_run() checks for legacy versions.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1206
diff
changeset
|
51 $t->run()->plan(1); |
1149
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 ############################################################################### |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
54 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
55 my $s = http('', start => 1); |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
56 |
1162
feb91ae3fca3
Tests: reduced race in worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1160
diff
changeset
|
57 select undef, undef, undef, 0.2; |
feb91ae3fca3
Tests: reduced race in worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1160
diff
changeset
|
58 |
1206
c99c1f43cb15
Tests: reload() introduced in Test::Nginx.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1162
diff
changeset
|
59 $t->reload(); |
1160
4ed2226d47de
Tests: increased read timeout in worker_shutdown_timeout test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1157
diff
changeset
|
60 |
4ed2226d47de
Tests: increased read timeout in worker_shutdown_timeout test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1157
diff
changeset
|
61 if (IO::Select->new($s)->can_read(5)) { |
4ed2226d47de
Tests: increased read timeout in worker_shutdown_timeout test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1157
diff
changeset
|
62 Test::Nginx::log_core('||', "select: can_read"); |
4ed2226d47de
Tests: increased read timeout in worker_shutdown_timeout test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1157
diff
changeset
|
63 } |
1149
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
65 is(http_get('/', socket => $s) || '', '', 'worker_shutdown_timeout'); |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
66 |
b1c2857d2e97
Tests: basic worker_shutdown_timeout test.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
67 ############################################################################### |