Mercurial > hg > nginx-tests
diff stream_udp_upstream.t @ 952:e9064d691790
Tests: converted tests to run in parallel.
author | Andrey Zelenkov <zelenkov@nginx.com> |
---|---|
date | Tue, 21 Jun 2016 16:39:13 +0300 |
parents | b9e42c554ba7 |
children | 882267679006 |
line wrap: on
line diff
--- a/stream_udp_upstream.t +++ b/stream_udp_upstream.t @@ -38,80 +38,81 @@ stream { proxy_timeout 1s; upstream u { - server 127.0.0.1:8087; - server 127.0.0.1:8088; + server 127.0.0.1:%%PORT_4_UDP%%; + server 127.0.0.1:%%PORT_5_UDP%%; } upstream u2 { - server 127.0.0.1:8089 down; - server 127.0.0.1:8089; - server 127.0.0.1:8087; - server 127.0.0.1:8088; + server 127.0.0.1:%%PORT_6_UDP%% down; + server 127.0.0.1:%%PORT_6_UDP%%; + server 127.0.0.1:%%PORT_4_UDP%%; + server 127.0.0.1:%%PORT_5_UDP%%; } upstream u3 { - server 127.0.0.1:8087; - server 127.0.0.1:8088 weight=2; + server 127.0.0.1:%%PORT_4_UDP%%; + server 127.0.0.1:%%PORT_5_UDP%% weight=2; } upstream u4 { - server 127.0.0.1:8089; - server 127.0.0.1:8087 backup; + server 127.0.0.1:%%PORT_6_UDP%%; + server 127.0.0.1:%%PORT_4_UDP%% backup; } server { - listen 127.0.0.1:8081 udp; + listen 127.0.0.1:%%PORT_0_UDP%% udp; proxy_pass u; } server { - listen 127.0.0.1:8082 udp; + listen 127.0.0.1:%%PORT_1_UDP%% udp; proxy_pass u2; } server { - listen 127.0.0.1:8083 udp; + listen 127.0.0.1:%%PORT_2_UDP%% udp; proxy_pass u3; } server { - listen 127.0.0.1:8084 udp; + listen 127.0.0.1:%%PORT_3_UDP%% udp; proxy_pass u4; } } EOF -$t->run_daemon(\&udp_daemon, 8087, $t); -$t->run_daemon(\&udp_daemon, 8088, $t); +$t->run_daemon(\&udp_daemon, port(4), $t); +$t->run_daemon(\&udp_daemon, port(5), $t); $t->try_run('no stream udp')->plan(4); -$t->waitforfile($t->testdir . '/8087'); -$t->waitforfile($t->testdir . '/8088'); +$t->waitforfile($t->testdir . '/' . port(4)); +$t->waitforfile($t->testdir . '/' . port(5)); ############################################################################### -is(many('.', 30, peer => '127.0.0.1:8081'), '8087: 15, 8088: 15', 'balanced'); -is(many('.', 30, peer => '127.0.0.1:8082'), '8087: 15, 8088: 15', 'failures'); -is(many('.', 30, peer => '127.0.0.1:8083'), '8087: 10, 8088: 20', 'weight'); -is(many('.', 30, peer => '127.0.0.1:8084'), '8087: 30', 'backup'); +my @ports = my ($port4, $port5) = (port(4), port(5)); + +is(many(30, port(0)), "$port4: 15, $port5: 15", 'balanced'); +is(many(30, port(1)), "$port4: 15, $port5: 15", 'failures'); +is(many(30, port(2)), "$port4: 10, $port5: 20", 'weight'); +is(many(30, port(3)), "$port4: 30", 'backup'); ############################################################################### sub many { - my ($data, $count, %opts) = @_; - my (%ports, $peer); - - $peer = $opts{peer}; + my ($count, $port) = @_; + my (%ports); for (1 .. $count) { - if (dgram($peer)->io($data) =~ /(\d+)/) { + if (dgram("127.0.0.1:$port")->io('.') =~ /(\d+)/) { $ports{$1} = 0 unless defined $ports{$1}; $ports{$1}++; } } - return join ', ', map { $_ . ": " . $ports{$_} } sort keys %ports; + my @keys = map { my $p = $_; grep { $p == $_ } keys %ports } @ports; + return join ', ', map { $_ . ": " . $ports{$_} } @keys; } ###############################################################################