|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
20
 | 
 0  | 
 44  | 
 $^O =~ /^(free|midnight|dragonfly|open)(bsd)?$/ ? :  | 
 
| 
36
 | 
 0  | 
 44  | 
 if ($^O eq "MSWin32")  | 
 
| 
46
 | 
 0  | 
 0  | 
 if (eval {
	do {
	require Win32API::File
}
}) { }  | 
 
| 
80
 | 
 0  | 
 108  | 
 unless ($opts{'event'})  | 
 
| 
84
 | 
 22  | 
 86  | 
 unless $opts{'idle'}  | 
 
| 
85
 | 
 23  | 
 85  | 
 unless $opts{'timeout'}  | 
 
| 
86
 | 
 106  | 
 2  | 
 unless $opts{'timer'}  | 
 
| 
87
 | 
 108  | 
 0  | 
 unless $opts{'reaper'}  | 
 
| 
88
 | 
 4  | 
 104  | 
 unless $opts{'type'}  | 
 
| 
90
 | 
 0  | 
 108  | 
 unless grep {$_ eq $opts{'command'};} @cmds  | 
 
| 
91
 | 
 0  | 
 108  | 
 unless $opts{'perl'}  | 
 
| 
92
 | 
 107  | 
 1  | 
 unless $opts{'no_log'}  | 
 
| 
93
 | 
 24  | 
 84  | 
 unless exists $opts{'check_warnings'}  | 
 
| 
95
 | 
 108  | 
 0  | 
 if ($opts{'check_warnings'})  | 
 
| 
99
 | 
 0  | 
 108  | 
 if ($opts{'command'} eq "smoke" and not $opts{'module'})  | 
 
| 
106
 | 
 1  | 
 107  | 
 unless ($type)  | 
 
| 
111
 | 
 0  | 
 107  | 
 if ($@)  | 
 
| 
116
 | 
 0  | 
 107  | 
 unless ($self->{'backend'} or $self->{'backend'}->can($self->{'command'}))  | 
 
| 
120
 | 
 107  | 
 0  | 
 if ($self->{'backend'}->can("digest"))  | 
 
| 
125
 | 
 0  | 
 107  | 
 unless ($self->{'program'} or ref $self->{'program'} eq "ARRAY")  | 
 
| 
130
 | 
 37  | 
 70  | 
 if $cmd eq "smoke"  | 
 
| 
131
 | 
 7  | 
 100  | 
 ref $options eq 'HASH' ? :  | 
 
| 
148
 | 
 0  | 
 0  | 
 unless $self->{'_wheel_log'}  | 
 
| 
161
 | 
 0  | 
 107  | 
 if ($kernel == $sender and not $self->{'session'})  | 
 
| 
165
 | 
 0  | 
 107  | 
 if ($self->{'session'}) { }  | 
 
| 
166
 | 
 0  | 
 0  | 
 if (my $ref = $kernel->alias_resolve($self->{'session'})) { }  | 
 
| 
178
 | 
 107  | 
 0  | 
 if $kernel != $sender  | 
 
| 
182
 | 
 74  | 
 33  | 
 if (not $self->{'_reset_digest'}) { }  | 
 
| 
198
 | 
 0  | 
 0  | 
 if (not $self->{'_reset_digest'}) { }  | 
 
| 
217
 | 
 0  | 
 74  | 
 unless tie %{$$self{"_digests"};}, "SDBM_File", $file, 66, 420  | 
 
| 
223
 | 
 74  | 
 0  | 
 if ($self->{'_digests'})  | 
 
| 
227
 | 
 0  | 
 74  | 
 if -d $self->{'_tmpdirname'}  | 
 
| 
236
 | 
 6  | 
 101  | 
 if ($self->{'do_callback'})  | 
 
| 
238
 | 
 1  | 
 5  | 
 unless ($self->{'do_callback'}->("BEFORE", $self))  | 
 
| 
239
 | 
 0  | 
 1  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
259
 | 
 0  | 
 106  | 
 if $^O eq "MSWin32"  | 
 
| 
262
 | 
 106  | 
 0  | 
 $GOT_PTY ? :  | 
 
| 
275
 | 
 101  | 
 5  | 
 unless $self->{'command'} eq "index"  | 
 
| 
281
 | 
 105  | 
 1  | 
 unless $self->{'no_log'}  | 
 
