Mercurial > hg > nginx-tests
annotate perl.t @ 1677:f13ead27f89c
Tests: improved stop() to send TERM after QUIT.
It is possible that graceful stop as initiated by SIGQUIT will take
very long time, such as when waiting for proxy_timeout in mail proxy
(defaults to 24h). To make sure in such cases nginx is stopped after
some reasonable time, we now send SIGTERM after waiting for 90 seconds.
Note that win32 version previously used "-s stop", which is equivalent
to SIGTERM rather than SIGQUIT. This seems accidental error during
introduction of initial win32 support in tests (ce2e23daa1da), so
it is changed to follow the same logic.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 19 May 2021 04:32:55 +0300 |
parents | c2bbf805388d |
children | 5ac6efbe5552 |
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 |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http perl rewrite/)->plan(24) |
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"); |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
65 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
66 return OK; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
67 }'; |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
68 } |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
69 |
1152
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
70 location /range { |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
71 perl 'sub { |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
72 use warnings; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
73 use strict; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
74 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
75 my $r = shift; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
76 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
77 $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
|
78 $r->allow_ranges(); |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
79 $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
|
80 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
81 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
|
82 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
83 $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
|
84 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
85 return OK; |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
86 }'; |
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 |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
89 location /body { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
90 perl 'sub { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
91 use warnings; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
92 use strict; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
93 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
94 my $r = shift; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
95 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
96 if ($r->has_request_body(\&post)) { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
97 return OK; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
98 } |
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 return HTTP_BAD_REQUEST; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
101 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
102 sub post { |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
103 my $r = shift; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
104 $r->send_http_header; |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
105 $r->print("body: ", $r->request_body, "\n"); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
106 $r->print("file: ", $r->request_body_file, "\n"); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
107 } |
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 } |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
110 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
111 location /discard { |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
112 perl 'sub { |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
113 use warnings; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
114 use strict; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
115 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
116 my $r = shift; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
117 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
118 $r->discard_request_body; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
119 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
120 $r->send_http_header("text/plain"); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
121 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
122 return OK if $r->header_only; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
123 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
124 $r->print("host: ", $r->header_in("Host"), "\n"); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
125 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
126 return OK; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
127 }'; |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
128 } |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 } |
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 EOF |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
133 |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
134 $t->run(); |
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
135 |
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 |
1489
82be9398a9fa
Tests: perl header_only, status, and args tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1487
diff
changeset
|
138 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
|
139 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
|
140 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
|
141 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
142 # various $r->header_in() cases |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
143 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
144 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
145 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
146 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
147 ), qr/host: localhost/, 'perl header_in known'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
148 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
149 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
150 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
151 . 'X-Foo: foo' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
152 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
153 ), qr/xfoo: foo/, 'perl header_in unknown'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
154 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
155 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
156 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
157 . 'Cookie: foo' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
158 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
159 ), qr/cookie: foo/, 'perl header_in cookie'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
160 |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
161 like(http( |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
162 'GET / HTTP/1.0' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
163 . 'Cookie: foo1' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
164 . 'Cookie: foo2' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
165 . 'Host: localhost' . CRLF . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
166 ), 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
|
167 |
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 . 'X-Forwarded-For: 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/xff: foo/, 'perl header_in xff'); |
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 . 'X-Forwarded-For: foo1' . CRLF |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
177 . 'X-Forwarded-For: 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/xff: foo1, foo2/, 'perl header_in xff2'); |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
180 |
1152
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
181 # 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
|
182 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
183 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
|
184 '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
|
185 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
186 like(http( |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
187 '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
|
188 . 'Host: localhost' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
189 . '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
|
190 ), 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
|
191 |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
192 like(http( |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
193 '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
|
194 . 'Host: localhost' . CRLF |
8241ebbe753d
Tests: added perl header_out content-length tests with ranges.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
195 . '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
|
196 ), 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
|
197 '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
|
198 |
1180
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
199 TODO: { |
1490
8f79fac049df
Tests: adjusted perl.t TODO for not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1489
diff
changeset
|
200 local $TODO = 'not yet' unless $t->has_version('1.17.2'); |
1180
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
201 |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
202 like(http( |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
203 'GET /range HTTP/1.0' . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
204 . 'Host: localhost' . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
205 . 'Range: bytes=100000-' . CRLF . CRLF |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
206 ), 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
|
207 |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
208 } |
a69de1aba1ad
Tests: added perl test with not satisfiable range.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1152
diff
changeset
|
209 |
1487
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
210 TODO: { |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
211 todo_skip 'leaves coredump', 1 unless $t->has_version('1.17.1') |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
212 or $ENV{TEST_NGINX_UNSAFE}; |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
213 |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
214 like(http( |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
215 'GET / HTTP/1.0' . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
216 . 'Host: localhost' . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
217 . 'If-Match: tt' . CRLF . CRLF |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
218 ), qr|200 OK|ms, 'perl precondition failed'); |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
219 |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
220 } |
fe0765147e15
Tests: perl and conditional requests processing.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1180
diff
changeset
|
221 |
297
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
222 # various request body tests |
389cee4c78aa
Tests: perl tests for $r->header_in().
Maxim Dounin <mdounin@mdounin.ru>
parents:
285
diff
changeset
|
223 |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
224 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
|
225 |
282
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
226 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
227 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
228 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
229 . 'Content-Length: 10' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
230 . '1234567890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
231 ), qr/body: 1234567890/, 'perl body preread'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
232 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
233 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
234 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
235 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
236 . 'Content-Length: 10' . CRLF . CRLF, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
237 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
238 body => '1234567890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
239 ), qr/body: 1234567890/, 'perl body late'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
240 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
241 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
242 'GET /body HTTP/1.0' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
243 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
244 . 'Content-Length: 10' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
245 . '12345', |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
246 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
247 body => '67890' |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
248 ), qr/body: 1234567890/, 'perl body split'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
249 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
250 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
251 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
252 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
253 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
254 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
255 . 'a' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
256 . '1234567890' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
257 . '0' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
258 ), qr/body: 1234567890/, 'perl body chunked'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
259 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
260 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
261 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
262 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
263 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
264 . 'Transfer-Encoding: chunked' . CRLF . CRLF, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
265 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
266 body => 'a' . CRLF . '1234567890' . CRLF . '0' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
267 ), qr/body: 1234567890/, 'perl body chunked late'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
268 |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
269 like(http( |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
270 'GET /body HTTP/1.1' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
271 . 'Host: localhost' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
272 . 'Connection: close' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
273 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
274 . 'a' . CRLF |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
275 . '12345', |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
276 sleep => 0.1, |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
277 body => '67890' . CRLF . '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 split'); |
04832fc79805
Tests: perl request body testing.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
279 |
1491
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
280 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
281 'GET /discard HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
282 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
283 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
284 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
285 . 'a' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
286 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
287 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
288 ), qr/host: localhost/, 'perl body discard'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
289 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
290 TODO: { |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
291 local $TODO = 'not yet' unless $t->has_version('1.17.2'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
292 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
293 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
294 'GET /discard HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
295 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
296 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
297 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
298 . 'ak' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
299 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
300 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
301 ), 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
|
302 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
303 like(http( |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
304 'GET /body HTTP/1.1' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
305 . 'Host: localhost' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
306 . 'Connection: close' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
307 . 'Transfer-Encoding: chunked' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
308 . 'ak' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
309 . '1234567890' . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
310 . '0' . CRLF . CRLF |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
311 ), qr/400 Bad Request/, 'perl body bad chunk'); |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
312 |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
313 } |
c2bbf805388d
Tests: more perl request body tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
1490
diff
changeset
|
314 |
118
4bf7a819358c
Tests: add some embedded perl tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
315 ############################################################################### |