annotate xslt_params.t @ 251:df984d23f9d1

Tests: improve fastcgi keepalive tests. On some platforms fastcgi_keepalive.t tests failed due to problems in handling of data split into multiple packets. Harden tests to fail on all platforms by adding more sleeps, and mark them as TODO till underlying problems are fixed. Additionally, add some padding testing.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 25 Jan 2013 20:53:53 +0400
parents 6a0d934950bc
children c28ecaef065f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
208
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 #!/usr/bin/perl
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 # Tests for nginx xslt filter module.
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 ###############################################################################
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 use warnings;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 use strict;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 use Test::More;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 BEGIN { use FindBin; chdir($FindBin::Bin); }
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 use lib 'lib';
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 use Test::Nginx;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 ###############################################################################
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 select STDERR; $| = 1;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 select STDOUT; $| = 1;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 my $t = Test::Nginx->new()->has(qw/http xslt/);
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26 $t->write_file_expand('nginx.conf', <<'EOF');
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28 %%TEST_GLOBALS%%
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29
249
6a0d934950bc Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents: 211
diff changeset
30 daemon off;
208
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 events {
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33 }
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 http {
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36 %%TEST_GLOBALS_HTTP%%
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 server {
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 listen 127.0.0.1:8080;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 server_name localhost;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 default_type text/xml;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 location /x1 {
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 xslt_stylesheet %%TESTDIR%%/test.xslt
211
ee8fee3c4ae8 Tests: fix xslt tests for CentOS 5.
Maxim Dounin <mdounin@mdounin.ru>
parents: 208
diff changeset
46 param1='value1':param2=/root param3='value%33';
208
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 }
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 location /x2 {
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49 xslt_stylesheet %%TESTDIR%%/test.xslt;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 xslt_param param1 "'value1'";
211
ee8fee3c4ae8 Tests: fix xslt tests for CentOS 5.
Maxim Dounin <mdounin@mdounin.ru>
parents: 208
diff changeset
51 xslt_param param2 "/root";
208
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52 xslt_string_param param3 "value3";
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 }
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54 location /x3 {
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55 xslt_stylesheet %%TESTDIR%%/test.xslt
211
ee8fee3c4ae8 Tests: fix xslt tests for CentOS 5.
Maxim Dounin <mdounin@mdounin.ru>
parents: 208
diff changeset
56 param1='value1':param2=/root;
208
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 xslt_string_param param3 "value3";
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58 }
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 }
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60 }
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62 EOF
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64 $t->write_file('test.xslt', <<'EOF');
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66 <xsl:stylesheet version="1.0"
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
67 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
68
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69 <xsl:output method="html"/>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
70
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
71 <xsl:param name="param1"/>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
72 <xsl:param name="param2"/>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
73 <xsl:param name="param3"/>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
74
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
75 <xsl:template match="/">
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
76 param1=<xsl:value-of select="$param1"/>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
77 param2=<xsl:value-of select="$param2"/>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
78 param3=<xsl:value-of select="$param3"/>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
79 </xsl:template>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
80
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
81 </xsl:stylesheet>
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
82
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
83 EOF
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
84
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
85 $t->write_file('x1', '<root>data</root>');
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
86 $t->write_file('x2', '<root>data</root>');
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
87 $t->write_file('x3', '<root>data</root>');
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
88
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
89 eval {
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
90 open OLDERR, ">&", \*STDERR; close STDERR;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
91 $t->run();
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
92 open STDERR, ">&", \*OLDERR;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
93 };
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
94
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
95 plan(skip_all => 'no xslt_param') if $@;
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
96 $t->plan(3);
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
97
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
98 ###############################################################################
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
99
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
100 like(http_get("/x1"), qr!200 OK.*param1=value1.*param2=data.*param3=value3!ms,
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
101 'params from xslt_stylesheet');
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
102 like(http_get("/x2"), qr!200 OK.*param1=value1.*param2=data.*param3=value3!ms,
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
103 'params from xslt_param/xslt_string_param');
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
104 like(http_get("/x3"), qr!200 OK.*param1=value1.*param2=data.*param3=value3!ms,
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
105 'mixed');
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
106
6bac00bba8d4 Tests: xslt filter tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
107 ###############################################################################