annotate realip.t @ 1427:eb1d883305ea

Tests: avoid edge cases in upstream random two test. Unavailable servers contribute to the number of attempts, if selected, before the balancer would fall back to the default round-robin method. This means that it's quite possible to get server with more connections. To facilitate with selecting two alive servers, down server was removed from the upstream configuration at the cost of slightly worse coverage.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 10 Jan 2019 17:42:34 +0300
parents afe541649054
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 #!/usr/bin/perl
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 # Tests for nginx realip module.
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 ###############################################################################
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 use warnings;
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 use strict;
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 use Test::More;
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 BEGIN { use FindBin; chdir($FindBin::Bin); }
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 use lib 'lib';
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 use Test::Nginx;
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 ###############################################################################
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 select STDERR; $| = 1;
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 select STDOUT; $| = 1;
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
1354
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
24 my $t = Test::Nginx->new()->has(qw/http realip rewrite/);
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26 $t->write_file_expand('nginx.conf', <<'EOF');
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28 %%TEST_GLOBALS%%
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29
249
6a0d934950bc Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents: 247
diff changeset
30 daemon off;
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 events {
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33 }
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 http {
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36 %%TEST_GLOBALS_HTTP%%
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
38 add_header X-IP $remote_addr;
690
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
39 set_real_ip_from 127.0.0.1/32;
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
40 set_real_ip_from 10.0.1.0/24;
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 server {
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
43 listen 127.0.0.1:8080;
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 server_name localhost;
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45
690
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
46 location / { }
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
47 location /custom {
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
48 real_ip_header X-Real-IP-Custom;
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
49 }
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
50
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
51 location /1 {
690
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
52 real_ip_header X-Forwarded-For;
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
53 real_ip_recursive off;
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
54 }
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
55
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
56 location /2 {
690
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
57 real_ip_header X-Forwarded-For;
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
58 real_ip_recursive on;
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 }
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60 }
1355
afe541649054 Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1354
diff changeset
61
afe541649054 Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1354
diff changeset
62 server {
afe541649054 Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1354
diff changeset
63 listen 127.0.0.1:8081;
afe541649054 Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1354
diff changeset
64 server_name localhost;
afe541649054 Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1354
diff changeset
65
afe541649054 Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1354
diff changeset
66 return 204;
afe541649054 Tests: fixed realip.t with parallel tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1354
diff changeset
67 }
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
68 }
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
70 EOF
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
71
690
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
72 $t->write_file('index.html', '');
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
73 $t->write_file('custom', '');
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
74 $t->write_file('1', '');
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
75 $t->write_file('2', '');
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
76 $t->run();
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
77
217
ea574aae77cb Tests: unbreak geo and realip tests in jails.
Maxim Dounin <mdounin@mdounin.ru>
parents: 216
diff changeset
78 plan(skip_all => 'no 127.0.0.1 on host')
690
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
79 if http_get('/') !~ /X-IP: 127.0.0.1/m;
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
80
1354
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
81 $t->plan(8);
217
ea574aae77cb Tests: unbreak geo and realip tests in jails.
Maxim Dounin <mdounin@mdounin.ru>
parents: 216
diff changeset
82
ea574aae77cb Tests: unbreak geo and realip tests in jails.
Maxim Dounin <mdounin@mdounin.ru>
parents: 216
diff changeset
83 ###############################################################################
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
84
690
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
85 like(http(<<EOF), qr/^X-IP: 192.0.2.1/m, 'realip');
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
86 GET / HTTP/1.0
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
87 Host: localhost
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
88 X-Real-IP: 192.0.2.1
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
89
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
90 EOF
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
91
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
92 like(http(<<EOF), qr/^X-IP: 192.0.2.1/m, 'realip custom');
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
93 GET /custom HTTP/1.0
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
94 Host: localhost
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
95 X-Real-IP-Custom: 192.0.2.1
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
96
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
97 EOF
a894f041244e Tests: corrected simple realip tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 590
diff changeset
98
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
99 like(http_xff('/1', '10.0.0.1, 192.0.2.1'), qr/^X-IP: 192.0.2.1/m,
590
dc2f8aac0553 Tests: whitespace fixes.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 317
diff changeset
100 'realip multi');
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
101 like(http_xff('/1', '192.0.2.1, 10.0.1.1, 127.0.0.1'),
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
102 qr/^X-IP: 127.0.0.1/m, 'realip recursive off');
247
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
103 like(http_xff('/2', '10.0.1.1, 192.0.2.1, 127.0.0.1'),
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
104 qr/^X-IP: 192.0.2.1/m, 'realip recursive on');
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
105
247
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
106 like(http(<<EOF), qr/^X-IP: 10.0.1.1/m, 'realip multi xff recursive off');
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
107 GET /1 HTTP/1.0
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
108 Host: localhost
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
109 X-Forwarded-For: 192.0.2.1
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
110 X-Forwarded-For: 127.0.0.1, 10.0.1.1
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
111
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
112 EOF
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
113
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
114 like(http(<<EOF), qr/^X-IP: 192.0.2.1/m, 'realip multi xff recursive on');
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
115 GET /2 HTTP/1.0
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
116 Host: localhost
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
117 X-Forwarded-For: 10.0.1.1
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
118 X-Forwarded-For: 192.0.2.1
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
119 X-Forwarded-For: 127.0.0.1
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
120
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
121 EOF
bf6b05f03458 Tests: add realip tests for multiple X-Forwarded-For headers.
Andrei Belov <defan@nginx.com>
parents: 245
diff changeset
122
1354
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
123 my $s = IO::Socket::INET->new('127.0.0.1:' . port(8081));
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
124 like(http(<<EOF, socket => $s), qr/ 204 .*192.0.2.1/s, 'realip post read');
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
125 GET / HTTP/1.0
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
126 Host: localhost
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
127 X-Real-IP: 192.0.2.1
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
128
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
129 EOF
c0075a0a2ba9 Tests: added realip test on http post read phase.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
130
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
131 ###############################################################################
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
132
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
133 sub http_xff {
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
134 my ($uri, $xff) = @_;
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
135 return http(<<EOF);
245
7189255c1b91 Tests: added real_ip_recursive test.
Andrei Belov <defan@nginx.com>
parents: 217
diff changeset
136 GET $uri HTTP/1.0
216
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
137 Host: localhost
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
138 X-Forwarded-For: $xff
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
139
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
140 EOF
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
141 }
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
142
f2f37a52e42e Tests: basic tests for geo and realip modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
143 ###############################################################################