annotate perl_ssi.t @ 1728:6d5ecf445e57

Tests: added HTTP/2 test with big request body. Notably, it is useful with body buffering in filters, in which case the stream window is flow controlled based on the preread buffer.
author Sergey Kandaurov <pluknet@nginx.com>
date Sat, 04 Sep 2021 14:50:02 +0300
parents 3a3a7f68c6d7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1074
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 #!/usr/bin/perl
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 # Tests for embedded perl module.
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 ###############################################################################
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 use warnings;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 use strict;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 use Test::More;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 BEGIN { use FindBin; chdir($FindBin::Bin); }
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 use lib 'lib';
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 use Test::Nginx;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 ###############################################################################
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 select STDERR; $| = 1;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 select STDOUT; $| = 1;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 my $t = Test::Nginx->new()->has(qw/http perl ssi/)->plan(3)
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25 ->write_file_expand('nginx.conf', <<'EOF');
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27 %%TEST_GLOBALS%%
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29 daemon off;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 events {
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 }
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34 http {
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 %%TEST_GLOBALS_HTTP%%
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 server {
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 listen 127.0.0.1:8080;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 server_name localhost;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41 location / {
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 ssi on;
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43 }
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 location /dummy {
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 perl 'sub foo { my $r = shift; $r->print(join ",", @_); }';
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 }
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 }
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49 }
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51 EOF
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 $t->write_file('t1.html', 'X<!--#perl sub="foo" arg="arg1" -->X');
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54 $t->write_file('t2.html', 'X<!--#perl sub="foo" arg="arg1" arg="arg2" -->X');
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55 $t->write_file('noargs.html', 'X<!--#perl sub="foo" -->X');
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 $t->run();
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 ###############################################################################
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61 like(http_get('/t1.html'), qr/Xarg1X/, 'perl ssi response');
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62 like(http_get('/t2.html'), qr/Xarg1,arg2X/, 'perl ssi two args');
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63 like(http_get('/noargs.html'), qr/XX/, 'perl ssi noargs');
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64
a2b6997b4d48 Tests: perl ssi tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65 ###############################################################################