Mercurial > hg > nginx-tests
annotate access_log.t @ 1215:26884729e06b
Tests: cope with resolver resend in mail resolver tests.
Currently, if resolver didn't find PTR type in the answer section of PTR
response, it keeps the node in the resend queue until the next timer event.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Thu, 31 Aug 2017 19:09:04 +0300 |
parents | a9187b424a94 |
children | 7df2265e61be |
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 |
1189
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
24 my $t = Test::Nginx->new()->has(qw/http rewrite gzip/)->plan(15) |
394
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"; |
1188
074e05b33b1a
Tests: added access_log test with long line in log_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1175
diff
changeset
|
38 log_format long "long line $uri:$status"; |
900
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
39 log_format binary $binary_remote_addr; |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
40 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
41 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
42 listen 127.0.0.1:8080; |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
43 server_name localhost; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
44 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
45 location /combined { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
46 access_log %%TESTDIR%%/combined.log; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
47 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
48 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
49 location /combined/off { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
50 access_log off; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
51 return 200 OK; |
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 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
54 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
55 location /filtered { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
56 access_log %%TESTDIR%%/filtered.log test |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
57 if=$arg_logme; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
58 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
59 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
60 |
463
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
61 location /filtered/complex { |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
62 access_log %%TESTDIR%%/complex.log test |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
63 if=$arg_logme$arg_logmetoo; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
64 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
65 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
66 |
463
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
67 location /filtered/noreuse { |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
68 access_log %%TESTDIR%%/noreuse.log test buffer=16k |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
69 if=$arg_a; |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
70 access_log %%TESTDIR%%/noreuse.log test buffer=16k |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
71 if=$arg_b; |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
72 return 200 OK; |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
73 } |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
74 |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
75 location /compressed { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
76 access_log %%TESTDIR%%/compressed.log test |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
77 gzip buffer=1m flush=100ms; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
78 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
79 } |
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 location /multi { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
82 access_log %%TESTDIR%%/multi1.log test; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
83 access_log %%TESTDIR%%/multi2.log test; |
1188
074e05b33b1a
Tests: added access_log test with long line in log_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1175
diff
changeset
|
84 access_log %%TESTDIR%%/long.log long; |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
85 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
86 } |
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 location /varlog { |
616
e9f48f1e905b
Tests: avoid alert/crit error logs in access_log.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
568
diff
changeset
|
89 access_log %%TESTDIR%%/varlog_${arg_logname} test; |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
90 return 200 OK; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
91 } |
900
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
92 |
1189
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
93 location /cache { |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
94 open_log_file_cache max=3 inactive=20s valid=1m min_uses=2; |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
95 access_log %%TESTDIR%%/dir/cache_${arg_logname} test; |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
96 return 200 OK; |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
97 } |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
98 |
900
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
99 location /binary { |
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
100 access_log %%TESTDIR%%/binary.log binary; |
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
101 } |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
102 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
103 } |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
104 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
105 EOF |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
106 |
1189
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
107 mkdir $t->testdir() . '/dir'; |
568
907e89fba9c3
Tests: removed TODO and try_run() checks for legacy versions.
Sergey Kandaurov <pluknet@nginx.com>
parents:
467
diff
changeset
|
108 $t->run(); |
394
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 ############################################################################### |
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('/combined'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
113 http_get('/combined/off'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
114 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
115 http_get('/filtered'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
116 http_get('/filtered/empty?logme='); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
117 http_get('/filtered/zero?logme=0'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
118 http_get('/filtered/good?logme=1'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
119 http_get('/filtered/work?logme=yes'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
120 |
463
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
121 http_get('/filtered/complex'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
122 http_get('/filtered/complex/one?logme=1'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
123 http_get('/filtered/complex/two?logmetoo=1'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
124 http_get('/filtered/complex/either1?logme=A&logmetoo=B'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
125 http_get('/filtered/complex/either2?logme=A'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
126 http_get('/filtered/complex/either3?logmetoo=B'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
127 http_get('/filtered/complex/either4?logme=0&logmetoo=0'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
128 http_get('/filtered/complex/neither?logme=&logmetoo='); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
129 |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
130 http_get('/filtered/noreuse1/zero?a=0'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
131 http_get('/filtered/noreuse1/good?a=1'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
132 http_get('/filtered/noreuse2/zero?b=0'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
133 http_get('/filtered/noreuse2/good?b=1'); |
394
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 http_get('/compressed'); |
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 http_get('/multi'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
138 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
139 http_get('/varlog'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
140 http_get('/varlog?logname='); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
141 http_get('/varlog?logname=0'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
142 http_get('/varlog?logname=filename'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
143 |
900
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
144 http_get('/binary'); |
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
145 |
1189
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
146 http_get('/cache?logname=lru'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
147 http_get('/cache?logname=lru'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
148 http_get('/cache?logname=once'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
149 http_get('/cache?logname=first'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
150 http_get('/cache?logname=first'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
151 http_get('/cache?logname=second'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
152 http_get('/cache?logname=second'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
153 |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
154 chmod 0000, $t->testdir() . '/dir'; |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
155 |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
156 http_get('/cache?logname=lru'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
157 http_get('/cache?logname=once'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
158 http_get('/cache?logname=first'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
159 http_get('/cache?logname=second'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
160 |
1191
a9187b424a94
Tests: restored access mode in open_log_file_cache test earlier.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1189
diff
changeset
|
161 chmod 0755, $t->testdir() . '/dir'; |
a9187b424a94
Tests: restored access mode in open_log_file_cache test earlier.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1189
diff
changeset
|
162 |
451
be98c162f8bc
Tests: adjusted access_log test timeout.
Sergey Kandaurov <pluknet@nginx.com>
parents:
394
diff
changeset
|
163 # wait for file to appear with nonzero size thanks to the flush parameter |
be98c162f8bc
Tests: adjusted access_log test timeout.
Sergey Kandaurov <pluknet@nginx.com>
parents:
394
diff
changeset
|
164 |
be98c162f8bc
Tests: adjusted access_log test timeout.
Sergey Kandaurov <pluknet@nginx.com>
parents:
394
diff
changeset
|
165 for (1 .. 10) { |
be98c162f8bc
Tests: adjusted access_log test timeout.
Sergey Kandaurov <pluknet@nginx.com>
parents:
394
diff
changeset
|
166 last if -s $t->testdir() . '/compressed.log'; |
be98c162f8bc
Tests: adjusted access_log test timeout.
Sergey Kandaurov <pluknet@nginx.com>
parents:
394
diff
changeset
|
167 select undef, undef, undef, 0.1; |
be98c162f8bc
Tests: adjusted access_log test timeout.
Sergey Kandaurov <pluknet@nginx.com>
parents:
394
diff
changeset
|
168 } |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
169 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
170 # verify that "gzip" parameter turns on compression |
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 my $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 SKIP: { |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
175 eval { require IO::Uncompress::Gunzip; }; |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
176 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
|
177 |
467
43e05ac6c23c
Tests: the read_file function added in Test::Nginx.
Sergey Kandaurov <pluknet@nginx.com>
parents:
463
diff
changeset
|
178 my $gzipped = $t->read_file('compressed.log'); |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
179 IO::Uncompress::Gunzip::gunzip(\$gzipped => \$log); |
458
ae69f9bdba92
Tests: fixed access_log.t on win32.
Maxim Dounin <mdounin@mdounin.ru>
parents:
451
diff
changeset
|
180 like($log, qr!^/compressed:200!s, 'compressed log - flush time'); |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
181 } |
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 # now verify all other logs |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
184 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
185 $t->stop(); |
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 # 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
|
189 |
746
f75bc412e802
Tests: unbreak access_log tests in jails.
Sergey Kandaurov <pluknet@nginx.com>
parents:
616
diff
changeset
|
190 my $addr = IO::Socket::INET->new(LocalAddr => '127.0.0.1')->sockhost(); |
f75bc412e802
Tests: unbreak access_log tests in jails.
Sergey Kandaurov <pluknet@nginx.com>
parents:
616
diff
changeset
|
191 |
899 | 192 like($t->read_file('combined.log'), |
746
f75bc412e802
Tests: unbreak access_log tests in jails.
Sergey Kandaurov <pluknet@nginx.com>
parents:
616
diff
changeset
|
193 qr!^\Q$addr - - [\E .* |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
194 \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
|
195 'default log format'); |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
196 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
197 # verify that log filtering works |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
198 |
467
43e05ac6c23c
Tests: the read_file function added in Test::Nginx.
Sergey Kandaurov <pluknet@nginx.com>
parents:
463
diff
changeset
|
199 $log = $t->read_file('filtered.log'); |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
200 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
|
201 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
202 # verify "if=" argument works with complex value |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
203 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
204 my $exp_complex = <<'EOF'; |
463
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
205 /filtered/complex/one:200 |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
206 /filtered/complex/two:200 |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
207 /filtered/complex/either1:200 |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
208 /filtered/complex/either2:200 |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
209 /filtered/complex/either3:200 |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
210 /filtered/complex/either4:200 |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
211 EOF |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
212 |
899 | 213 is($t->read_file('complex.log'), $exp_complex, 'if with complex value'); |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
214 |
463
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
215 # buffer created with false "if" is not reused among multiple access_log |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
216 |
908
adf5671391ac
Tests: use read_file subroutine in several tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
900
diff
changeset
|
217 $log = $t->read_file('noreuse.log'); |
463
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
218 is($log, "/filtered/noreuse1/good:200\n/filtered/noreuse2/good:200\n", |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
219 'log filtering with buffering'); |
da1a459c9318
Tests: access_log "if=" tests with buffering.
Sergey Kandaurov <pluknet@nginx.com>
parents:
458
diff
changeset
|
220 |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
221 # multiple logs in a same location |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
222 |
899 | 223 is($t->read_file('multi1.log'), "/multi:200\n", 'multiple logs 1'); |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
224 |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
225 # same content in the second log |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
226 |
899 | 227 is($t->read_file('multi2.log'), "/multi:200\n", 'multiple logs 2'); |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
228 |
1188
074e05b33b1a
Tests: added access_log test with long line in log_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1175
diff
changeset
|
229 is($t->read_file('long.log'), "long line /multi:200\n", 'long line format'); |
074e05b33b1a
Tests: added access_log test with long line in log_format.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1175
diff
changeset
|
230 |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
231 # test log destinations with variables |
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
232 |
899 | 233 is($t->read_file('varlog_0'), "/varlog:200\n", 'varlog literal zero name'); |
234 is($t->read_file('varlog_filename'), "/varlog:200\n", 'varlog good name'); | |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
235 |
900
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
236 # binary data is escaped |
980
d10ec0f0bb6d
Tests: unbreak access_log tests in jails.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
237 # that's "\\x7F\\x00\\x00\\x01\n" in $binary_remote_addr for "127.0.0.1" |
900
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
238 |
980
d10ec0f0bb6d
Tests: unbreak access_log tests in jails.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
239 my $expected = join '', map { sprintf "\\x%02X", $_ } split /\./, $addr; |
d10ec0f0bb6d
Tests: unbreak access_log tests in jails.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
240 |
d10ec0f0bb6d
Tests: unbreak access_log tests in jails.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
241 is($t->read_file('binary.log'), "$expected\n", 'binary'); |
900
257de77879e8
Tests: added access_log test with binary data.
Sergey Kandaurov <pluknet@nginx.com>
parents:
899
diff
changeset
|
242 |
1189
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
243 SKIP: { |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
244 skip 'win32', 4 if $^O eq 'MSWin32'; |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
245 |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
246 is(@{[$t->read_file('/dir/cache_lru') =~ /\//g]}, 2, 'cache - closed lru'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
247 is(@{[$t->read_file('/dir/cache_once') =~ /\//g]}, 1, 'cache - min_uses'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
248 is(@{[$t->read_file('/dir/cache_first') =~ /\//g]}, 3, 'cache - cached 1'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
249 is(@{[$t->read_file('/dir/cache_second') =~ /\//g]}, 3, 'cache - cached 2'); |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
250 |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
251 } |
1c703303feee
Tests: basic open_log_file_cache log module tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1188
diff
changeset
|
252 |
394
8d436291c09b
Tests: added tests for the "access_log" directive.
Vladimir Homutov <vl@nginx.com>
parents:
diff
changeset
|
253 ############################################################################### |