Mercurial > hg > nginx-tests
annotate syslog.t @ 431:05c46688b54b
Tests: ssl_password_file.t fixes.
Make sure to always specify listen socket in all servers as the
default vary (under root, nginx will try to listen on 80). Make sure
to detect if an https request was processed by http.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 09 Jul 2014 05:19:51 +0400 |
parents | 82b15c81978e |
children | 62d1f96c5ff4 |
rev | line source |
---|---|
404
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Nginx, Inc. |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 # Tests for syslog. |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 # Various log levels emitted with limit_req_log_level. |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use strict; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 ############################################################################### |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 select STDERR; $| = 1; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 select STDOUT; $| = 1; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 |
408
82b15c81978e
Tests: skipped tests on win32 that use shared memory.
Sergey Kandaurov <pluknet@nginx.com>
parents:
404
diff
changeset
|
25 plan(skip_all => 'win32') if $^O eq 'MSWin32'; |
82b15c81978e
Tests: skipped tests on win32 that use shared memory.
Sergey Kandaurov <pluknet@nginx.com>
parents:
404
diff
changeset
|
26 |
404
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 my $t = Test::Nginx->new()->has(qw/http limit_req/); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 plan(skip_all => 'no syslog') unless $t->has_version('1.7.1'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 $t->plan(56)->write_file_expand('nginx.conf', <<'EOF'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 %%TEST_GLOBALS%% |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 error_log syslog:server=127.0.0.1:8083 info; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 error_log %%TESTDIR%%/f_glob.log info; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 daemon off; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 events { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
43 http { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
44 %%TEST_GLOBALS_HTTP%% |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
46 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
47 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 log_format empty ""; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 log_format logf "$status"; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
51 error_log syslog:server=127.0.0.1:8084 info; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 error_log %%TESTDIR%%/f_http.log info; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
54 server { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
55 listen 127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
56 server_name localhost; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
57 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
58 location /e { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
59 error_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
60 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
61 location /a { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
62 access_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
63 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 location /ef { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
65 error_log syslog:server=127.0.0.1:8080,facility=user; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
66 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
67 location /es { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
68 error_log syslog:server=127.0.0.1:8080,severity=alert; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
69 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
70 location /et { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
71 error_log syslog:server=127.0.0.1:8080,tag=SEETHIS; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
72 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
73 location /af { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
74 access_log syslog:server=127.0.0.1:8080,facility=user; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
75 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
76 location /as { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
77 access_log syslog:server=127.0.0.1:8080,severity=alert; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
78 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
79 location /at { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
80 access_log syslog:server=127.0.0.1:8080,tag=SEETHIS; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
81 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
82 location /e2 { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
83 error_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
84 error_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
85 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
86 location /a2 { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
87 access_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
88 access_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
89 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
90 location /a_logf { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
91 access_log syslog:server=127.0.0.1:8080 logf; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
92 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
93 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
94 location /debug { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
95 limit_req zone=one; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
96 error_log syslog:server=127.0.0.1:8080 debug; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
97 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
98 location /info { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
99 limit_req zone=one; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
100 limit_req_log_level info; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
101 error_log syslog:server=127.0.0.1:8080 info; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
102 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
103 location /notice { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
104 limit_req zone=one; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
105 limit_req_log_level notice; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
106 error_log syslog:server=127.0.0.1:8080 notice; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
107 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
108 location /warn { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
109 limit_req zone=one; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
110 limit_req_log_level warn; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
111 error_log syslog:server=127.0.0.1:8080 warn; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
112 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
113 location /error { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
114 limit_req zone=one; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
115 limit_req_log_level error; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
116 error_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
117 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
118 location /low { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
119 error_log syslog:server=127.0.0.1:8080 warn; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
120 error_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
121 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
122 location /dup { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
123 error_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
124 error_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
125 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
126 location /high { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
127 error_log syslog:server=127.0.0.1:8080 emerg; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
128 error_log syslog:server=127.0.0.1:8080; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
129 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
130 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
131 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
132 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
133 EOF |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
134 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
135 $t->run_daemon(\&syslog_daemon, 8083, $t, 's_glob.log'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
136 $t->run_daemon(\&syslog_daemon, 8084, $t, 's_http.log'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
137 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
138 $t->waitforfile($t->testdir . '/s_glob.log'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
139 $t->waitforfile($t->testdir . '/s_http.log'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
140 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
141 $t->run(); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
142 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
143 ############################################################################### |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
144 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
145 parse_syslog_message('error_log', get_syslog('/e')); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
146 parse_syslog_message('access_log', get_syslog('/a')); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
147 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
148 like(get_syslog('/ef'), qr/^<11>/, 'error_log facility'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
149 like(get_syslog('/es'), qr/^<187>/, 'error_log severity'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
150 like(get_syslog('/et'), qr/SEETHIS:/, 'error_log tag'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
151 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
152 like(get_syslog('/af'), qr/^<14>/, 'access_log facility'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
153 like(get_syslog('/as'), qr/^<185>/, 'access_log severity'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
154 like(get_syslog('/at'), qr/SEETHIS:/, 'access_log tag'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
155 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
156 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
157 like(get_syslog('/e'), |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
158 qr/nginx: \d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2} \[error\]/, |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
159 'error_log format'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
160 like(get_syslog('/a_logf'), qr/nginx: 404$/, 'access_log log_format'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
161 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
162 my @lines = split /<\d+>/, get_syslog('/a2'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
163 is($lines[1], $lines[2], 'access_log many'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
164 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
165 @lines = split /<\d+>/, get_syslog('/e2'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
166 is($lines[1], $lines[2], 'error_log many'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
167 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
168 # error_log log levels |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
169 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
170 SKIP: { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
171 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
172 skip "no --with-debug", 1 unless $t->has_module('--with-debug'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
173 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
174 isnt(syslog_lines('/debug', '[debug]'), 0, 'debug'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
175 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
176 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
177 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
178 # charge limit_req |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
179 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
180 get_syslog('/info'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
181 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
182 is(syslog_lines('/info', '[info]'), 1, 'info'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
183 is(syslog_lines('/notice', '[notice]'), 1, 'notice'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
184 is(syslog_lines('/warn', '[warn]'), 1, 'warn'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
185 is(syslog_lines('/error', '[error]'), 1, 'error'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
186 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
187 # count log messages emitted with various error_log levels |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
188 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
189 is(syslog_lines('/low', '[error]'), 2, 'low'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
190 is(syslog_lines('/dup', '[error]'), 2, 'dup'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
191 is(syslog_lines('/high', '[error'), 1, 'high'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
192 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
193 # check for the presence of the syslog messages in the global and http contexts |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
194 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
195 is_deeply(levels($t, 's_glob.log'), levels($t, 'f_glob.log'), 'master syslog'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
196 is_deeply(levels($t, 's_http.log'), levels($t, 'f_http.log'), 'http syslog'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
197 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
198 ############################################################################### |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
199 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
200 sub syslog_lines { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
201 my ($uri, $pattern, $port) = @_; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
202 return map { $_ =~ /\Q$pattern\E/g } (get_syslog($uri, $port)); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
203 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
204 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
205 sub levels { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
206 my ($t, $file) = @_; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
207 my %levels_hash; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
208 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
209 map { $levels_hash{$_}++; } (read_file($t, $file) =~ /(\[\w+\])/g); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
210 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
211 return \%levels_hash; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
212 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
213 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
214 sub get_syslog { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
215 my ($uri, $port) = @_; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
216 my ($s); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
217 my $rfd = ''; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
218 my $data = ''; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
219 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
220 $port = 8080 unless defined $port; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
221 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
222 eval { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
223 local $SIG{ALRM} = sub { die "timeout\n" }; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
224 local $SIG{PIPE} = sub { die "sigpipe\n" }; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
225 alarm(1); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
226 $s = IO::Socket::INET->new( |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
227 Proto => 'udp', |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
228 LocalAddr => "127.0.0.1:$port" |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
229 ); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
230 alarm(0); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
231 }; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
232 alarm(0); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
233 if ($@) { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
234 log_in("died: $@"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
235 return undef; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
236 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
237 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
238 http_get($uri); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
239 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
240 vec($rfd, fileno($s), 1) = 1; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
241 select $rfd, undef, undef, 1; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
242 while (select($rfd, undef, undef, 0.1) > 0 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
243 && vec($rfd, fileno($s), 1)) |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
244 { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
245 my $buffer; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
246 sysread($s, $buffer, 4096); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
247 $data .= $buffer; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
248 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
249 $s->close(); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
250 return $data; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
251 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
252 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
253 sub read_file { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
254 my ($t, $file) = @_; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
255 my $path = $t->testdir() . '/' . $file; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
256 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
257 open my $fh, '<', $path or return "$!"; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
258 local $/; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
259 my $content = <$fh>; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
260 close $fh; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
261 chop $content; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
262 return $content; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
263 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
264 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
265 sub parse_syslog_message { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
266 my ($desc, $line) = @_; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
267 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
268 unless ($line) { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
269 fail("$desc timeout in receiving syslog"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
270 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
271 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
272 my @months = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
273 'Sep', 'Oct', 'Nov', 'Dec'); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
274 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
275 my ($pri, $mon, $mday, $hour, $minute, $sec, $host, $tag, $msg) = |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
276 $line =~ /^<(\d{1,3})> # PRI |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
277 ([A-Z][a-z]{2})\s # mon |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
278 ([ \d]\d)\s(\d{2}):(\d{2}):(\d{2})\s # date |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
279 ([\S]*)\s # host |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
280 (\w{1,32}):\s # tag |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
281 (.*)/x; # MSG |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
282 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
283 my $sev = $pri & 0x07; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
284 my $fac = ($pri & 0x03f8) >> 3; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
285 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
286 ok(defined($pri), "$desc has PRI"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
287 ok($sev >= 0 && $sev <= 7, "$desc valid severity"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
288 ok($fac >= 0 && $fac < 24, "$desc valid facility"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
289 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
290 ok(defined($mon), "$desc has month"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
291 ok((grep $mon, @months), "$desc valid month"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
292 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
293 ok(defined($mday), "$desc has day"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
294 ok($mday <= 31, "$desc valid day"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
295 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
296 ok(defined($hour), "$desc has hour"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
297 ok($hour < 24, "$desc valid hour"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
298 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
299 ok(defined($minute), "$desc has minutes"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
300 ok($minute < 60, "$desc valid minutes"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
301 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
302 ok(defined($sec), "$desc has seconds"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
303 ok($sec < 60, "$desc valid seconds"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
304 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
305 ok(defined($host), "$desc has host"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
306 chomp(my $hostname = lc `hostname`); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
307 is($host , $hostname, "$desc valid host"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
308 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
309 ok(defined($tag), "$desc has tag"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
310 like($tag, qr'\w+', "$desc valid tag"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
311 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
312 ok(length($msg) > 0, "$desc valid CONTENT"); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
313 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
314 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
315 ############################################################################### |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
316 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
317 sub syslog_daemon { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
318 my ($port, $t, $file) = @_; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
319 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
320 my $s = IO::Socket::INET->new( |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
321 Proto => 'udp', |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
322 LocalAddr => "127.0.0.1:$port" |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
323 ); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
324 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
325 open my $fh, '>', $t->testdir() . '/' . $file; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
326 select $fh; $| = 1; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
327 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
328 while (1) { |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
329 my $buffer; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
330 $s->recv($buffer, 4096); |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
331 print $fh $buffer . "\n"; |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
332 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
333 } |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
334 |
997f5fe16545
Tests: added syslog tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
335 ############################################################################### |