annotate perl_ssi.t @ 1851:0351dee227a8

Tests: unbreak tests with dynamic certificates on stable. In 74cffa9d4c43, ticket based session reuse is enabled in addition to using a shared SSL session cache. This changed how a session can be resumed in a different server: - for a session ID based resumption, it is resumed in the same context - when using session tickets, a key name is also checked for matching - with a ticket callback, this is skipped in favor of callback's logic This makes 'session id context match' tests fail with session tickets on stable since ticket key names are unique in distinct SSL contexts. On the other hand, tests pass on 1.23.2+ due to automatic ticket keys rotation that installs ticket callback, and using a common shared SSL session cache.
author Sergey Kandaurov <pluknet@nginx.com>
date Tue, 28 Mar 2023 01:36:32 +0400
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 ###############################################################################