1# vi:filetype=
2
3use lib 'lib';
4use Test::Nginx::Socket;
5
6#repeat_each(10);
7no_shuffle();
8
9repeat_each(2);
10
11plan tests => repeat_each() * (4 * blocks());
12
13run_tests();
14
15__DATA__
16
17=== TEST 1: used
18--- http_config eval: $::http_config
19--- config
20    location = /t {
21        echo ok;
22        rds_csv on;
23    }
24--- request
25GET /t
26--- stap
27F(ngx_http_rds_csv_header_filter) {
28    println("rds csv header filter")
29}
30
31F(ngx_http_rds_csv_body_filter) {
32    println("rds csv body filter")
33}
34
35--- stap_out
36rds csv header filter
37rds csv body filter
38rds csv body filter
39
40--- response_body
41ok
42--- no_error_log
43[error]
44
45
46
47=== TEST 2: unused
48--- http_config eval: $::http_config
49--- config
50    location = /t {
51        echo ok;
52        #rds_csv on;
53    }
54--- request
55GET /t
56--- stap
57F(ngx_http_rds_csv_header_filter) {
58    println("rds csv header filter")
59}
60
61F(ngx_http_rds_csv_body_filter) {
62    println("rds csv body filter")
63}
64
65--- stap_out
66--- response_body
67ok
68--- no_error_log
69[error]
70
71
72
73=== TEST 3: used (multi http {} blocks)
74This test case won't run with nginx 1.9.3+ since duplicate http {} blocks
75have been prohibited since then.
76--- SKIP
77--- http_config eval: $::http_config
78--- config
79    location = /t {
80        echo ok;
81        rds_csv on;
82    }
83
84--- post_main_config
85    http {
86    }
87
88--- request
89GET /t
90--- stap
91F(ngx_http_rds_csv_header_filter) {
92    println("rds csv header filter")
93}
94
95F(ngx_http_rds_csv_body_filter) {
96    println("rds csv body filter")
97}
98
99--- stap_out
100rds csv header filter
101rds csv body filter
102rds csv body filter
103
104--- response_body
105ok
106--- no_error_log
107[error]
108
109