annotate stream_error_log.t @ 1606:e4e0695552ed

Tests: fixed stream_proxy_ssl_conf_command.t. The stream_proxy_ssl_conf_command.t test used stream return module to return the response. Since this ignores actual request, but the perl test code used http_get(). This might result in the request being sent after the response is returned and the connection closed by the server, resulting in RST being generated and no response seen by the client at all. Fix is to use "stream(...)->read()" instead of http_get(), so no request is sent at all, eliminating possibility of RST being generated.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 10 Nov 2020 05:03:29 +0300
parents b61e820caa83
children f3ba4c74de31
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
2
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
3 # (C) Sergey Kandaurov
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
5
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
6 # Stream tests for error_log.
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
7
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
8 ###############################################################################
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
9
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
10 use warnings;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
11 use strict;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
12
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
13 use Test::More;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
14
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
15 use IO::Select;
1600
b61e820caa83 Tests: using Sys::Hostname to get hostname in a portable way.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1237
diff changeset
16 use Sys::Hostname;
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
17
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
18 BEGIN { use FindBin; chdir($FindBin::Bin); }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
19
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
20 use lib 'lib';
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
21 use Test::Nginx;
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 567
diff changeset
22 use Test::Nginx::Stream qw/ stream /;
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
23
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
24 ###############################################################################
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
25
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
26 select STDERR; $| = 1;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
27 select STDOUT; $| = 1;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
28
562
abf5f3197967 Tests: skipped stream_error_log.t on win32.
Sergey Kandaurov <pluknet@nginx.com>
parents: 558
diff changeset
29 plan(skip_all => 'win32') if $^O eq 'MSWin32';
abf5f3197967 Tests: skipped stream_error_log.t on win32.
Sergey Kandaurov <pluknet@nginx.com>
parents: 558
diff changeset
30
567
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
31 my $t = Test::Nginx->new()->has(qw/stream/)->plan(34);
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
32
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
33 $t->write_file_expand('nginx.conf', <<'EOF');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
34
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
35 %%TEST_GLOBALS%%
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
36
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
37 error_log %%TESTDIR%%/e_glob.log info;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
38 error_log %%TESTDIR%%/e_glob2.log info;
1237
e4974af3fb12 Tests: adjusted udp ports to match allocated ports range.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 1235
diff changeset
39 error_log syslog:server=127.0.0.1:%%PORT_8983_UDP%% info;
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
40
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
41 daemon off;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
42
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
43 events {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
44 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
45
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
46 stream {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
47 upstream u {
1237
e4974af3fb12 Tests: adjusted udp ports to match allocated ports range.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 1235
diff changeset
48 server 127.0.0.1:%%PORT_8983_UDP%% down;
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
49 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
50
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
51 server {
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
52 listen 127.0.0.1:8080;
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
53 proxy_pass u;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
54
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
55 error_log %%TESTDIR%%/e_debug.log debug;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
56 error_log %%TESTDIR%%/e_info.log info;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
57 error_log %%TESTDIR%%/e_emerg.log emerg;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
58 error_log stderr info;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
59 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
60
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
61 server {
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
62 listen 127.0.0.1:8082;
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
63 proxy_pass 127.0.0.1:8081;
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
64
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
65 error_log %%TESTDIR%%/e_stream.log info;
1237
e4974af3fb12 Tests: adjusted udp ports to match allocated ports range.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 1235
diff changeset
66 error_log syslog:server=127.0.0.1:%%PORT_8985_UDP%% info;
e4974af3fb12 Tests: adjusted udp ports to match allocated ports range.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 1235
diff changeset
67 error_log syslog:server=127.0.0.1:%%PORT_8984_UDP%% info;
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
68 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
69 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
70
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
71 EOF
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
72
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
73 open OLDERR, ">&", \*STDERR;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
74 open STDERR, '>', $t->testdir() . '/stderr' or die "Can't reopen STDERR: $!";
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
75 open my $stderr, '<', $t->testdir() . '/stderr'
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
76 or die "Can't open stderr file: $!";
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
77
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
78 $t->run_daemon(\&stream_daemon);
1237
e4974af3fb12 Tests: adjusted udp ports to match allocated ports range.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 1235
diff changeset
79 $t->run_daemon(\&syslog_daemon, port(8983), $t, 's_glob.log');
e4974af3fb12 Tests: adjusted udp ports to match allocated ports range.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 1235
diff changeset
80 $t->run_daemon(\&syslog_daemon, port(8984), $t, 's_stream.log');
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
81
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
82 $t->waitforsocket('127.0.0.1:' . port(8081));
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
83 $t->waitforfile($t->testdir . '/s_glob.log');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
84 $t->waitforfile($t->testdir . '/s_stream.log');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
85
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
86 $t->run();
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
87
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
88 open STDERR, ">&", \*OLDERR;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
89
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
90 ###############################################################################
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
91
1235
3fc6817cd84a Tests: explicit peer port in stream tests now required.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 974
diff changeset
92 stream('127.0.0.1:' . port(8080))->io('data');
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
93
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
94 # error_log levels
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
95
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
96 SKIP: {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
97 skip "no --with-debug", 1 unless $t->has_module('--with-debug');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
98
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
99 isnt(lines($t, 'e_debug.log', '[debug]'), 0, 'file debug in debug');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
100
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
101 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
102
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
103 isnt(lines($t, 'e_info.log', '[info]'), 0, 'file info in info');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
104 is(lines($t, 'e_info.log', '[debug]'), 0, 'file debug in info');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
105 isnt(lines($t, 'stderr', '[info]'), 0, 'stderr info in info');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
106 is(lines($t, 'stderr', '[debug]'), 0, 'stderr debug in info');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
107
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
108 # multiple error_log
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
109
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
110 like($t->read_file('e_glob.log'), qr!nginx/[.0-9]+!, 'error global');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
111 like($t->read_file('e_glob2.log'), qr!nginx/[.0-9]+!, 'error global 2');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
112 is_deeply(levels($t, 'e_glob.log'), levels($t, 'e_glob2.log'),
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
113 'multiple error global');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
114
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
115 # syslog
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
116
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
117 parse_syslog_message('syslog', get_syslog('data2', '127.0.0.1:' . port(8082),
1237
e4974af3fb12 Tests: adjusted udp ports to match allocated ports range.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 1235
diff changeset
118 port(8985)));
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
119
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
120 is_deeply(levels($t, 's_glob.log'), levels($t, 'e_glob.log'),
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
121 'global syslog messages');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
122 is_deeply(levels($t, 's_stream.log'), levels($t, 'e_stream.log'),
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
123 'stream syslog messages');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
124
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
125 # error_log context
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
126
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
127 SKIP: {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
128 skip "relies on error log contents", 5 unless $ENV{TEST_NGINX_UNSAFE};
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
129
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
130 my $msg = 'no live upstreams while connecting to upstream, '
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
131 . 'client: 127.0.0.1, server: 127.0.0.1:' . port(8080)
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
132 . ', upstream: "u"';
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
133
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
134 unlike($t->read_file('e_glob.log'), qr/$msg/ms, 'stream error in global');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
135 like($t->read_file('e_info.log'), qr/$msg/ms, 'stream error in info');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
136 like($t->read_file('stderr'), qr/$msg/ms, 'stream error in info stderr');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
137 unlike($t->read_file('e_emerg.log'), qr/$msg/ms, 'stream error in emerg');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
138
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
139 $msg = "bytes from/to client:5/4, bytes from/to upstream:4/5";
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
140
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
141 like($t->read_file('e_stream.log'), qr/$msg/ms, 'stream byte counters');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
142
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
143 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
144
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
145 ###############################################################################
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
146
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
147 sub lines {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
148 my ($t, $file, $pattern) = @_;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
149
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
150 if ($file eq 'stderr') {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
151 return map { $_ =~ /\Q$pattern\E/ } (<$stderr>);
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
152 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
153
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
154 my $path = $t->testdir() . '/' . $file;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
155 open my $fh, '<', $path or return "$!";
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
156 my $value = map { $_ =~ /\Q$pattern\E/ } (<$fh>);
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
157 close $fh;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
158 return $value;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
159 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
160
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
161 sub levels {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
162 my ($t, $file) = @_;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
163 my %levels_hash;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
164
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
165 map { $levels_hash{$_}++; } ($t->read_file($file) =~ /(\[\w+\])/g);
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
166
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
167 return \%levels_hash;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
168 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
169
567
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
170 sub get_syslog {
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
171 my ($data, $peer, $port) = @_;
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
172 my ($s);
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
173
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
174 eval {
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
175 local $SIG{ALRM} = sub { die "timeout\n" };
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
176 local $SIG{PIPE} = sub { die "sigpipe\n" };
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
177 alarm(1);
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
178 $s = IO::Socket::INET->new(
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
179 Proto => 'udp',
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
180 LocalAddr => "127.0.0.1:$port"
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
181 );
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
182 alarm(0);
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
183 };
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
184 alarm(0);
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
185 if ($@) {
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
186 log_in("died: $@");
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
187 return undef;
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
188 }
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
189
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 567
diff changeset
190 stream($peer)->io($data);
567
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
191 $data = '';
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
192
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
193 IO::Select->new($s)->can_read(1.5);
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
194 while (IO::Select->new($s)->can_read(0.1)) {
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
195 my $buffer;
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
196 sysread($s, $buffer, 4096);
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
197 $data .= $buffer;
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
198 }
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
199 $s->close();
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
200 return $data;
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
201 }
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
202
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
203 sub parse_syslog_message {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
204 my ($desc, $line) = @_;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
205
567
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
206 ok($line, $desc);
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
207
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
208 SKIP: {
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
209 skip "$desc timeout", 18 unless $line;
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
210
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
211 my @months = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
212 'Sep', 'Oct', 'Nov', 'Dec');
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
213
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
214 my ($pri, $mon, $mday, $hour, $minute, $sec, $host, $tag, $msg) =
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
215 $line =~ /^<(\d{1,3})> # PRI
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
216 ([A-Z][a-z]{2})\s # mon
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
217 ([ \d]\d)\s(\d{2}):(\d{2}):(\d{2})\s # date
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
218 ([\S]*)\s # host
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
219 (\w{1,32}):\s # tag
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
220 (.*)/x; # MSG
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
221
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
222 my $sev = $pri & 0x07;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
223 my $fac = ($pri & 0x03f8) >> 3;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
224
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
225 ok(defined($pri), "$desc has PRI");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
226 ok($sev >= 0 && $sev <= 7, "$desc valid severity");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
227 ok($fac >= 0 && $fac < 24, "$desc valid facility");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
228
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
229 ok(defined($mon), "$desc has month");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
230 ok((grep $mon, @months), "$desc valid month");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
231
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
232 ok(defined($mday), "$desc has day");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
233 ok($mday <= 31, "$desc valid day");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
234
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
235 ok(defined($hour), "$desc has hour");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
236 ok($hour < 24, "$desc valid hour");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
237
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
238 ok(defined($minute), "$desc has minutes");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
239 ok($minute < 60, "$desc valid minutes");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
240
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
241 ok(defined($sec), "$desc has seconds");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
242 ok($sec < 60, "$desc valid seconds");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
243
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
244 ok(defined($host), "$desc has host");
1600
b61e820caa83 Tests: using Sys::Hostname to get hostname in a portable way.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1237
diff changeset
245 is($host, lc(hostname()), "$desc valid host");
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
246
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
247 ok(defined($tag), "$desc has tag");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
248 like($tag, qr'\w+', "$desc valid tag");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
249
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
250 ok(length($msg) > 0, "$desc valid CONTENT");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
251 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
252
567
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
253 }
22bade4c7e12 Tests: in stream, made sure to get syslog data to test its format.
Sergey Kandaurov <pluknet@nginx.com>
parents: 565
diff changeset
254
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
255 ###############################################################################
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
256
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
257 sub syslog_daemon {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
258 my ($port, $t, $file) = @_;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
259
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
260 my $s = IO::Socket::INET->new(
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
261 Proto => 'udp',
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
262 LocalAddr => "127.0.0.1:$port"
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
263 );
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
264
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
265 open my $fh, '>', $t->testdir() . '/' . $file;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
266 select $fh; $| = 1;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
267
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
268 while (1) {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
269 my $buffer;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
270 $s->recv($buffer, 4096);
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
271 print $fh $buffer . "\n";
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
272 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
273 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
274
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
275 sub stream_daemon {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
276 my $server = IO::Socket::INET->new(
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
277 Proto => 'tcp',
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
278 LocalHost => '127.0.0.1',
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
279 LocalPort => port(8081),
558
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
280 Listen => 5,
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
281 Reuse => 1
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
282 )
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
283 or die "Can't create listening socket: $!\n";
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
284
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
285 local $SIG{PIPE} = 'IGNORE';
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
286
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
287 while (my $client = $server->accept()) {
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
288 $client->autoflush(1);
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
289
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
290 log2c("(new connection $client)");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
291
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
292 $client->sysread(my $buffer, 65536) or next;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
293
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
294 log2i("$client $buffer");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
295
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
296 $buffer = $client->sockport();
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
297
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
298 log2o("$client $buffer");
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
299
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
300 $client->syswrite($buffer);
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
301
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
302 close $client;
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
303 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
304 }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
305
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
306 sub log2i { Test::Nginx::log_core('|| <<', @_); }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
307 sub log2o { Test::Nginx::log_core('|| >>', @_); }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
308 sub log2c { Test::Nginx::log_core('||', @_); }
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
309
27740a2dd781 Tests: stream error_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff changeset
310 ###############################################################################