annotate gzip_flush.t @ 540:481d705b8610

Tests: SSL support in mail backends. Socket is now embedded into every mail module. Socket methods are wrapped where appropriate. The new "SSL" extra flag specifies to accept connection over SSL.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 03 Apr 2015 00:11:38 +0300
parents 6a0d934950bc
children e9064d691790
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
143
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 #!/usr/bin/perl
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 # Tests for gzip filter module.
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 ###############################################################################
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 use warnings;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 use strict;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 use Test::More;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 BEGIN { use FindBin; chdir($FindBin::Bin); }
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 use lib 'lib';
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 use Test::Nginx qw/ :DEFAULT :gzip /;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 ###############################################################################
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 select STDERR; $| = 1;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 select STDOUT; $| = 1;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 my $t = Test::Nginx->new()->has(qw/http gzip perl/)->plan(2)
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25 ->write_file_expand('nginx.conf', <<'EOF');
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27 %%TEST_GLOBALS%%
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28
249
6a0d934950bc Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents: 224
diff changeset
29 daemon off;
143
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 events {
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 }
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34 http {
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 %%TEST_GLOBALS_HTTP%%
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 server {
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 listen 127.0.0.1:8080;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 server_name localhost;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41 gzip on;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 gzip_min_length 0;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 location / {
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 perl 'sub {
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 my $r = shift;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 $r->send_http_header("text/html");
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 return OK if $r->header_only;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49 $r->print("DA");
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 $r->flush();
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51 $r->flush();
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52 $r->print("TA");
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 return OK;
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54 }';
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55 }
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 }
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 }
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 EOF
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61 $t->run();
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63 ###############################################################################
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65 like(http_get('/'), qr/DATA/, 'request with flush');
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66
224
ba992cfdc606 Tests: remove TODO from tests which pass in 1.2.x.
Maxim Dounin <mdounin@mdounin.ru>
parents: 166
diff changeset
67 # gzip filter wasn't able to handle empty flush buffers, see
143
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
68 # http://nginx.org/pipermail/nginx/2010-November/023693.html
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
70 http_gzip_like(http_gzip_request('/'), qr/DATA/, 'gzip request with flush');
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
71
e8546edb0267 Tests: gunzip empty flush buffers test.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
72 ###############################################################################