root/trunk/t/13-errors.t

Revision 73, 5.2 kB (checked in by clinton, 4 years ago)

Update and greatly expand the error-handling tests. Found some problems and made tickets. tid10737 tid10892

Line 
1 # -*-cperl-*-
2 use strict;
3 use warnings FATAL => 'all';
4
5 use Apache::Test qw();
6 use Apache::TestRequest qw(GET);
7
8 use lib './t/lib';
9 use lib '../t/lib';
10 use MungoTestUtils;
11 use Test::More;
12
13 # 13-errors.t - lucky 13
14 # Goal: What could possiblie goe rong?
15
16 =for page list
17
18 preceding-text.asp
19 within-loop
20 no-following-text.asp
21 extra-header.asp
22
23 =for example output
24
25 mungo-success
26
27 =cut
28
29 my $test_count = 0;
30 my %tests = (
31
32              'catch-exception' => {
33                                    label => "Catching a die",
34                                    status => 200,
35                                    like => qr{^mungo-success\n\n$},
36                                    todo => "",
37                                    #hardskip => 1,
38                                   },
39              'compile-syntax' => {
40                                   label => "Basic syntax error",
41                                   status => 500,
42                                   error_regex => qr{syntax error},
43                                   unlike => qr{mungo-failure},
44                                   #hardskip => 1,
45                                  },
46              'compile-use' => {
47                                label => "Bad use statement",
48                                status => 500,
49                                error_regex => qr{Can\'t locate No/Such/Module\.pm in \@INC},
50                                unlike => qr{mungo-failure},
51                                #hardskip => 1,
52                               },
53              'compile-stricture' => {
54                                      label => "Stricture violation",
55                                      status => 500,
56                                      error_regex => qr{Global symbol .* requires explicit package name},
57                                      unlike => qr{mungo-failure},
58                                      #hardskip => 1,
59                                     },
60              'strict-by-default' => {
61                                      label => "Strictures should be enabled by default",
62                                      status => 500,
63                                      error_regex => qr{Global symbol .* requires explicit package name},
64                                      unlike => qr{mungo-failure},
65                                      #hardskip => 1,
66                                     },
67              'runtime-method-on-unblessed' => {
68                                                label => "Runtime error via method call on unblessed ref",
69                                                status => 500,
70                                                error_regex => qr{Can\'t call method .* on unblessed},
71                                                like => qr{^mungo-success\n},
72                                                unlike => qr{mungo-failure},
73                                                #hardskip => 1,
74                                               },
75              'runtime-die-in-package' => {
76                                           label => "Runtime die within a custom loaded module",
77                                           status => 500,
78                                           # According to the Mungo docs and previous trac tickets like trac3
79                                           # this should dump the module source
80                                           error_regex => qr{Dying within MungoTest13Runtime::die_in_module.*Marker text to indicate that the source of the test module is displayed},
81                                           like => qr{^mungo-success\n},
82                                           unlike => qr{mungo-failure},
83                                           todo => "Awaiting fix on trac21",
84                                           #hardskip => 1,
85                                          },
86              'compile-use-source-dump' => {
87                                            label => "Attempt to use module that won't compile",
88                                            status => 500,
89                                            error_regex => qr{package MungoTest13WontCompile.*Marker text to indicate that the source of the test module is displayed},
90                                            unlike => qr{mungo-failure},
91                                            todo => "Awaiting fix on trac21",
92                                            #hardskip => 1,
93                                           },
94              'runtime-croak-in-package' => {
95                                             label => "Runtime croak within a custom loaded module",
96                                             status => 500,
97                                             # This should either dump the module source or the ASP page
98                                             error_regex => qr{Dying within MungoTest13Runtime::croak_in_module.*Marker text to indicate that the source of the test module is displayed},
99                                             like => qr{^mungo-success\n},
100                                             unlike => qr{mungo-failure},
101                                             todo => "Awaiting fix on trac19",
102                                            },
103             );
104
105
106 perform_page_tests('/13-errors/', \%tests, \$test_count);
107 done_testing($test_count);
108
109
Note: See TracBrowser for help on using the browser.