Condition Coverage

lib/Fatal/Exception.pm
Criterion Covered Total %
condition 18 68 26.4


and 3 conditions

line !l l&&!r l&&r condition
153 9 0 8 defined $Fatalized_Functions{$cache_key} and defined $Not_Fatalized_Functions{$args{'sub'}}
3 2 4 defined &{$args{'sub'};} and not eval { do { prototype "CORE::$args{'name'}" } }

or 2 conditions

line l !l condition
64 7 2 shift() || (return)
70 5 1 $exception->VERSION || 0
236 1 1 do { my $return = eval { do { CORE::open $_[0], $_[1], @_[2 .. $#_] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; $return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot open')
0 3 do { my $return = eval { do { CORE::open $_[0], $_[1], @_[2 .. $#_] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; $return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot open')
0 1 do { my $return = eval { do { CORE::opendir $_[0], $_[1] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot opendir'); } ; $return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot opendir')
0 5 do { my $return = eval { do { CORE::opendir $_[0], $_[1] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot opendir'); } ; $return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot opendir')
0 1 do { my $return = eval { do { &{$Fatal::Exception::Not_Fatalized_Functions{'Fatal::ExceptionTest::sub_test1'};}(@_[0 .. $#_]) } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot sub_test1'); } ; $return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot sub_test1')
0 3 do { my $return = eval { do { &{$Fatal::Exception::Not_Fatalized_Functions{'Fatal::ExceptionTest::sub_test1'};}(@_[0 .. $#_]) } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot sub_test1'); } ; $return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot sub_test1')
0 1 do { my $return = eval { do { &{$Fatal::Exception::Not_Fatalized_Functions{'Fatal::ExceptionTest::Package1::sub_test2'};}(@_[0 .. $#_]) } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot sub_test2'); } ; $return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot sub_test2')
0 5 do { my $return = eval { do { &{$Fatal::Exception::Not_Fatalized_Functions{'Fatal::ExceptionTest::Package1::sub_test2'};}(@_[0 .. $#_]) } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot sub_test2'); } ; $return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot sub_test2')

or 3 conditions

line l !l&&r !l&&!r condition
236 0 0 0 do { my(@return) = eval { do { CORE::open $_[0] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; @return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my $return = eval { do { CORE::open $_[0] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; $return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my(@return) = eval { do { CORE::open $_[0], $_[1] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; @return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my $return = eval { do { CORE::open $_[0], $_[1] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; $return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my(@return) = eval { do { CORE::open $_[0], $_[1], @_[2 .. $#_] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; @return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my(@return) = eval { do { CORE::open $_[0] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; @return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my $return = eval { do { CORE::open $_[0] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; $return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my(@return) = eval { do { CORE::open $_[0], $_[1] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; @return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my $return = eval { do { CORE::open $_[0], $_[1] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; $return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my(@return) = eval { do { CORE::open $_[0], $_[1], @_[2 .. $#_] } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot open'); } ; @return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot open')
0 0 0 do { my(@return) = eval { do { &{$Fatal::Exception::Not_Fatalized_Functions{'Fatal::ExceptionTest::sub_test1'};}(@_[0 .. $#_]) } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot sub_test1'); } ; @return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot sub_test1')
0 0 0 do { my(@return) = eval { do { &{$Fatal::Exception::Not_Fatalized_Functions{'Fatal::ExceptionTest::sub_test1'};}(@_[0 .. $#_]) } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot sub_test1'); } ; @return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot sub_test1')
0 0 0 do { my(@return) = eval { do { &{$Fatal::Exception::Not_Fatalized_Functions{'Fatal::ExceptionTest::Package1::sub_test2'};}(@_[0 .. $#_]) } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot sub_test2'); } ; @return } || 'Exception::Fatal::import::Test1'->throw('ignore_level', 1, 'message', 'Cannot sub_test2')
0 0 0 do { my(@return) = eval { do { &{$Fatal::Exception::Not_Fatalized_Functions{'Fatal::ExceptionTest::Package1::sub_test2'};}(@_[0 .. $#_]) } }; if ($@) { 'Exception::Fatal'->throw('ignore_level', 1, 'message', 'Cannot sub_test2'); } ; @return } || 'Exception::Fatal::import::Test2'->throw('ignore_level', 1, 'message', 'Cannot sub_test2')