Branch Coverage

blib/lib/POE/Component/SmokeBox/Backend.pm
Criterion Covered Total %
branch 94 156 60.2


line true false branch
33 0 44 if ($^O eq 'MSWin32')
43 0 0 if (eval { do { require Win32API::File } }) { }
77 0 108 unless ($opts{'event'})
81 22 86 unless $opts{'idle'}
82 23 85 unless $opts{'timeout'}
83 106 2 unless $opts{'timer'}
84 108 0 unless $opts{'reaper'}
85 4 104 unless $opts{'type'}
87 0 108 unless grep {$_ eq $opts{'command'};} @cmds
88 0 108 unless $opts{'perl'}
89 107 1 unless $opts{'no_log'}
90 24 84 unless exists $opts{'check_warnings'}
92 108 0 if ($opts{'check_warnings'})
96 0 108 if ($opts{'command'} eq 'smoke' and not $opts{'module'})
103 1 107 unless ($type)
108 0 107 if ($@)
113 0 107 unless ($self->{'backend'} or $self->{'backend'}->can($self->{'command'}))
117 107 0 if ($self->{'backend'}->can('digest'))
122 0 107 unless ($self->{'program'} or ref $self->{'program'} eq 'ARRAY')
127 37 70 if $cmd eq 'smoke'
128 7 100 ref $options eq 'HASH' ? :
145 0 0 unless $self->{'_wheel_log'}
158 0 107 if ($kernel == $sender and not $self->{'session'})
162 0 107 if ($self->{'session'}) { }
163 0 0 if (my $ref = $kernel->alias_resolve($self->{'session'})) { }
175 107 0 if $kernel != $sender
179 74 33 if (not $self->{'_reset_digest'}) { }
195 0 0 if (not $self->{'_reset_digest'}) { }
214 0 74 unless tie %{$$self{'_digests'};}, 'SDBM_File', $file, 66, 420
220 74 0 if ($self->{'_digests'})
224 0 74 if -d $self->{'_tmpdirname'}
233 6 101 if ($self->{'do_callback'})
235 1 5 unless ($self->{'do_callback'}->('BEFORE', $self))
236 0 1 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
256 0 106 if $^O eq 'MSWin32'
259 106 0 $GOT_PTY ? :
272 101 5 unless $self->{'command'} eq 'index'
278 105 1 unless $self->{'no_log'}
279 0 106 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
286 5 101 if ($self->{'do_callback'})
292 1 105 if $self->{'wheel'}
301 74 33 if (not $self->{'_reset_digest'}) { }
315 0 107 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
316 37 70 if $self->{'command'} eq 'smoke'
324 0 0 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
331 106 106 if $operation eq 'read' and not $errnum
332 0 212 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
340 0 106 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
347 693 398 if $self->{'_killed'}
349 397 1 unless $self->{'no_log'}
350 0 398 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
351 1 397 if ($self->_detect_loop($input, 'stdout'))
360 0 42 if $self->{'_killed'}
362 42 0 unless $self->{'no_log'}
363 0 42 if ($self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'})
364 0 0 if (length $input > 5000) { }
371 0 42 if ($self->_detect_loop($input, 'stderr'))
382 90 350 if $self->{'_loop_detect'}
383 33 317 if (my $reset = $self->{'_reset_digest'})
384 0 33 if (eval { do { $input =~ /$reset/ } })
385 0 0 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
389 0 350 if $input =~ /^\[(MSG|ERROR)\]/
393 350 0 if ($self->{'check_warnings'} and length $input <= 5000) { }
394 0 350 $handle eq 'stderr' && String::Perl::Warnings::is_warning($input) ? :
396 0 0 $handle eq 'stderr' ? :
399 277 73 if (exists $self->{'_digests'}{$digest}) { }
405 349 1 unless ++$self->{'_digests'}{$digest} > 3000
412 1 1 if ($now - $self->{'_wheel_time'} >= $self->{'idle'})
417 1 0 if ($now - $self->{'start_time'} >= $self->{'timeout'})
428 0 3 if $self->{'_killed'}
430 3 0 unless $self->{'no_log'}
431 0 3 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}
432 0 3 if ($^O eq 'MSWin32' and $self->{'wheel'}) { }
436 0 3 if (not $self->{'no_grp_kill'}) { }
437 0 0 if ($^O eq 'solaris') { }
438 0 0 if $self->{'wheel'}
441 0 0 if $self->{'wheel'}
448 3 0 if $self->{'wheel'}