comparison stream_udp_proxy.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
comparison
equal deleted inserted replaced
951:9361c7eddfc1 952:e9064d691790
34 34
35 stream { 35 stream {
36 proxy_timeout 1s; 36 proxy_timeout 1s;
37 37
38 server { 38 server {
39 listen 127.0.0.1:8080 udp; 39 listen 127.0.0.1:%%PORT_0_UDP%% udp;
40 proxy_pass 127.0.0.1:8081; 40 proxy_pass 127.0.0.1:%%PORT_1_UDP%%;
41 41
42 proxy_responses 0; 42 proxy_responses 0;
43 } 43 }
44 44
45 server { 45 server {
46 listen 127.0.0.1:8082 udp; 46 listen 127.0.0.1:%%PORT_2_UDP%% udp;
47 proxy_pass 127.0.0.1:8081; 47 proxy_pass 127.0.0.1:%%PORT_1_UDP%%;
48 48
49 proxy_responses 2; 49 proxy_responses 2;
50 } 50 }
51 51
52 server { 52 server {
53 listen 127.0.0.1:8083 udp; 53 listen 127.0.0.1:%%PORT_3_UDP%% udp;
54 proxy_pass 127.0.0.1:8081; 54 proxy_pass 127.0.0.1:%%PORT_1_UDP%%;
55 } 55 }
56 } 56 }
57 57
58 EOF 58 EOF
59 59
60 60
61 $t->run_daemon(\&udp_daemon, 8081, $t); 61 $t->run_daemon(\&udp_daemon, port(1), $t);
62 $t->try_run('no stream udp')->plan(5); 62 $t->try_run('no stream udp')->plan(5);
63 $t->waitforfile($t->testdir . '/8081'); 63 $t->waitforfile($t->testdir . '/' . port(1));
64 64
65 ############################################################################### 65 ###############################################################################
66 66
67 my $s = dgram('127.0.0.1:8080'); 67 my $s = dgram('127.0.0.1:' . port(0));
68 is($s->io('1', read => 1, read_timeout => 0.5), '', 'proxy responses 0'); 68 is($s->io('1', read => 1, read_timeout => 0.5), '', 'proxy responses 0');
69 69
70 $s = dgram('127.0.0.1:8082'); 70 $s = dgram('127.0.0.1:' . port(2));
71 is($s->io('1'), '1', 'proxy responses 1'); 71 is($s->io('1'), '1', 'proxy responses 1');
72 is($s->io('2', read => 2), '12', 'proxy responses 2'); 72 is($s->io('2', read => 2), '12', 'proxy responses 2');
73 is($s->io('3', read => 3, read_timeout => 0.5), '12', 'proxy responses 3'); 73 is($s->io('3', read => 3, read_timeout => 0.5), '12', 'proxy responses 3');
74 74
75 $s = dgram('127.0.0.1:8083'); 75 $s = dgram('127.0.0.1:' . port(3));
76 is($s->io('3', read => 3), '123', 'proxy responses default'); 76 is($s->io('3', read => 3), '123', 'proxy responses default');
77 77
78 ############################################################################### 78 ###############################################################################
79 79
80 sub udp_daemon { 80 sub udp_daemon {
81 my ($port, $t) = @_; 81 my ($port, $t) = @_;
82 82
83 my $server = IO::Socket::INET->new( 83 my $server = IO::Socket::INET->new(
84 Proto => 'udp', 84 Proto => 'udp',
85 LocalAddr => "127.0.0.1:$port", 85 LocalAddr => '127.0.0.1:' . port(1),
86 Reuse => 1, 86 Reuse => 1,
87 ) 87 )
88 or die "Can't create listening socket: $!\n"; 88 or die "Can't create listening socket: $!\n";
89 89
90 # signal we are ready 90 # signal we are ready
91 91
92 open my $fh, '>', $t->testdir() . '/' . $port; 92 open my $fh, '>', $t->testdir() . '/' . port(1);
93 close $fh; 93 close $fh;
94 94
95 while (1) { 95 while (1) {
96 $server->recv(my $buffer, 65536); 96 $server->recv(my $buffer, 65536);
97 $server->send($_) for (1 .. $buffer); 97 $server->send($_) for (1 .. $buffer);