Mercurial > hg > nginx-tests
comparison stream_udp_proxy.t @ 974:882267679006
Tests: simplified parallel modifications in tests.
Mail tests were simplified in c227348453db.
author | Andrey Zelenkov <zelenkov@nginx.com> |
---|---|
date | Tue, 12 Jul 2016 17:39:03 +0300 |
parents | e9064d691790 |
children | 196d33c2bb45 |
comparison
equal
deleted
inserted
replaced
973:7d7aef8b9f3a | 974:882267679006 |
---|---|
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:%%PORT_0_UDP%% udp; | 39 listen 127.0.0.1:%%PORT_8080_UDP%% udp; |
40 proxy_pass 127.0.0.1:%%PORT_1_UDP%%; | 40 proxy_pass 127.0.0.1:%%PORT_8081_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:%%PORT_2_UDP%% udp; | 46 listen 127.0.0.1:%%PORT_8082_UDP%% udp; |
47 proxy_pass 127.0.0.1:%%PORT_1_UDP%%; | 47 proxy_pass 127.0.0.1:%%PORT_8081_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:%%PORT_3_UDP%% udp; | 53 listen 127.0.0.1:%%PORT_8083_UDP%% udp; |
54 proxy_pass 127.0.0.1:%%PORT_1_UDP%%; | 54 proxy_pass 127.0.0.1:%%PORT_8081_UDP%%; |
55 } | 55 } |
56 } | 56 } |
57 | 57 |
58 EOF | 58 EOF |
59 | 59 |
60 | 60 |
61 $t->run_daemon(\&udp_daemon, port(1), $t); | 61 $t->run_daemon(\&udp_daemon, port(8081), $t); |
62 $t->try_run('no stream udp')->plan(5); | 62 $t->try_run('no stream udp')->plan(5); |
63 $t->waitforfile($t->testdir . '/' . port(1)); | 63 $t->waitforfile($t->testdir . '/' . port(8081)); |
64 | 64 |
65 ############################################################################### | 65 ############################################################################### |
66 | 66 |
67 my $s = dgram('127.0.0.1:' . port(0)); | 67 my $s = dgram('127.0.0.1:' . port(8080)); |
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:' . port(2)); | 70 $s = dgram('127.0.0.1:' . port(8082)); |
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:' . port(3)); | 75 $s = dgram('127.0.0.1:' . port(8083)); |
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(1), | 85 LocalAddr => '127.0.0.1:' . port(8081), |
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(1); | 92 open my $fh, '>', $t->testdir() . '/' . port(8081); |
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); |