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