Mercurial > hg > nginx-tests
annotate perl.t @ 1905:f35824e75b66
Tests: fixed reading QUIC streams on Perl < 5.24.
The parse_stream() routine has had a missing explicit return if there were no
streams received. In Perl < 5.24 this used to return no value, or an empty
array in the list context. In modern Perl this returns an empty value, or an
array of 1 element, which made the check for last index of the returned array
work rather by accident.
The fix is to return explicitly and to check the array size in callers instead.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 06 Jun 2023 18:50:07 +0400 |
parents | fb88778d4580 |
children | a095b971fbcc |
rev | line source |
---|---|
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Tests for embedded perl module. |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 ############################################################################### |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 use warnings; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 use strict; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 use Test::More; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
14 use Socket qw/ CRLF /; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
15 |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 BEGIN { use FindBin; chdir($FindBin::Bin); } |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 use lib 'lib'; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 use Test::Nginx; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
21 ############################################################################### |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
22 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 |
1768
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http perl rewrite/)->plan(27) |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
30 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
166
diff
changeset
|
31 daemon off; |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 events { |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 } |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 http { |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
38 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
40 listen 127.0.0.1:8080; |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 server_name localhost; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 location / { |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 set $testvar "TEST"; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 perl 'sub { |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
46 use warnings; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
47 use strict; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
48 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
49 my $r = shift; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
50 |
1489
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
51 $r->status(204) if $r->args =~ /204/; |
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
52 |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
53 $r->send_http_header("text/plain"); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
54 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
55 return OK if $r->header_only; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
56 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 my $v = $r->variable("testvar"); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
58 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
59 $r->print("testvar: $v\n"); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
60 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
61 $r->print("host: ", $r->header_in("Host"), "\n"); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
62 $r->print("xfoo: ", $r->header_in("X-Foo"), "\n"); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
63 $r->print("cookie: ", $r->header_in("Cookie"), "\n"); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
64 $r->print("xff: ", $r->header_in("X-Forwarded-For"), "\n"); |
1767
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
65 $r->print("connection: ", $r->header_in("Connection"), "\n"); |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
67 return OK; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
68 }'; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
69 } |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
70 |
1152
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
71 location /range { |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
72 perl 'sub { |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
73 use warnings; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
74 use strict; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
75 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
76 my $r = shift; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
77 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
78 $r->header_out("Content-Length", "42"); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
79 $r->allow_ranges(); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
80 $r->send_http_header("text/plain"); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
81 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
82 return OK if $r->header_only; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
83 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
84 $r->print("x" x 42); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
85 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
86 return OK; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
87 }'; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
88 } |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
89 |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
90 location /body { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
91 perl 'sub { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
92 use warnings; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
93 use strict; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
94 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
95 my $r = shift; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
96 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
97 if ($r->has_request_body(\&post)) { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
98 return OK; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
99 } |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
100 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
101 return HTTP_BAD_REQUEST; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
102 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
103 sub post { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
104 my $r = shift; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
105 $r->send_http_header; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
106 $r->print("body: ", $r->request_body, "\n"); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
107 $r->print("file: ", $r->request_body_file, "\n"); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
108 } |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
109 }'; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
110 } |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
111 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
112 location /discard { |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
113 perl 'sub { |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
114 use warnings; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
115 use strict; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
116 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
117 my $r = shift; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
118 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
119 $r->discard_request_body; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
120 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
121 $r->send_http_header("text/plain"); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
122 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
123 return OK if $r->header_only; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
124 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
125 $r->print("host: ", $r->header_in("Host"), "\n"); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
126 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
127 return OK; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
128 }'; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
129 } |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 } |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 } |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 EOF |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 $t->run(); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
136 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
137 ############################################################################### |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
138 |
1489
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
139 like(http_get('/'), qr/ 200 .*TEST/s, 'perl response'); |
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
140 like(http_head('/'), qr/ 200 (?!.*TEST)/s, 'perl header_only'); |
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
141 like(http_get('/?204'), qr/ 204 (?!.*TEST)/s, 'perl status, args'); |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
142 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
143 # various $r->header_in() cases |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
144 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
145 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
146 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
147 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
148 ), qr/host: localhost/, 'perl header_in known'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
149 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
150 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
151 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
152 . 'X-Foo: foo' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
153 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
154 ), qr/xfoo: foo/, 'perl header_in unknown'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
155 |
1768
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
156 TODO: { |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
157 local $TODO = 'not yet' unless $t->has_version('1.23.0'); |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
158 |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
159 like(http( |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
160 'GET / HTTP/1.0' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
161 . 'X-Foo: foo' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
162 . 'X-Foo: bar' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
163 . 'Host: localhost' . CRLF . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
164 ), qr/xfoo: foo, bar/, 'perl header_in unknown2'); |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
165 |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
166 } |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
167 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
168 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
169 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
170 . 'Cookie: foo' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
171 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
172 ), qr/cookie: foo/, 'perl header_in cookie'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
173 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
174 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
175 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
176 . 'Cookie: foo1' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
177 . 'Cookie: foo2' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
178 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
179 ), qr/cookie: foo1; foo2/, 'perl header_in cookie2'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
180 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
181 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
182 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
183 . 'X-Forwarded-For: foo' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
184 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
185 ), qr/xff: foo/, 'perl header_in xff'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
186 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
187 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
188 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
189 . 'X-Forwarded-For: foo1' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
190 . 'X-Forwarded-For: foo2' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
191 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
192 ), qr/xff: foo1, foo2/, 'perl header_in xff2'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
193 |
1767
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
194 TODO: { |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
195 local $TODO = 'not yet' unless $t->has_version('1.23.0'); |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
196 |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
197 like(http( |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
198 'GET / HTTP/1.0' . CRLF |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
199 . 'Connection: close' . CRLF |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
200 . 'Host: localhost' . CRLF . CRLF |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
201 ), qr/connection: close/, 'perl header_in connection'); |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
202 |
1768
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
203 like(http( |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
204 'GET / HTTP/1.0' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
205 . 'Connection: close' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
206 . 'Connection: foo' . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
207 . 'Host: localhost' . CRLF . CRLF |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
208 ), qr/connection: close, foo/, 'perl header_in connection2'); |
fb88778d4580
Tests: perl $r->header_in() combining headers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1767
diff
changeset
|
209 |
1767
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
210 } |
d7e019157cd7
Tests: perl $r->header_in("Connection") test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
1693
diff
changeset
|
211 |
1152
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
212 # headers_out content-length tests with range filter |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
213 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
214 like(http_get('/range'), qr/Content-Length: 42.*^x{42}$/ms, |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
215 'perl header_out content-length'); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
216 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
217 like(http( |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
218 'GET /range HTTP/1.0' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
219 . 'Host: localhost' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
220 . 'Range: bytes=0-1' . CRLF . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
221 ), qr/Content-Length: 2.*^xx$/ms, 'perl header_out content-length range'); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
222 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
223 like(http( |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
224 'GET /range HTTP/1.0' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
225 . 'Host: localhost' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
226 . 'Range: bytes=0-1,3-5' . CRLF . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
227 ), qr/Content-Length: (?!42).*^xx\x0d.*^xxx\x0d/ms, |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
228 'perl header_out content-length multipart'); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
229 |
1180
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
230 like(http( |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
231 'GET /range HTTP/1.0' . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
232 . 'Host: localhost' . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
233 . 'Range: bytes=100000-' . CRLF . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
234 ), qr|^\QHTTP/1.1 416\E.*(?!xxx)|ms, 'perl range not satisfiable'); |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
235 |
1487
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
236 like(http( |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
237 'GET / HTTP/1.0' . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
238 . 'Host: localhost' . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
239 . 'If-Match: tt' . CRLF . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
240 ), qr|200 OK|ms, 'perl precondition failed'); |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
241 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
242 # various request body tests |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
243 |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
244 like(http_get('/body'), qr/400 Bad Request/, 'perl no body'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
245 |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
246 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
247 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
248 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
249 . 'Content-Length: 10' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
250 . '1234567890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
251 ), qr/body: 1234567890/, 'perl body preread'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
252 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
253 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
254 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
255 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
256 . 'Content-Length: 10' . CRLF . CRLF, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
257 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
258 body => '1234567890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
259 ), qr/body: 1234567890/, 'perl body late'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
260 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
261 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
262 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
263 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
264 . 'Content-Length: 10' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
265 . '12345', |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
266 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
267 body => '67890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
268 ), qr/body: 1234567890/, 'perl body split'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
269 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
270 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
271 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
272 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
273 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
274 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
275 . 'a' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
276 . '1234567890' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
277 . '0' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
278 ), qr/body: 1234567890/, 'perl body chunked'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
279 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
280 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
281 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
282 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
283 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
284 . 'Transfer-Encoding: chunked' . CRLF . CRLF, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
285 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
286 body => 'a' . CRLF . '1234567890' . CRLF . '0' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
287 ), qr/body: 1234567890/, 'perl body chunked late'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
288 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
289 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
290 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
291 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
292 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
293 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
294 . 'a' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
295 . '12345', |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
296 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
297 body => '67890' . CRLF . '0' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
298 ), qr/body: 1234567890/, 'perl body chunked split'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
299 |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
300 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
301 'GET /discard HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
302 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
303 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
304 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
305 . 'a' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
306 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
307 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
308 ), qr/host: localhost/, 'perl body discard'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
309 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
310 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
311 'GET /discard HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
312 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
313 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
314 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
315 . 'ak' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
316 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
317 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
318 ), qr/400 Bad Request/, 'perl body discard bad chunk'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
319 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
320 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
321 'GET /body HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
322 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
323 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
324 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
325 . 'ak' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
326 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
327 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
328 ), qr/400 Bad Request/, 'perl body bad chunk'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
329 |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
330 ############################################################################### |