Branch Coverage

blib/lib/Perinci/CmdLine/Inline.pm
Criterion Covered Total %
branch 223 342 65.2


line true false branch
43 0 464 unless $cd->{'gen_args'}{'pack_deps'}
44 0 464 if $cd->{'module_srcs'}{$mod}
46 0 464 if 'Module::CoreList::More'->is_still_core($mod)
47 0 464 unless my $path = module_path('module', $mod)
49 0 464 unless open my $fh, '<', $path
58 0 64 unless $url =~ m[\A(?:pl:)?((?:/[^/]+)+)/([^/]*)\z]
66 55 9 length $short_func_name ? :
67 9 55 unless length $short_func_name
68 0 64 unless $meta
69 55 9 if (length $short_func_name)
70 0 55 unless defined &{"${mod}::$short_func_name";}
85 44 4 unless $cd->{'gen_args'}{'read_env'}
115 0 1 if defined $cd->{'gen_args'}{'code_before_enable_logging'}
122 0 1 if defined $cd->{'gen_args'}{'code_add_extra_log_outputs'}
130 0 1 if defined $cd->{'gen_args'}{'code_after_enable_logging'}
140 36 12 unless $cd->{'gen_args'}{'read_config'}
150 0 12 if $cd->{'gen_args'}{'log'}
196 5 48 $i ? :
205 16 67 unless defined $arg_spec->{'pos'}
210 5 62 if ($arg_spec->{'slurpy'} // $arg_spec->{'greedy'}) { }
234 0 78 $csa eq 'stdin_line' ? :
0 78 $csa eq 'stdin_line' ? :
0 0 unless ($csa eq 'stdin_line' ? 1 : 2) <=> ($csa eq 'stdin_line' ? 1 : 2)
239 4 79 if $arg_spec->{'stream'} and $sch->[0] eq 'array'
241 79 4 unless $cs
242 0 4 if ($cs eq 'stdin_line') { }
0 4 elsif ($cs eq 'stdin_or_file') { }
0 4 elsif ($cs eq 'file') { }
0 4 elsif ($cs eq 'stdin') { }
4 0 elsif ($cs eq 'stdin_or_files') { }
0 0 elsif ($cs eq 'stdin_or_args') { }
246 0 0 if defined $stdin_seen
254 0 0 if ($arg_spec->{'stream'}) { }
0 0 elsif ($type eq 'array') { }
265 0 0 $arg_spec->{'req'} ? :
268 0 0 if ($arg_spec->{'stream'}) { }
0 0 elsif ($type eq 'array') { }
278 0 0 if defined $stdin_seen
282 0 0 if ($arg_spec->{'stream'}) { }
0 0 elsif ($type eq 'array') { }
292 0 4 if defined $stdin_seen
297 4 0 if ($arg_spec->{'stream'}) { }
0 0 elsif ($type eq 'array') { }
307 0 0 if defined $stdin_seen
312 0 0 if ($arg_spec->{'stream'}) { }
0 0 elsif ($type eq 'array') { }
326 49 4 unless ($req_gen_iter)
344 4 79 if $arg_spec->{'stream'}
348 0 79 if (defined $arg_spec->{'default'})
352 79 0 if ($arg_schema and $cd->{'gen_args'}{'validate_args'})
366 0 79 unless $dsah_cd->{'v'} == 2
370 84 96 unless $mod_rec->{'phase'} eq 'runtime'
371 50 46 if grep {$_->{'name'} eq $mod_rec->{'name'} unless $mod_rec->{'use_statement'} and $_->{'use_statement'} and $_->{'use_statement'} eq $mod_rec->{'use_statement'};} @modules_for_all_args
372 32 50 unless $mod_rec->{'use_statement'} and $_->{'use_statement'} and $_->{'use_statement'} eq $mod_rec->{'use_statement'}
374 12 34 if ($mod_rec->{'name'} =~ /\A(Scalar::Util::Numeric::PP)\z/)
380 0 34 unless $mod_is_core and not $cd->{'module_srcs'}{$mod_rec->{'name'}} and not $cd->{'gen_args'}{'allow_prereq'} && grep({$_ eq $mod_rec->{'name'};} @{$$cd{'gen_args'}{'allow_prereq'};})
383 0 46 if exists $cd->{'req_modules'}{$mod_rec->{'name'}}
395 29 24 if ($has_validation)
407 14 69 if ($arg_spec->{'req'})
410 18 65 if ($arg_spec->{'schema'}[1]{'req'})
430 48 360 if ($co eq 'help') { }
48 312 elsif ($co eq 'version') { }
1 311 elsif ($co eq 'log_level') { }
1 310 elsif ($co eq 'trace') { }
1 309 elsif ($co eq 'debug') { }
1 308 elsif ($co eq 'verbose') { }
1 307 elsif ($co eq 'quiet') { }
9 298 elsif ($co eq 'subcommands') { }
18 280 elsif ($co eq 'cmd') { }
48 232 elsif ($co eq 'format') { }
48 184 elsif ($co eq 'json') { }
48 136 elsif ($co eq 'naked_res') { }
48 88 elsif ($co eq 'no_naked_res') { }
12 76 elsif ($co eq 'no_config') { }
12 64 elsif ($co eq 'config_path') { }
12 52 elsif ($co eq 'config_profile') { }
4 48 elsif ($co eq 'no_env') { }
48 0 elsif ($co eq 'page_result') { }
431 9 39 if ($has_subcommands) { }
448 0 39 unless $res->[0] == 200
456 48 0 if $mod
458 0 48 if ($cd->{'gen_args'}{'script_version_from_main_version'}) { }
461 0 48 defined $cd->{'gen_args'}{'script_version'} ? :
468 48 0 ${'Perinci::CmdLine::Inline::DATE';} ? :
531 1 47 if $cd->{'gen_args'}{'log'}
533 9 39 if ($cd->{'gen_args'}{'subcommands'}) { }
544 0 14 if $sc_name eq ''
551 0 14 unless $res->[0] == 200
563 0 9 unless $res->[0] == 200
575 9 9 if ($stage == 1) { }
588 40 174 unless $co
589 87 87 if ($stage == 1) { }
593 9 78 if ($co eq 'cmd') { }
601 9 9 if ($stage == 1) { }
607 9 9 if ($stage == 2)
619 132 25 unless defined $argname
623 0 25 if ($specmeta->{'is_alias'} and $specmeta->{'is_code'}) { }
625 0 0 if ($specmeta->{'is_code'}) { }
632 0 25 if (($specmeta->{'parsed'}{'type'} // '') =~ /\@/) { }
10 15 elsif ($specmeta->{'is_json'}) { }
0 15 elsif ($specmeta->{'is_neg'}) { }
661 3 6 if defined $cd->{'gen_args'}{'default_subcommand'}
666 0 9 if $cd->{'gen_args'}{'with_debug'}
679 138 762 if $stage == 1 and not $co
681 624 138 if ($co) { }
682 312 312 if ($stage == 1) { }
690 0 138 if ($stage == 1) { }
0 138 elsif ($specmeta->{'is_alias'} and $specmeta->{'is_code'}) { }
694 0 0 if ($specmeta->{'is_code'}) { }
701 8 130 if (($specmeta->{'parsed'}{'type'} // '') =~ /\@/) { }
59 71 elsif ($specmeta->{'is_json'}) { }
10 61 elsif ($specmeta->{'is_neg'}) { }
724 0 39 if $cd->{'gen_args'}{'with_debug'}
1053 9 41 if ($scs)
1057 0 14 if $res->[0] != 200
1068 50 0 if ($url)
1070 0 50 if $res->[0] != 200
1075 41 9 unless ($scs)
1079 41 9 if (length(my $sfn = $res->[3]{'func.short_func_name'}))
1088 0 0 unless ($url or $scs)
1104 0 50 if $args{'meta_is_normalized'}
1121 1 48 if $env =~ /\A\d/
1155 1 49 if ($args{'log'})
1179 50 0 unless ($args{'skip_format'})
1194 9 41 if ($args{'subcommands'})
1198 12 38 if ($args{'read_config'})
1203 4 46 if ($args{'read_env'})
1217 50 0 unless $shebang_line =~ /\A#!/
1218 50 0 unless $shebang_line =~ /\R\z/
1265 0 50 if ($args{'with_debug'})
1284 0 50 unless $args{'use_cleanser'}
1296 50 50 if 'Module::CoreList'->is_core($mod)
1309 2 53 unless ($args_as =~ /\A(hashref|hash)\z/)
1320 0 53 unless $ggl_res->[0] == 200
1344 48 0 if $cd->{'gen_args'}{'pack_deps'}
1346 0 48 if $cd->{'gen_args'}{'with_debug'}
1358 1 47 if $cd->{'gen_args'}{'log'}
1361 0 48 if $args{'pass_cmdline_object'}
1367 5 48 $i ? :
1368 2 51 if $meta->{'result'}{'stream'}
1369 0 53 if $meta->{'cmdline.skip_format'}
1371 6 47 if Data::Sah::Util::Type::is_simple($meta->{'result'}{'schema'} // '')
1372 53 0 if $cd->{'sc_mods'}{$sc_name}
1373 1 52 $cd->{'args_as'}{$sc_name} eq 'hashref' ? :
1375 1 52 if ($meta->{'result_naked'})
1386 1 47 if $cd->{'gen_args'}{'log'}
1400 0 48 $args{'skip_format'} ? :
1403 48 0 if $args{'pack_deps'} and $args{'use_cleanser'}
1405 48 0 if $args{'use_cleanser'}
1409 0 48 $args{'use_utf8'} ? :
1429 0 48 if ($args{'skip_format'})
1435 0 48 if ($args{'pass_cmdline_object'})
1448 48 0 if ($args{'pack_deps'}) { }
1454 0 48 unless $dp_res->[0] == 200
1469 48 0 if ($args{'pod'} // 1)
1487 0 48 unless $res->[0] == 200
1528 38 10 if ($abstract) { }
1550 145 144 defined $cd->{'vars'}{$_} ? :
1558 48 52 if ($cd->{'sub_src_core_deps'}{$sub})
1564 0 100 ref $cd->{'sub_srcs'}{$sub} eq 'ARRAY' ? :
1582 48 0 keys %{$$cd{'mods'};} ? :
48 0 keys %{$$cd{'vars'};} ? :
1 47 $args{'log'} ? :
48 0 defined $pod ? :
1589 48 0 if (not defined $args{'output_file'} or $args{'output_file'} eq '-') { }
1592 0 0 if (-f $args{'output_file'})
1595 0 0 unless $args{'overwrite'}
1598 0 0 unless open $fh, '>', $args{'output_file'}
1601 48 0 if ($output_is_stdout) { }
1607 0 0 unless close $fh
1608 0 0 unless (chmod 0755, $args{'output_file'})