Branch Coverage

blib/lib/MCE/Core/Manager.pm
Criterion Covered Total %
branch 89 288 30.9


line true false branch
33 0 94 $^O eq 'solaris' ? :
0 94 $INC{'POSIX.pm'} ? :
49 181 39 if (defined $self->{'user_tasks'}) { }
0 39 elsif (defined $self->{'task_end'}) { }
52 0 181 exists $self->{'user_tasks'}[$_task_id]{'task_end'} ? :
54 144 37 if (defined $_task_end)
57 144 0 exists $self->{'user_tasks'}[$_task_id]{'task_name'} ? :
90 0 0 unless ($_sendto_fhs{$_fd})
93 0 0 unless $_sendto_fhs{$_fd}->fdopen($_fd, "w")
98 0 0 if (not exists $self->{'flush_file'} or $self->{'flush_file'})
130 0 285 if $_O_FLG
131 0 285 if $_I_FLG
135 274 11 if ($_wa == 0) { }
2 9 elsif ($_wa == 1) { }
166 351 101 if ($_has_user_tasks and $_task_id >= 0)
172 351 101 $_has_user_tasks ? :
174 0 306 if ($_task_id == 0 and defined $_syn_flag and $_sync_cnt)
175 0 0 if ($_sync_cnt == $_total_running)
183 220 232 unless $_total_running
197 0 0 if ($_has_user_tasks and $_task_id >= 0)
204 0 0 $_has_user_tasks ? :
206 0 0 if ($_task_id == 0 and defined $_syn_flag and $_sync_cnt)
207 0 0 if ($_sync_cnt == $_total_running)
223 0 0 if $_len
227 0 0 if $_len
229 0 0 if (abs $_exit_status > abs $self->{'_wrk_status'})
237 0 0 if ($_exit_pid =~ /^PID_(-?\d+)/) { }
0 0 elsif ($_exit_pid =~ /^TID_(\d+)/) { }
240 0 0 if ($_list->[$i] and $_list->[$i] == $_pid)
250 0 0 if ($_list->[$i] and $_list->[$i] == $_tid)
262 0 0 if (defined $_on_post_exit) { }
0 0 elsif (defined $_on_post_run) { }
265 0 0 if (length $_retry_buf) { }
292 0 0 unless $_total_running
302 100 316 if ($_offset_pos >= $_input_size or $_aborted)
303 0 100 if defined $\
309 249 67 if ($_single_dim and $_cs_one_flag) { }
313 54 13 if ($_offset_pos + $_chunk_size - 1 < $_input_size) { }
325 0 316 if defined $\
339 36 18 if ($_eof_flag or $_aborted)
340 0 36 if defined $\
347 0 18 if $_RS_FLG
349 0 18 if ($_chunk_size <= 8192) { }
350 0 0 if ($_chunk_size == 1) { }
351 0 0 $_input_glob->can('getline') ? :
353 0 0 unless length $_buf
358 0 0 $_input_glob->can('getline') ? :
361 0 0 if ($_len == $_last_len)
370 18 0 if ($_input_glob->can('getline') and $_input_glob->can('read')) { }
371 0 18 if ($_input_glob->read($_buf, $_chunk_size) == $_chunk_size) { }
373 0 0 if length $_buf == $_chunk_size
379 0 0 if (read($_input_glob, $_buf, $_chunk_size) == $_chunk_size) { }
381 0 0 if length $_buf == $_chunk_size
389 0 18 if defined $\
391 18 0 if ($_len) { }
405 3 15 if ($_offset_pos >= $_input_size or $_aborted)
406 0 3 if defined $\
412 12 3 if ($_offset_pos + $_chunk_size - 1 < $_input_size) { }
425 0 15 if defined $\
435 0 0 if ($_aborted)
436 0 0 if defined $\
442 0 0 ref $_input_data eq 'CODE' ? :
446 0 0 if (@_ret_a > 1 or defined $_ret_a[0])
448 0 0 if defined $\
454 0 0 if defined $\
489 603 529 if ($_is_c_ref[$_task_id]) { }
0 529 elsif ($_is_h_ref[$_task_id]) { }
379 150 elsif ($_is_q_ref[$_task_id]) { }
498 0 0 unless @{$_;}
519 0 0 if (defined $_user_output) { }
536 0 0 if (defined $_user_error) { }
556 0 0 unless (exists $_sendto_fhs{$_file})
557 0 0 unless open $_sendto_fhs{$_file}, ">>", "$_file"
562 0 0 if (not exists $self->{'flush_file'} or $self->{'flush_file'})
597 0 0 if (not defined $_sync_cnt or $_sync_cnt == 0)
603 0 0 $_has_user_tasks ? :
605 0 0 if (++$_sync_cnt == $_total_running)
616 0 0 if (--$_sync_cnt == 0)
619 0 0 $_has_user_tasks ? :
632 0 0 unless $_win32_ipc
667 0 0 $_has_user_tasks ? :
673 0 0 $_tasks && exists $_tasks->[$_task_id]{'interval'} ? :
675 0 0 if (not $_interval) { }
0 0 elsif ($_interval->{'max_nodes'} == 1) { }
683 0 0 if (not $_delay && defined $_lapse) { }
0 0 elsif ($_lapse + $_delay - $_time < 0) { }
696 0 0 $_tasks ? :
698 0 0 if (++$_delay_wid[$_task_id] > $_max_workers)
712 0 0 if ($_delay < 0 and $_app_tb)
715 0 0 if $_count > "2000000000"
720 0 0 $_delay > 0.0 ? :
733 109 39 defined $self->{'user_tasks'} ? :
734 65 83 $self->{'chunk_size'} == 1 ? :
745 0 148 if (defined $_max_retries and not $_on_post_exit)
749 0 0 if ($_e->{'id'})
753 0 0 if (defined $self->{'init_relay'}) { }
754 0 0 if $_retry_cnt < $_max_retries
760 0 0 $_retry_cnt < $_max_retries ? :
768 0 109 if ($_has_user_tasks and $self->{'user_tasks'}[0]{'chunk_size'})
772 109 39 if ($_has_user_tasks)
775 102 79 defined $self->{'user_tasks'}[$_i]{'gather'} ? :
777 92 89 ref $_gather[$_i] eq 'CODE' ? :
778 0 181 ref $_gather[$_i] eq 'HASH' ? :
780 51 130 ref $_gather[$_i] eq 'MCE::Queue' || ref $_gather[$_i] eq 'Thread::Queue' ? :
786 68 80 if (defined $self->{'gather'})
789 46 22 ref $_gather[0] eq 'CODE' ? :
790 0 68 ref $_gather[0] eq 'HASH' ? :
792 0 68 ref $_gather[0] eq 'MCE::Queue' || ref $_gather[0] eq 'Thread::Queue' ? :
797 45 103 if (defined $_input_data and ref $_input_data eq 'ARRAY') { }
3 100 elsif (defined $_input_data and ref $_input_data eq 'HASH') { }
811 0 148 if (defined $self->{'stdout_file'}) { }
813 0 0 unless open $_MCE_STDOUT, ">>", $self->{'stdout_file'}
820 0 148 if (defined $self->{'stderr_file'}) { }
822 0 0 unless open $_MCE_STDERR, ">>", $self->{'stderr_file'}
835 148 0 if not exists $self->{'flush_stderr'} or $self->{'flush_stderr'}
838 148 0 if not exists $self->{'flush_stdout'} or $self->{'flush_stdout'}
863 0 148 !$_RS || $_RS ne $MCE::LF ? :
864 0 148 defined $_O_SEP ? :
865 0 148 !$_I_SEP || $_I_SEP ne $MCE::LF ? :
878 0 148 if ($self->{'loop_timeout'} and @{$self->{'_tids'};} == 0 and $^O ne 'MSWin32') { }
0 148 elsif ($^O eq 'MSWin32') { }
884 0 0 if $_timeout < 5
890 0 0 if ($_pid = $_list->[$i])
891 0 0 if (waitpid $_pid, 1)
895 0 0 if ($? > abs $self->{'_wrk_status'})
906 0 0 if ($_has_user_tasks and $_task_id >= 0)
913 0 0 $_has_user_tasks ? :
915 0 0 if ($_task_id == 0 and defined $_syn_flag and $_sync_cnt)
916 0 0 if ($_sync_cnt == $_total_running)
924 0 0 unless $_total_running
926 0 0 if (my $_cid = $self->{'_pids_c'}{$_pid})
930 0 0 if ($_cid > $self->{'_relayed'})
934 0 0 if (defined $_pid and $_pid == 0)
963 0 0 if (exists $_core_output_function{$_func}) { }
0 0 elsif (exists $_plugin_function->{$_func}) { }
976 0 0 if $_win32_ipc
980 0 0 unless length $_func == 8
983 0 0 if (exists $_core_output_function{$_func}) { }
0 0 elsif (exists $_plugin_function->{$_func}) { }
990 0 0 if $_win32_ipc
995 0 3869 unless length $_func == 6
998 2357 1512 if (exists $_core_output_function{$_func}) { }
1512 0 elsif (exists $_plugin_function->{$_func}) { }
1014 0 148 if defined $_on_post_run