view debug_connection_unix.t @ 1043:b82f54728e14

Tests: fixed test failure in proxy_unfinished.t with big buffers. Skip the "no proxy temp" test if the response is finished, namely, if a calculated content length of the chunked body matches the expected value. Although a finished response is sort of expected, it can be further split in chunks with a recent change f379b32e4733 (1.11.2) in sub filter module, which broke a pre-existing check for the finished response.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 29 Sep 2016 12:52:12 +0300
parents 882267679006
children 5ac6efbe5552
line wrap: on
line source

#!/usr/bin/perl

# (C) Nginx, Inc.

# Tests for debug_connection with unix socket.

###############################################################################

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 unix proxy/);

$t->write_file_expand('nginx.conf', <<'EOF');

%%TEST_GLOBALS%%

daemon off;

events {
    debug_connection unix:;
}

http {
    %%TEST_GLOBALS_HTTP%%

    error_log %%TESTDIR%%/debug1.log alert;
    error_log %%TESTDIR%%/debug2.log alert;

    server {
        listen       127.0.0.1:8080;
        listen       unix:%%TESTDIR%%/unix.sock;
        server_name  localhost;

        location /debug {
            proxy_pass http://unix:%%TESTDIR%%/unix.sock:/;
        }
    }
}

EOF

$t->try_run('no unix support')->plan(5);

###############################################################################

http_get('/');

select undef, undef, undef, 0.1;
is($t->read_file('debug1.log'), '', 'no debug_connection file 1');
is($t->read_file('debug2.log'), '', 'no debug_connection file 2');

http_get('/debug');

select undef, undef, undef, 0.1;
like($t->read_file('debug1.log'), qr/\[debug\]/, 'debug_connection file 1');
like($t->read_file('debug2.log'), qr/\[debug\]/, 'debug_connection file 2');
is($t->read_file('debug1.log'), $t->read_file('debug2.log'),
	'debug_connection file1 file2 match');

###############################################################################