Mercurial > hg > nginx-tests
view debug_connection.t @ 391:915ef26ac6eb
Tests: fix proxy_unfinished.t failures with big buffers.
With newer systems it becomes common to use huge socket buffers, and
the "no proxy temp" test may unexpectedly fail because disk buffering will
not be used. To reduce this possibility, the "listen ... sndbuf=32k" was
added.
Additionally, regular expression was changed to silently allow full
responses.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 15 Apr 2014 22:04:08 +0400 |
parents | ad51e58c2d7a |
children | c28ecaef065f |
line wrap: on
line source
#!/usr/bin/perl # (C) Nginx, Inc. # Tests for debug_connection. ############################################################################### use warnings; use strict; use Test::More; BEGIN { use FindBin; chdir($FindBin::Bin); } use lib 'lib'; use Test::Nginx; ############################################################################### select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http --with-debug ipv6 proxy/); plan(skip_all => 'not yet') unless $t->has_version('1.5.2'); $t->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% daemon off; events { debug_connection ::1; } http { %%TEST_GLOBALS_HTTP%% error_log %%TESTDIR%%/debug1.log alert; error_log %%TESTDIR%%/debug2.log alert; server { listen 127.0.0.1:8080; listen [::1]:8080; server_name localhost; location /debug { proxy_pass http://[::1]:8080/; } } } EOF eval { open OLDERR, ">&", \*STDERR; close STDERR; $t->run(); open STDERR, ">&", \*OLDERR; }; plan(skip_all => 'no inet6 support') if $@; $t->plan(5); ############################################################################### my $d = $t->testdir(); http_get('/'); is(read_file("$d/debug1.log"), '', 'no debug_connection file 1'); is(read_file("$d/debug2.log"), '', 'no debug_connection file 1'); http_get('/debug'); like(read_file("$d/debug1.log"), qr/\[debug\]/, 'debug_connection file 1'); like(read_file("$d/debug2.log"), qr/\[debug\]/, 'debug_connection file 2'); is(read_file("$d/debug1.log"), read_file("$d/debug2.log"), 'debug_connection file1 file2 match'); ############################################################################### sub read_file { my ($file) = shift; open my $fh, '<', $file or return "$!"; local $/; my $content = <$fh>; close $fh; return $content; } ###############################################################################