Mercurial > hg > nginx-tests
annotate stream_udp_wildcard.t @ 1940:aec72dcee93b
Tests: unconditional QUIC datagram expansion with Initial packets.
Used to get rid of "quic UDP datagram is too small for initial packet" messages.
In future, we may need this to reconsider to allow mocking with custom padding,
but for now suppressing such messages is sufficiently good enough.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 11 Dec 2023 14:01:49 +0400 |
parents | f3ba4c74de31 |
children |
rev | line source |
---|---|
1164
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
2 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
3 # (C) Sergey Kandaurov |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
4 # (C) Nginx, Inc. |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
5 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
6 # Tests for stream proxy module with datagrams, source address selection. |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
7 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
8 ############################################################################### |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
9 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
10 use warnings; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
11 use strict; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
12 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
13 use Test::More; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
14 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
15 BEGIN { use FindBin; chdir($FindBin::Bin); } |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
16 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
17 use lib 'lib'; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
18 use Test::Nginx; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx::Stream qw/ dgram /; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
20 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
22 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
25 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
26 plan(skip_all => '127.0.0.2 local address required') |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
27 unless defined IO::Socket::INET->new( LocalAddr => '127.0.0.2' ); |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
28 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
29 plan(skip_all => 'listen on wildcard address') |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
30 unless $ENV{TEST_NGINX_UNSAFE}; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
31 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
32 my $t = Test::Nginx->new()->has(qw/stream stream_return udp/)->plan(1) |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
33 ->write_file_expand('nginx.conf', <<'EOF'); |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
34 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
35 %%TEST_GLOBALS%% |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
36 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
37 daemon off; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
38 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
39 events { |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
40 } |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
41 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
42 stream { |
1609
f3ba4c74de31
Tests: added TEST_GLOBALS_STREAM variable support.
Andrei Belov <defan@nginx.com>
parents:
1381
diff
changeset
|
43 %%TEST_GLOBALS_STREAM%% |
f3ba4c74de31
Tests: added TEST_GLOBALS_STREAM variable support.
Andrei Belov <defan@nginx.com>
parents:
1381
diff
changeset
|
44 |
1164
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
45 server { |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
46 listen %%PORT_8999_UDP%% udp; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
47 return $server_addr; |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
48 } |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
49 } |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
50 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
51 EOF |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
52 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
53 $t->run(); |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
54 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
55 ############################################################################### |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
56 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
57 my $s = dgram( |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
58 LocalAddr => '127.0.0.1', |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
59 PeerAddr => '127.0.0.2:' . port(8999) |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
60 ); |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
61 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
62 is($s->io('test'), '127.0.0.2', 'stream udp wildcard'); |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
63 |
cdd44ff602db
Tests: stream udp test with wildcard address.
Sergey Kandaurov <pluknet@nginx.com>
parents:
diff
changeset
|
64 ############################################################################### |