Mercurial > hg > nginx-tests
annotate access_log.t @ 398:077ffeac825c
Tests: image filter tests.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 14 May 2014 12:18:38 +0400 |
parents | 8d436291c09b |
children | be98c162f8bc |
rev | line source |
---|---|
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
2 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
3 # (C) Nginx, Inc. |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
4 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
5 # Tests for access_log. |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
6 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
7 ############################################################################### |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
8 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
9 use warnings; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
10 use strict; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
11 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
12 use Test::More; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
13 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
14 BEGIN { use FindBin; chdir($FindBin::Bin); } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
15 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
16 use lib 'lib'; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
17 use Test::Nginx; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
18 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
19 ############################################################################### |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
20 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
21 select STDERR; $| = 1; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
22 select STDOUT; $| = 1; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
23 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
24 my $t = Test::Nginx->new()->has(qw/http rewrite/) |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
25 ->write_file_expand('nginx.conf', <<'EOF'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
26 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
27 %%TEST_GLOBALS%% |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
28 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
29 daemon off; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
30 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
31 events { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
32 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
33 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
34 http { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
35 %%TEST_GLOBALS_HTTP%% |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
36 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
37 log_format test "$uri:$status"; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
38 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
39 server { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
40 listen 127.0.0.1:8080; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
41 server_name localhost; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
42 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
43 location /combined { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
44 access_log %%TESTDIR%%/combined.log; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
45 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
46 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
47 location /combined/off { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
48 access_log off; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
49 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
50 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
51 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
52 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
53 location /filtered { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
54 access_log %%TESTDIR%%/filtered.log test |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
55 if=$arg_logme; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
56 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
57 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
58 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
59 location /complex { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
60 access_log %%TESTDIR%%/complex.log test |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
61 if=$arg_logme$arg_logmetoo; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
62 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
63 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
64 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
65 location /compressed { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
66 access_log %%TESTDIR%%/compressed.log test |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
67 gzip buffer=1m flush=100ms; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
68 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
69 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
70 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
71 location /multi { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
72 access_log %%TESTDIR%%/multi1.log test; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
73 access_log %%TESTDIR%%/multi2.log test; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
74 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
75 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
76 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
77 location /varlog { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
78 access_log %%TESTDIR%%/${arg_logname} test; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
79 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
80 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
81 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
82 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
83 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
84 EOF |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
85 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
86 $t->try_run('no access_log if')->plan(8); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
87 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
88 ############################################################################### |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
89 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
90 http_get('/combined'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
91 http_get('/combined/off'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
92 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
93 http_get('/filtered'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
94 http_get('/filtered/empty?logme='); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
95 http_get('/filtered/zero?logme=0'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
96 http_get('/filtered/good?logme=1'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
97 http_get('/filtered/work?logme=yes'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
98 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
99 http_get('/complex'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
100 http_get('/complex/one?logme=1'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
101 http_get('/complex/two?logmetoo=1'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
102 http_get('/complex/either1?logme=A&logmetoo=B'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
103 http_get('/complex/either2?logme=A'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
104 http_get('/complex/either3?logmetoo=B'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
105 http_get('/complex/either4?logme=0&logmetoo=0'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
106 http_get('/complex/neither?logme=&logmetoo='); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
107 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
108 http_get('/compressed'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
109 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
110 http_get('/multi'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
111 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
112 http_get('/varlog'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
113 http_get('/varlog?logname='); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
114 http_get('/varlog?logname=0'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
115 http_get('/varlog?logname=filename'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
116 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
117 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
118 select undef, undef, undef, 0.1; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
119 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
120 # verify that "gzip" parameter turns on compression |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
121 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
122 my $log; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
123 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
124 SKIP: { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
125 eval { require IO::Uncompress::Gunzip; }; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
126 skip("IO::Uncompress::Gunzip not installed", 1) if $@; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
127 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
128 my $gzipped = read_file($t, 'compressed.log'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
129 IO::Uncompress::Gunzip::gunzip(\$gzipped => \$log); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
130 is($log, "/compressed:200\n", 'compressed log - flush time'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
131 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
132 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
133 # now verify all other logs |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
134 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
135 $t->stop(); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
136 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
137 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
138 # verify that by default, 'combined' format is used, 'off' disables logging |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
139 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
140 $log = read_file($t, 'combined.log'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
141 like($log, |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
142 qr!^\Q127.0.0.1 - - [\E .* |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
143 \Q] "GET /combined HTTP/1.0" 200 2 "-" "-"\E$!x, |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
144 'default log format'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
145 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
146 # verify that log filtering works |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
147 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
148 $log = read_file($t, 'filtered.log'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
149 is($log, "/filtered/good:200\n/filtered/work:200\n", 'log filtering'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
150 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
151 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
152 # verify "if=" argument works with complex value |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
153 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
154 my $exp_complex = <<'EOF'; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
155 /complex/one:200 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
156 /complex/two:200 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
157 /complex/either1:200 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
158 /complex/either2:200 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
159 /complex/either3:200 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
160 /complex/either4:200 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
161 EOF |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
162 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
163 $log = read_file($t, 'complex.log'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
164 is($log, $exp_complex, 'if with complex value'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
165 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
166 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
167 # multiple logs in a same location |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
168 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
169 $log = read_file($t, 'multi1.log'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
170 is($log, "/multi:200\n", 'multiple logs 1'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
171 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
172 # same content in the second log |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
173 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
174 $log = read_file($t, 'multi2.log'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
175 is($log, "/multi:200\n", 'multiple logs 2'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
176 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
177 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
178 # test log destinations with variables |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
179 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
180 $log = read_file($t, '0'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
181 is($log, "/varlog:200\n", 'varlog literal zero name'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
182 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
183 $log = read_file($t, 'filename'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
184 is($log, "/varlog:200\n", 'varlog good name'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
185 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
186 ############################################################################### |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
187 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
188 sub read_file { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
189 my ($t, $file) = @_; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
190 my $path = $t->testdir() . '/' . $file; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
191 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
192 open my $fh, '<', $path or return "$!"; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
193 local $/; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
194 my $content = <$fh>; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
195 close $fh; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
196 return $content; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
197 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
198 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
199 ############################################################################### |