Add a test for carp et alia.
[p5sagit/p5-mst-13.2.git] / t / lib / carp.t
1 BEGIN {
2         chdir 't' if -d 't';
3         @INC = '../lib';
4 }
5
6 use Carp qw(carp cluck croak confess);
7
8 print "1..7\n";
9
10 print "ok 1\n";
11
12 carp  "ok 2\n";
13
14 $SIG{__WARN__} = sub { print "ok $1\n"
15                       if $_[0] =~ m!(\d+) at .+\b(?i:carp\.t) line \d+$! };
16
17 carp 3;
18
19 sub sub_4 {
20
21 $SIG{__WARN__} = sub { print "ok $1\n"
22                            if $_[0] =~ m!^(\d+) at .+\b(?i:carp\.t) line \d+\n\tmain::sub_4\(\) called at .+\b(?i:carp\.t) line \d+$! };
23
24 cluck 4;
25
26 }
27
28 sub_4;
29
30 $SIG{__DIE__} = sub { print "ok $1\n"
31                            if $_[0] =~ m!^(\d+) at .+\b(?i:carp\.t) line \d+\n\teval \Q{...}\E called at .+\b(?i:carp\.t) line \d+$! };
32
33 eval { croak 5 };
34
35 sub sub_6 {
36     $SIG{__DIE__} = sub { print "ok $1\n"
37                               if $_[0] =~ m!^(\d+) at .+\b(?i:carp\.t) line \d+\n\teval \Q{...}\E called at .+\b(?i:carp\.t) line \d+\n\tmain::sub_6\(\) called at .+\b(?i:carp\.t) line \d+$! };
38
39     eval { confess 6 };
40 }
41
42 sub_6;
43
44 print "ok 7\n";
45