comparison upstream_hash.t @ 974:882267679006

Tests: simplified parallel modifications in tests. Mail tests were simplified in c227348453db.
author Andrey Zelenkov <zelenkov@nginx.com>
date Tue, 12 Jul 2016 17:39:03 +0300
parents e9064d691790
children 38ed3dda3279
comparison
equal deleted inserted replaced
973:7d7aef8b9f3a 974:882267679006
36 http { 36 http {
37 %%TEST_GLOBALS_HTTP%% 37 %%TEST_GLOBALS_HTTP%%
38 38
39 upstream u { 39 upstream u {
40 hash $arg_a; 40 hash $arg_a;
41 server 127.0.0.1:%%PORT_1%%; 41 server 127.0.0.1:8081;
42 server 127.0.0.1:%%PORT_2%%; 42 server 127.0.0.1:8082;
43 server 127.0.0.1:%%PORT_3%%; 43 server 127.0.0.1:8083;
44 } 44 }
45 45
46 upstream u2 { 46 upstream u2 {
47 hash $arg_a; 47 hash $arg_a;
48 server 127.0.0.1:%%PORT_1%%; 48 server 127.0.0.1:8081;
49 server 127.0.0.1:%%PORT_3%%; 49 server 127.0.0.1:8083;
50 } 50 }
51 51
52 upstream cw { 52 upstream cw {
53 hash $arg_a consistent; 53 hash $arg_a consistent;
54 server 127.0.0.1:%%PORT_1%%; 54 server 127.0.0.1:8081;
55 server 127.0.0.1:%%PORT_2%%; 55 server 127.0.0.1:8082;
56 server 127.0.0.1:%%PORT_3%% weight=10; 56 server 127.0.0.1:8083 weight=10;
57 } 57 }
58 58
59 upstream cw2 { 59 upstream cw2 {
60 hash $arg_a consistent; 60 hash $arg_a consistent;
61 server 127.0.0.1:%%PORT_1%%; 61 server 127.0.0.1:8081;
62 server 127.0.0.1:%%PORT_3%% weight=10; 62 server 127.0.0.1:8083 weight=10;
63 } 63 }
64 64
65 upstream c { 65 upstream c {
66 hash $arg_a consistent; 66 hash $arg_a consistent;
67 server 127.0.0.1:%%PORT_1%%; 67 server 127.0.0.1:8081;
68 server 127.0.0.1:%%PORT_2%%; 68 server 127.0.0.1:8082;
69 server 127.0.0.1:%%PORT_3%%; 69 server 127.0.0.1:8083;
70 } 70 }
71 71
72 upstream c2 { 72 upstream c2 {
73 hash $arg_a consistent; 73 hash $arg_a consistent;
74 server 127.0.0.1:%%PORT_1%%; 74 server 127.0.0.1:8081;
75 server 127.0.0.1:%%PORT_3%%; 75 server 127.0.0.1:8083;
76 } 76 }
77 77
78 upstream bad { 78 upstream bad {
79 hash $arg_a; 79 hash $arg_a;
80 server 127.0.0.1:%%PORT_1%%; 80 server 127.0.0.1:8081;
81 server 127.0.0.1:%%PORT_4%%; 81 server 127.0.0.1:8084;
82 } 82 }
83 83
84 upstream cbad { 84 upstream cbad {
85 hash $arg_a consistent; 85 hash $arg_a consistent;
86 server 127.0.0.1:%%PORT_1%%; 86 server 127.0.0.1:8081;
87 server 127.0.0.1:%%PORT_4%%; 87 server 127.0.0.1:8084;
88 } 88 }
89 89
90 server { 90 server {
91 listen 127.0.0.1:%%PORT_0%%; 91 listen 127.0.0.1:8080;
92 server_name localhost; 92 server_name localhost;
93 93
94 location / { 94 location / {
95 proxy_pass http://u; 95 proxy_pass http://u;
96 } 96 }
120 proxy_next_upstream http_502; 120 proxy_next_upstream http_502;
121 } 121 }
122 } 122 }
123 123
124 server { 124 server {
125 listen 127.0.0.1:%%PORT_1%%; 125 listen 127.0.0.1:8081;
126 listen 127.0.0.1:%%PORT_2%%; 126 listen 127.0.0.1:8082;
127 listen 127.0.0.1:%%PORT_3%%; 127 listen 127.0.0.1:8083;
128 server_name localhost; 128 server_name localhost;
129 129
130 add_header X-Port $server_port; 130 add_header X-Port $server_port;
131 131
132 location / { 132 location / {
133 return 204; 133 return 204;
134 } 134 }
135 135
136 location /502 { 136 location /502 {
137 if ($server_port = %%PORT_3%%) { 137 if ($server_port = %%PORT_8083%%) {
138 return 502; 138 return 502;
139 } 139 }
140 return 204; 140 return 204;
141 } 141 }
142 } 142 }
143 143
144 server { 144 server {
145 listen 127.0.0.1:%%PORT_4%%; 145 listen 127.0.0.1:8084;
146 server_name localhost; 146 server_name localhost;
147 return 444; 147 return 444;
148 } 148 }
149 } 149 }
150 150
152 152
153 $t->run(); 153 $t->run();
154 154
155 ############################################################################### 155 ###############################################################################
156 156
157 my ($p1, $p2, $p3) = (port(1), port(2), port(3)); 157 my ($p1, $p2, $p3) = (port(8081), port(8082), port(8083));
158 158
159 # Only requests for absent peer are moved to other peers if hash is consistent. 159 # Only requests for absent peer are moved to other peers if hash is consistent.
160 # Check this by comparing two upstreams with different number of peers. 160 # Check this by comparing two upstreams with different number of peers.
161 161
162 ok(!cmp_peers([iter('/', 20)], [iter('/2', 20)], $p2), 'inconsistent'); 162 ok(!cmp_peers([iter('/', 20)], [iter('/2', 20)], $p2), 'inconsistent');