File Coverage

blib/lib/Trace/Mask/TryTiny.pm
Criterion Covered Total %
statement 32 32 100.0
branch 6 6 100.0
condition n/a
subroutine 8 8 100.0
pod 0 1 0.0
total 46 47 97.8


line stmt bran cond sub pod time code
1             package Trace::Mask::TryTiny;
2 1     1   199788 use strict;
  1         4  
  1         39  
3 1     1   8 use warnings;
  1         3  
  1         44  
4              
5 1     1   8 use Try::Tiny 0.03;
  1         26  
  1         88  
6 1     1   835 use Trace::Mask::Util qw/update_mask/;
  1         5  
  1         518  
7              
8             sub mask_try_tiny {
9             try {
10 1     1   84 my @caller = caller(0);
11              
12 1         3 my $level = 1;
13 1         12 while (my @deep = caller($level)) {
14 3 100       16 last if $deep[3] eq __PACKAGE__ . '::mask_try_tiny';
15 2         24 $level++;
16             }
17              
18 1         9 update_mask($caller[1], $caller[2], '*', {hide => $level});
19 1         21 die "should not see this";
20             }
21             catch {
22 1     1   49 my @caller = caller(0);
23              
24 1         5 my $level = 1;
25 1         15 while (my @deep = caller($level)) {
26 2 100       16 last if $deep[3] eq __PACKAGE__ . '::mask_try_tiny';
27 1         40 $level++;
28             }
29              
30 1         11 update_mask($caller[1], $caller[2], '*', {hide => $level});
31             }
32             finally {
33 1     1   32 my @caller = caller(0);
34              
35 1         4 my $level = 1;
36 1         14 while (my @deep = caller($level)) {
37 5 100       22 last if $deep[3] eq __PACKAGE__ . '::mask_try_tiny';
38 4         52 $level++;
39             }
40              
41 1         8 update_mask($caller[1], $caller[2], '*', {hide => $level});
42 1     1 0 17 };
43             }
44              
45             mask_try_tiny();
46              
47             1;
48              
49             __END__