Mercurial > hg > nginx-tests
annotate proxy-noclose.t @ 103:4ae2198b97ec
Tests: limit_req tests for 0.8.18 changes and bug.
1. Make sure rejected requests are not counted, as leaky bucket algorithm
suggests (finally correctly done in 0.8.18).
2. Make sure negative excess values are handled properly (bug appeared in
0.8.18, fixed in 0.8.19).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 09 Oct 2009 21:05:42 +0400 |
parents | 6e5884419e4a |
children | 1c0ec30614c6 |
rev | line source |
---|---|
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # (C) Maxim Dounin |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 # Test for http backend not closing connection properly after sending full |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 # reply. This is in fact backend bug, but it seems common, and anyway |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 # correct handling is required to support persistent connections. |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
9 # There are actually 2 nginx problems here: |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
10 # |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
11 # 1. It doesn't send reply in-time even if got Content-Length and all the data. |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
12 # |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
13 # 2. If upstream times out some data may be left in input buffer and won't be |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
14 # sent to downstream. |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
15 |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
16 ############################################################################### |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
17 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
18 use warnings; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 use strict; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
21 use Test::More tests => 4; |
23
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
22 |
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
23 use IO::Select; |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
24 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
25 BEGIN { use FindBin; chdir($FindBin::Bin); } |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
26 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
27 use lib 'lib'; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
28 use Test::Nginx; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
29 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
30 ############################################################################### |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
31 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
32 select STDERR; $| = 1; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
33 select STDOUT; $| = 1; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
34 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
35 my $t = Test::Nginx->new(); |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
36 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
37 $t->write_file_expand('nginx.conf', <<'EOF'); |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
38 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
39 master_process off; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
40 daemon off; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
41 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
42 events { |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
43 } |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
44 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
45 http { |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
46 access_log off; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
47 root %%TESTDIR%%; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
48 |
35
7bf0e8a1d66c
Tests: always define temp paths.
Maxim Dounin <mdounin@mdounin.ru>
parents:
29
diff
changeset
|
49 client_body_temp_path %%TESTDIR%%/client_body_temp; |
7bf0e8a1d66c
Tests: always define temp paths.
Maxim Dounin <mdounin@mdounin.ru>
parents:
29
diff
changeset
|
50 fastcgi_temp_path %%TESTDIR%%/fastcgi_temp; |
7bf0e8a1d66c
Tests: always define temp paths.
Maxim Dounin <mdounin@mdounin.ru>
parents:
29
diff
changeset
|
51 proxy_temp_path %%TESTDIR%%/proxy_temp; |
7bf0e8a1d66c
Tests: always define temp paths.
Maxim Dounin <mdounin@mdounin.ru>
parents:
29
diff
changeset
|
52 |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
53 server { |
45
d68b85def521
Tests: use 127.0.0.1 instead of localhost.
Maxim Dounin <mdounin@mdounin.ru>
parents:
44
diff
changeset
|
54 listen 127.0.0.1:8080; |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
55 server_name localhost; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
56 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
57 location / { |
45
d68b85def521
Tests: use 127.0.0.1 instead of localhost.
Maxim Dounin <mdounin@mdounin.ru>
parents:
44
diff
changeset
|
58 proxy_pass http://127.0.0.1:8081; |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
59 proxy_read_timeout 1s; |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
60 } |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
61 |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
62 location /uselen { |
45
d68b85def521
Tests: use 127.0.0.1 instead of localhost.
Maxim Dounin <mdounin@mdounin.ru>
parents:
44
diff
changeset
|
63 proxy_pass http://127.0.0.1:8081; |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
64 |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
65 # test will wait only 2s for reply, we it will fail if |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
66 # Content-Length not used as a hint |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
67 |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
68 proxy_read_timeout 10s; |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
69 } |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
70 } |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
71 } |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
72 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
73 EOF |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
74 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
75 $t->run_daemon(\&http_noclose_daemon); |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
76 $t->run(); |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
77 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
78 ############################################################################### |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
79 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
80 TODO: { |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
81 local $TODO = 'not fixed yet, patches under review'; |
72
24143894b91b
Tests: shut up warnings for TODO tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
64
diff
changeset
|
82 local $SIG{__WARN__} = sub {}; |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
83 |
29
71ea39729fa0
Tests: memcached module generic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
25
diff
changeset
|
84 like(http_get('/'), qr/SEE-THIS/, 'request to bad backend'); |
71ea39729fa0
Tests: memcached module generic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
25
diff
changeset
|
85 like(http_get('/multi'), qr/AND-THIS/, 'bad backend - multiple packets'); |
71ea39729fa0
Tests: memcached module generic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
25
diff
changeset
|
86 like(http_get('/nolen'), qr/SEE-THIS/, 'bad backend - no content length'); |
71ea39729fa0
Tests: memcached module generic tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
25
diff
changeset
|
87 like(http_get('/uselen'), qr/SEE-THIS/, 'content-length actually used'); |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
88 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
89 } |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
90 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
91 ############################################################################### |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
92 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
93 sub http_noclose_daemon { |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
94 my $server = IO::Socket::INET->new( |
83
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
95 Proto => 'tcp', |
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
96 LocalAddr => '127.0.0.1:8081', |
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
97 Listen => 5, |
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
98 Reuse => 1 |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
99 ) |
83
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
100 or die "Can't create listening socket: $!\n"; |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
101 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
102 while (my $client = $server->accept()) { |
83
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
103 $client->autoflush(1); |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
104 |
23
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
105 my $multi = 0; |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
106 my $nolen = 0; |
23
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
107 |
83
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
108 while (<$client>) { |
23
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
109 $multi = 1 if /multi/; |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
110 $nolen = 1 if /nolen/; |
83
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
111 last if (/^\x0d?\x0a?$/); |
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
112 } |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
113 |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
114 if ($nolen) { |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
115 |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
116 print $client <<'EOF'; |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
117 HTTP/1.1 200 OK |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
118 Connection: close |
23
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
119 |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
120 TEST-OK-IF-YOU-SEE-THIS |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
121 EOF |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
122 } elsif ($multi) { |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
123 |
83
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
124 print $client <<"EOF"; |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
125 HTTP/1.1 200 OK |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
126 Content-Length: 32 |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
127 Connection: close |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 TEST-OK-IF-YOU-SEE-THIS |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 EOF |
23
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
131 |
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
132 select undef, undef, undef, 0.1; |
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
133 print $client 'AND-THIS'; |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
134 |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
135 } else { |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
136 |
83
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
137 print $client <<"EOF"; |
25
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
138 HTTP/1.1 200 OK |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
139 Content-Length: 24 |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
140 Connection: close |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
141 |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
142 TEST-OK-IF-YOU-SEE-THIS |
fbda19df2fc4
Tests: more proxy-noclose tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
23
diff
changeset
|
143 EOF |
23
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
144 } |
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
145 |
e6b7c3b5389c
Tests: test for multiple buffers in proxy-noclose.t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
22
diff
changeset
|
146 my $select = IO::Select->new($client); |
83
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
147 $select->can_read(10); |
6e5884419e4a
Tests: whitespace cleanup.
Maxim Dounin <mdounin@mdounin.ru>
parents:
72
diff
changeset
|
148 close $client; |
21
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
149 } |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
150 } |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
151 |
a2144333aa8f
Tests: todo test for buggy backends not closing connections.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
152 ############################################################################### |