comparison stream_limit_conn.t @ 952:e9064d691790

Tests: converted tests to run in parallel.
author Andrey Zelenkov <zelenkov@nginx.com>
date Tue, 21 Jun 2016 16:39:13 +0300
parents 5048b8f0fedd
children 882267679006
comparison
equal deleted inserted replaced
951:9361c7eddfc1 952:e9064d691790
35 stream { 35 stream {
36 limit_conn_zone $binary_remote_addr zone=zone:1m; 36 limit_conn_zone $binary_remote_addr zone=zone:1m;
37 limit_conn_zone $binary_remote_addr zone=zone2:1m; 37 limit_conn_zone $binary_remote_addr zone=zone2:1m;
38 38
39 server { 39 server {
40 listen 127.0.0.1:8080; 40 listen 127.0.0.1:%%PORT_0%%;
41 proxy_pass 127.0.0.1:8084; 41 proxy_pass 127.0.0.1:%%PORT_4%%;
42 limit_conn zone 1; 42 limit_conn zone 1;
43 } 43 }
44 44
45 server { 45 server {
46 listen 127.0.0.1:8085; 46 listen 127.0.0.1:%%PORT_5%%;
47 proxy_pass 127.0.0.1:8084; 47 proxy_pass 127.0.0.1:%%PORT_4%%;
48 limit_conn zone 5; 48 limit_conn zone 5;
49 } 49 }
50 50
51 server { 51 server {
52 listen 127.0.0.1:8081; 52 listen 127.0.0.1:%%PORT_1%%;
53 proxy_pass 127.0.0.1:8084; 53 proxy_pass 127.0.0.1:%%PORT_4%%;
54 limit_conn zone2 1; 54 limit_conn zone2 1;
55 } 55 }
56 56
57 server { 57 server {
58 listen 127.0.0.1:8082; 58 listen 127.0.0.1:%%PORT_2%%;
59 proxy_pass 127.0.0.1:8080; 59 proxy_pass 127.0.0.1:%%PORT_0%%;
60 limit_conn zone2 1; 60 limit_conn zone2 1;
61 } 61 }
62 62
63 server { 63 server {
64 listen 127.0.0.1:8083; 64 listen 127.0.0.1:%%PORT_3%%;
65 proxy_pass 127.0.0.1:8080; 65 proxy_pass 127.0.0.1:%%PORT_0%%;
66 limit_conn zone 1; 66 limit_conn zone 1;
67 } 67 }
68 } 68 }
69 69
70 http { 70 http {
71 %%TEST_GLOBALS_HTTP%% 71 %%TEST_GLOBALS_HTTP%%
72 72
73 server { 73 server {
74 listen 127.0.0.1:8084; 74 listen 127.0.0.1:%%PORT_4%%;
75 server_name localhost; 75 server_name localhost;
76 76
77 location / { } 77 location / { }
78 } 78 }
79 } 79 }
94 EOF 94 EOF
95 95
96 ok($s, 'long connection'); 96 ok($s, 'long connection');
97 97
98 is(get(), undef, 'rejected same zone'); 98 is(get(), undef, 'rejected same zone');
99 like(get('127.0.0.1:8081'), qr/200 OK/, 'passed different zone'); 99 like(get('127.0.0.1:' . port(1)), qr/200 OK/, 'passed different zone');
100 like(get('127.0.0.1:8085'), qr/200 OK/, 'passed same zone unlimited'); 100 like(get('127.0.0.1:' . port(5)), qr/200 OK/, 'passed same zone unlimited');
101 101
102 ok(http(<<EOF, socket => $s), 'long connection closed'); 102 ok(http(<<EOF, socket => $s), 'long connection closed');
103 Host: localhost 103 Host: localhost
104 104
105 EOF 105 EOF
106 106
107 # zones proxy chain 107 # zones proxy chain
108 108
109 like(get('127.0.0.1:8082'), qr/200 OK/, 'passed proxy'); 109 like(get('127.0.0.1:' . port(2)), qr/200 OK/, 'passed proxy');
110 is(get('127.0.0.1:8083'), undef, 'rejected proxy'); 110 is(get('127.0.0.1:' . port(3)), undef, 'rejected proxy');
111 111
112 ############################################################################### 112 ###############################################################################
113 113
114 sub get { 114 sub get {
115 my $peer = shift; 115 my $peer = shift;
124 124
125 sub getconn { 125 sub getconn {
126 my $peer = shift; 126 my $peer = shift;
127 my $s = IO::Socket::INET->new( 127 my $s = IO::Socket::INET->new(
128 Proto => 'tcp', 128 Proto => 'tcp',
129 PeerAddr => $peer || '127.0.0.1:8080' 129 PeerAddr => $peer || '127.0.0.1:' . port(0)
130 ) 130 )
131 or die "Can't connect to nginx: $!\n"; 131 or die "Can't connect to nginx: $!\n";
132 132
133 return $s; 133 return $s;
134 } 134 }