Mercurial > hg > nginx-tests
annotate stream_status_variable.t @ 1215:26884729e06b
Tests: cope with resolver resend in mail resolver tests.
Currently, if resolver didn't find PTR type in the answer section of PTR
response, it keeps the node in the resend queue until the next timer event.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Thu, 31 Aug 2017 19:09:04 +0300 |
parents | 94f8cd9b41dc |
children | 75a83f36cff0 |
rev | line source |
---|---|
1025
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Sergey Kandaurov |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 # Tests for stream status variable. |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use strict; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx::Stream qw/ stream /; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/stream stream_return stream_access/) |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 ->has(qw/stream_limit_conn/); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 $t->write_file_expand('nginx.conf', <<'EOF'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 %%TEST_GLOBALS%% |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 daemon off; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 events { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 stream { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 log_format status $status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 limit_conn_zone $binary_remote_addr zone=zone:1m; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
43 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 listen 127.0.0.1:8080; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 return SEE-THIS; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
46 access_log %%TESTDIR%%/200.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
47 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 listen 127.0.0.1:8081; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
51 return SEE-THIS; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 deny all; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 access_log %%TESTDIR%%/403.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
54 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
55 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
56 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
57 listen 127.0.0.1:8082; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
58 proxy_pass 127.0.0.1:8083; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
59 access_log %%TESTDIR%%/502.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
60 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
61 proxy_connect_timeout 0; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
62 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
63 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
65 listen 127.0.0.1:8084; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
66 proxy_bind 127.0.0.1:$remote_port; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
67 proxy_pass 127.0.0.1:8083; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
68 access_log %%TESTDIR%%/500.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
69 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
70 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
71 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
72 listen 127.0.0.1:8085; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
73 limit_conn zone 1; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
74 proxy_pass 127.0.0.1:8086; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
75 access_log %%TESTDIR%%/503.log status; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
76 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
77 proxy_download_rate 1; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
78 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
79 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
80 server { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
81 listen 127.0.0.1:8086; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
82 return SEE-THIS; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
83 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
84 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
85 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
86 EOF |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
87 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
88 $t->try_run('no stream access_log')->plan(5); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
89 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
90 ############################################################################### |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
91 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
92 stream('127.0.0.1:' . port(8080))->read(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
93 stream('127.0.0.1:' . port(8081))->read(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
94 stream('127.0.0.1:' . port(8082))->read(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
95 stream('127.0.0.1:' . port(8084))->read() if $^O ne 'MSWin32'; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
96 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
97 my $s = stream('127.0.0.1:' . port(8085)); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
98 $s->write('busy'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
99 stream('127.0.0.1:' . port(8085))->read(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
100 $s->read(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
101 undef $s; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
102 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
103 $t->stop(); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
104 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
105 is($t->read_file('200.log'), "200\n", 'stream status 200'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
106 is($t->read_file('403.log'), "403\n", 'stream status 403'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
107 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
108 SKIP: { |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
109 skip 'win32', 1 if $^O eq 'MSWin32'; |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
110 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
111 is($t->read_file('500.log'), "500\n", 'stream status 500'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
112 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
113 } |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
114 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
115 is($t->read_file('502.log'), "502\n", 'stream status 502'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
116 is($t->read_file('503.log'), "503\n200\n", 'stream status 503'); |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
117 |
94f8cd9b41dc
Tests: stream $status tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
118 ############################################################################### |