Mercurial > hg > nginx-tests
annotate map.t @ 251:df984d23f9d1
Tests: improve fastcgi keepalive tests.
On some platforms fastcgi_keepalive.t tests failed due to problems in
handling of data split into multiple packets. Harden tests to fail
on all platforms by adding more sleeps, and mark them as TODO till
underlying problems are fixed.
Additionally, add some padding testing.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 25 Jan 2013 20:53:53 +0400 |
parents | 6a0d934950bc |
children | 1f8e15e1899a |
rev | line source |
---|---|
227
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for map module. |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Test::More; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 BEGIN { use FindBin; chdir($FindBin::Bin); } |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
15 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 use lib 'lib'; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 use Test::Nginx; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 ############################################################################### |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 select STDERR; $| = 1; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 select STDOUT; $| = 1; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 my $t = Test::Nginx->new()->has(qw/http map/)->plan(5); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
26 $t->write_file_expand('nginx.conf', <<'EOF'); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 %%TEST_GLOBALS%% |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
241
diff
changeset
|
30 daemon off; |
227
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
31 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 events { |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 } |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 http { |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 %%TEST_GLOBALS_HTTP%% |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
38 map $args $x { |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 default 0; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
40 foo bar; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 } |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 map $args $y { |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 hostnames; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 default 0; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
46 example.com foo; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
47 example.* wildcard; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
48 } |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
49 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
50 server { |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
51 listen 127.0.0.1:8080; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
52 server_name localhost; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
53 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
54 location / { |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
55 add_header X-Foo "x:$x y:$y\n"; |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
56 } |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 } |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
58 } |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
59 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
60 EOF |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
61 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
62 $t->write_file('index.html', ''); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
63 $t->run(); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
64 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
65 ############################################################################### |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
67 like(http_get('/?1'), qr/x:0 y:0/, 'map default'); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
68 like(http_get('/?foo'), qr/x:bar y:0/, 'map foo bar'); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
69 like(http_get('/?example.com'), qr/x:0 y:foo/, 'map example.com foo'); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
70 like(http_get('/?example.org'), qr/x:0 y:wild/, 'map example.org wildcard'); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
71 like(http_get('/?example.com.'), qr/x:0 y:foo/, 'map example.com. foo'); |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
72 |
16371849bd07
Tests: map module basic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
73 ############################################################################### |