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