# HG changeset patch # User Roman Arutyunyan # Date 1527184320 -10800 # Node ID c4f58dfe8207b84edad508535f8c0bc5e8e8d381 # Parent 746d9ffdbd265aa49ecea433b6b2f6dbd7eec763 Tests: stream udp tests adjusted for upcoming udp streams. diff --git a/stream_udp_limit_conn.t b/stream_udp_limit_conn.t --- a/stream_udp_limit_conn.t +++ b/stream_udp_limit_conn.t @@ -87,18 +87,24 @@ my $s = dgram('127.0.0.1:' . port(8981)) is($s->io('1'), '1', 'passed'); -# if not all responses were sent to client, then new request -# in same socket will be treated as new connection +# regardless of incomplete responses, new requests in the same +# socket will be treated as requests in existing session + +TODO: { +local $TODO = 'not yet' unless $t->has_version('1.15.0'); -is($s->io('1', read_timeout => 0.1), '', 'rejected new connection'); +is($s->io('1', read_timeout => 0.1), '1', 'passed new request'); + +} + is(dgram('127.0.0.1:' . port(8981))->io('1', read_timeout => 0.1), '', - 'rejected same zone'); + 'rejected new session'); is(dgram('127.0.0.1:' . port(8982))->io('1'), '1', 'passed different zone'); is(dgram('127.0.0.1:' . port(8983))->io('1'), '1', 'passed same zone unlimited'); sleep 1; # waiting for proxy_timeout to expire -is($s->io('2', read => 2), '12', 'new connection after proxy_timeout'); +is($s->io('2', read => 2), '12', 'new session after proxy_timeout'); is(dgram('127.0.0.1:' . port(8981))->io('2', read => 2), '12', 'passed 2'); diff --git a/stream_udp_proxy.t b/stream_udp_proxy.t --- a/stream_udp_proxy.t +++ b/stream_udp_proxy.t @@ -22,7 +22,7 @@ use Test::Nginx::Stream qw/ dgram /; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/stream udp/)->plan(5) +my $t = Test::Nginx->new()->has(qw/stream udp/)->plan(4) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -69,8 +69,8 @@ is($s->io('1', read => 1, read_timeout = $s = dgram('127.0.0.1:' . port(8982)); is($s->io('1'), '1', 'proxy responses 1'); +$s = dgram('127.0.0.1:' . port(8982)); is($s->io('2', read => 2), '12', 'proxy responses 2'); -is($s->io('3', read => 3, read_timeout => 0.5), '12', 'proxy responses 3'); $s = dgram('127.0.0.1:' . port(8983)); is($s->io('3', read => 3), '123', 'proxy responses default'); diff --git a/stream_udp_upstream.t b/stream_udp_upstream.t --- a/stream_udp_upstream.t +++ b/stream_udp_upstream.t @@ -23,7 +23,7 @@ use Test::Nginx::Stream qw/ dgram /; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/stream udp/) +my $t = Test::Nginx->new()->has(qw/stream udp/)->plan(4) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -37,9 +37,6 @@ stream { proxy_responses 1; proxy_timeout 1s; - log_format bytes $upstream_addr! - $upstream_bytes_sent!$upstream_bytes_received; - upstream u { server 127.0.0.1:%%PORT_8984_UDP%%; server 127.0.0.1:%%PORT_8985_UDP%%; @@ -58,7 +55,7 @@ stream { } upstream u4 { - server 127.0.0.1:%%PORT_8986_UDP%%; + server 127.0.0.1:%%PORT_8986_UDP%% down; server 127.0.0.1:%%PORT_8984_UDP%% backup; } @@ -80,7 +77,6 @@ stream { server { listen 127.0.0.1:%%PORT_8983_UDP%% udp; proxy_pass u4; - access_log %%TESTDIR%%/u.log bytes; } } @@ -88,25 +84,29 @@ EOF $t->run_daemon(\&udp_daemon, port(8984), $t); $t->run_daemon(\&udp_daemon, port(8985), $t); -$t->run()->plan(5); +$t->run(); $t->waitforfile($t->testdir . '/' . port(8984)); $t->waitforfile($t->testdir . '/' . port(8985)); ############################################################################### -my @ports = my ($port4, $port5, $port6) = (port(8984), port(8985), port(8986)); +my @ports = my ($port4, $port5) = (port(8984), port(8985)); is(many(10, port(8980)), "$port4: 5, $port5: 5", 'balanced'); -is(many(10, port(8981)), "$port4: 5, $port5: 5", 'failures'); + +# no next upstream for dgram + +TODO: { +local $TODO = 'not yet' unless $t->has_version('1.15.0'); + +is(many(10, port(8981)), "$port4: 5, $port5: 4", 'failures'); + +} + is(many(9, port(8982)), "$port4: 3, $port5: 6", 'weight'); is(many(10, port(8983)), "$port4: 10", 'backup'); -$t->stop(); - -like($t->read_file('u.log'), qr/127.0.0.1:$port6, 127.0.0.1:$port4!1, 1!0, 4/, - 'per-upstream variables'); - ############################################################################### sub many {