Mercurial > hg > nginx-tests
comparison stream_geo.t @ 1044:1fe8d33f75ad
Tests: split out geo tests with binary base and skip by default.
These tests require configuration with a large number of geo entries,
which may cause long configuration parsing and enrage waitforfile().
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 30 Sep 2016 20:31:09 +0300 |
parents | 2cf72e8a1a6b |
children | 3fc6817cd84a |
comparison
equal
deleted
inserted
replaced
1043:b82f54728e14 | 1044:1fe8d33f75ad |
---|---|
159 ranges; | 159 ranges; |
160 default default; | 160 default default; |
161 127.0.0.0-127.0.0.255 test; | 161 127.0.0.0-127.0.0.255 test; |
162 127.0.0.1-127.0.0.255 loopback; | 162 127.0.0.1-127.0.0.255 loopback; |
163 } | 163 } |
164 | |
165 geo $geo_base_create { | |
166 ranges; | |
167 include base.conf; | |
168 } | |
169 | |
170 geo $geo_base_include { | |
171 ranges; | |
172 include base.conf; | |
173 } | |
174 | 164 |
175 server { | 165 server { |
176 listen 127.0.0.1:8080; | 166 listen 127.0.0.1:8080; |
177 return "geo:$geo | 167 return "geo:$geo |
178 geo_include:$geo_include | 168 geo_include:$geo_include |
182 geo_before:$geo_before | 172 geo_before:$geo_before |
183 geo_after:$geo_after | 173 geo_after:$geo_after |
184 geo_insert:$geo_insert | 174 geo_insert:$geo_insert |
185 geo_insert_before:$geo_insert_before | 175 geo_insert_before:$geo_insert_before |
186 geo_insert_after:$geo_insert_after | 176 geo_insert_after:$geo_insert_after |
187 geo_base_create:$geo_base_create | |
188 geo_base_include:$geo_base_include | |
189 geo_from_addr:$geo_from_addr | 177 geo_from_addr:$geo_from_addr |
190 geo_from_var:$geo_from_var"; | 178 geo_from_var:$geo_from_var"; |
191 } | 179 } |
192 | 180 |
193 server { | 181 server { |
228 | 216 |
229 EOF | 217 EOF |
230 | 218 |
231 $t->write_file('geo.conf', '127.0.0.0/8 loopback;'); | 219 $t->write_file('geo.conf', '127.0.0.0/8 loopback;'); |
232 $t->write_file('geo-ranges.conf', '127.0.0.0-127.255.255.255 loopback;'); | 220 $t->write_file('geo-ranges.conf', '127.0.0.0-127.255.255.255 loopback;'); |
233 $t->write_file('base.conf', join('', map { | 221 |
234 "127." . $_/256/256 % 256 . "." . $_/256 % 256 . "." . $_ % 256 . | 222 $t->try_run('no stream geo')->plan(19); |
235 "-127." . $_/256/256 % 256 . "." . $_/256 % 256 . "." .$_ % 256 . " " . | |
236 ($_ == 1 ? "loopback" : "range$_") . ";" } (0 .. 100000))); | |
237 | |
238 $t->try_run('no stream geo')->plan(21); | |
239 | 223 |
240 ############################################################################### | 224 ############################################################################### |
241 | 225 |
242 my %data = stream()->read() =~ /(\w+):(\w+)/g; | 226 my %data = stream()->read() =~ /(\w+):(\w+)/g; |
243 is($data{geo}, 'loopback', 'geo'); | 227 is($data{geo}, 'loopback', 'geo'); |
258 is($data{geo_before}, 'loopback', 'geo ranges add before'); | 242 is($data{geo_before}, 'loopback', 'geo ranges add before'); |
259 is($data{geo_after}, 'loopback', 'geo ranges add after'); | 243 is($data{geo_after}, 'loopback', 'geo ranges add after'); |
260 is($data{geo_insert}, 'loopback', 'geo ranges insert'); | 244 is($data{geo_insert}, 'loopback', 'geo ranges insert'); |
261 is($data{geo_insert_before}, 'loopback', 'geo ranges insert before'); | 245 is($data{geo_insert_before}, 'loopback', 'geo ranges insert before'); |
262 is($data{geo_insert_after}, 'loopback', 'geo ranges insert after'); | 246 is($data{geo_insert_after}, 'loopback', 'geo ranges insert after'); |
263 is($data{geo_base_create}, 'loopback', 'geo binary base create'); | |
264 is($data{geo_base_include}, 'loopback', 'geo binary base include'); | |
265 | 247 |
266 is($data{geo_from_addr}, 'loopback', 'geo from addr'); | 248 is($data{geo_from_addr}, 'loopback', 'geo from addr'); |
267 is($data{geo_from_var}, 'test', 'geo from var'); | 249 is($data{geo_from_var}, 'test', 'geo from var'); |
268 | 250 |
269 TODO: { | 251 TODO: { |