| 
282
 | 
 0  | 
 106  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
289
 | 
 5  | 
 101  | 
 if ($self->{'do_callback'})  | 
 
| 
295
 | 
 1  | 
 105  | 
 if $self->{'wheel'}  | 
 
| 
304
 | 
 74  | 
 33  | 
 if (not $self->{'_reset_digest'}) { }  | 
 
| 
318
 | 
 0  | 
 107  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
319
 | 
 37  | 
 70  | 
 if $self->{'command'} eq "smoke"  | 
 
| 
327
 | 
 0  | 
 0  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
334
 | 
 106  | 
 106  | 
 if $operation eq "read" and not $errnum  | 
 
| 
335
 | 
 0  | 
 212  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
343
 | 
 0  | 
 106  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
350
 | 
 703  | 
 387  | 
 if $self->{'_killed'}  | 
 
| 
352
 | 
 386  | 
 1  | 
 unless $self->{'no_log'}  | 
 
| 
353
 | 
 0  | 
 387  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
354
 | 
 1  | 
 386  | 
 if ($self->_detect_loop($input, "stdout"))  | 
 
| 
363
 | 
 0  | 
 42  | 
 if $self->{'_killed'}  | 
 
| 
365
 | 
 42  | 
 0  | 
 unless $self->{'no_log'}  | 
 
| 
366
 | 
 0  | 
 42  | 
 if ($self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'})  | 
 
| 
367
 | 
 0  | 
 0  | 
 if (length $input > 5000) { }  | 
 
| 
374
 | 
 0  | 
 42  | 
 if ($self->_detect_loop($input, "stderr"))  | 
 
| 
385
 | 
 79  | 
 350  | 
 if $self->{'_loop_detect'}  | 
 
| 
386
 | 
 33  | 
 317  | 
 if (my $reset = $self->{'_reset_digest'})  | 
 
| 
387
 | 
 0  | 
 33  | 
 if (eval {
	do {
	$input =~ /$reset/
}
})  | 
 
| 
388
 | 
 0  | 
 0  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
392
 | 
 0  | 
 350  | 
 if $input =~ /^\[(MSG|ERROR)\]/  | 
 
| 
396
 | 
 350  | 
 0  | 
 if (do {
	length $input <= 5000 if $self->{'check_warnings'}
}) { }  | 
 
| 
399
 | 
 350  | 
 0  | 
 if $self->{'check_warnings'}  | 
 
| 
400
 | 
 0  | 
 350  | 
 $handle eq 'stderr' && String::Perl::Warnings::is_warning($input) ? :  | 
 
| 
402
 | 
 0  | 
 0  | 
 $handle eq 'stderr' ? :  | 
 
| 
405
 | 
 277  | 
 73  | 
 if (exists $self->{'_digests'}{$digest}) { }  | 
 
| 
411
 | 
 349  | 
 1  | 
 unless ++$self->{'_digests'}{$digest} > 3000  | 
 
| 
434
 | 
 0  | 
 0  | 
 if $line =~ /$re/  | 
 
| 
442
 | 
 1  | 
 1  | 
 if ($now - $self->{'_wheel_time'} >= $self->{'idle'})  | 
 
| 
447
 | 
 1  | 
 0  | 
 if ($now - $self->{'start_time'} >= $self->{'timeout'})  | 
 
| 
458
 | 
 0  | 
 3  | 
 if $self->{'_killed'}  | 
 
| 
460
 | 
 3  | 
 0  | 
 unless $self->{'no_log'}  | 
 
| 
461
 | 
 0  | 
 3  | 
 if $self->{'debug'} or $ENV{'PERL5_SMOKEBOX_DEBUG'}  | 
 
| 
462
 | 
 0  | 
 3  | 
 if ($^O eq 'MSWin32' and $self->{'wheel'}) { }  | 
 
| 
466
 | 
 0  | 
 3  | 
 if (not $self->{'no_grp_kill'}) { }  | 
 
| 
467
 | 
 0  | 
 0  | 
 if ($^O eq 'solaris') { }  | 
 
| 
468
 | 
 0  | 
 0  | 
 if $self->{'wheel'}  | 
 
| 
471
 | 
 0  | 
 0  | 
 if $self->{'wheel'}  | 
 
| 
478
 | 
 3  | 
 0  | 
 if $self->{'wheel'}  |