| line | % | coverage | branch |
| 24 | 50 | T | F | if -d $bin |
| 28 | 50 | T | F | unless defined $ENV{'SYSTEMROOT'} |
| 36 | 50 | T | F | if ($^O eq "MSWin32") |
| 43 | 100 | T | F | if -x $f |
| 50 | 50 | T | F | if check_exists_command($program) |
| 63 | 50 | T | F | unless defined $flags |
| 84 | 100 | T | F | if /^\s*(?:#.*)/ |
| 111 | 0 | T | F | $output_joined ne '' ? : |
| 125 | 50 | T | F | if ($? == -1) |
| 129 | 50 | T | F | if ($? & 127) |
| 130 | 0 | T | F | $? & 128 ? : |
| 134 | 50 | T | F | if $? == 0 |
| 151 | 50 | T | F | if ("$0" eq "-") |
| 163 | 50 | T | F | if ($? == 0) |
| 164 | 50 | T | F | if (compare_files($filename, $0)) |
| 173 | 0 | T | F | if ($gh_err_text =~ /error connecting to / and $gh_err_text =~ /check your internet connection/) |
| 177 | 0 | T | F | if ($gh_err_text =~ /proxyconnect tcp:.*connect: connection refused/) |
| 180 | 0 | T | F | if (defined $ENV{$proxy}) |
| 187 | 0 | T | F | if ($gh_err_text =~ /dial unix .*: connect: .*/) |
| 198 | 0 | T | F | if $exit == 0 |
| 206 | 0 | T | F | if $gh_auth_status == 0 |
| 211 | 0 | T | F | if (defined $ENV{$variable}) |
| 215 | 0 | T | F | if ($gh_auth_status == 0) |
| 228 | 0 | T | F | unless (gh_is_happy($program)) |
| 230 | 0 | T | F | defined $ENV{'CI'} && $ENV{'CI'} ? : |
| 236 | 0 | T | F | if $_[0] |
| 257 | 50 | T | F | unless $spell_check_this_config =~ /\{.*\}/s |
| 259 | 0 | T | F | unless eval {
do {
%config = %{decode_json($spell_check_this_config);}
}
} |
| 271 | 0 | T | F | if ($?) |
| 289 | 50 | T | F | unless ($should_exclude_patterns =~ /\w/) |
| 291 | 50 | T | F | unless $should_exclude_patterns =~ /\w/ |
| 296 | 0 | T | F | if (-f $excludes) { } |
| 300 | 0 | T | F | unless /./ |
| 308 | 0 | T | F | unless $pattern =~ /./ |
| 314 | 0 | T | F | if $need_to_add_excludes |
| 320 | 50 | T | F | unless @stale |
| 324 | 50 | T | F | unless -f $_ |
| 327 | 50 | T | F | unless (@expect_files) |
| 336 | 100 | T | F | if /^(?:$re)(?:(?:\r|\n)*$|[# ].*)/ |
| 350 | 50 | T | F | unless @add |
| 355 | 50 | T | F | if (-s $new_expect_file) |
| 367 | 50 | T | F | if $word =~ /\S/ |
| 379 | 0 | T | F | if ($suffix) |
| 390 | 0 | T | F | unless $ret >> 8 |
| 393 | 0 | T | F | if ($gh_err_text =~ /no valid artifacts found to download/) |
| 400 | 0 | T | F | if ($expired_json ne "") |
| 403 | 0 | T | F | unless eval {
do {
$expired = decode_json($expired_json)
}
} |
| 404 | 0 | T | F | if ($expired) |
| 412 | 0 | T | F | if ($gh_err_text =~ /no artifact matches any of the names or patterns provided/) |
| 415 | 0 | T | F | if ($github_server_url) { } |
| 424 | 0 | T | F | if ($gh_err_text =~ /HTTP 404: Not Found/) |
| 428 | 0 | T | F | unless ($gh_err_text =~ /HTTP 403: API rate limit exceeded for .*?./) |
| 433 | 0 | T | F | if $gh_err_text =~ /\brequest ID\s+(\S+)/ |
| 434 | 0 | T | F | if $gh_err_text =~ /\btimestamp\s+(.*? UTC)/ |
| 439 | 0 | T | F | unless ($has_gh_token) |
| 441 | 0 | T | F | unless $? |
| 447 | 0 | T | F | if ($curl_stdout =~ m[^HTTP/\S+\s+200]) { } |
| 0 | T | F | elsif ($curl_stdout =~ m[^HTTP/\S+\s+403]) { } |
| 448 | 0 | T | F | if ($curl_stdout =~ /^x-ratelimit-remaining:\s+(\d+)$/m) { } |
| 450 | 0 | T | F | if $ratelimit_remaining > 10 |
| 458 | 0 | T | F | if ($curl_stdout =~ /^retry-after:\s+(\d+)/m) { } |
| 465 | 0 | T | F | if $curl_stdout =~ m[^(HTTP/\S+)] |
| 475 | 50 | T | F | if $artifact =~ /'/ |
| 478 | 50 | T | F | unless ($apply =~ /\{.*\}/s) |
| 488 | 50 | T | F | unless eval {
do {
$config_ref = decode_json($apply)
}
} |
| 493 | 50 | T | F | unless $git_repo_root =~ /\w/ |
| 517 | 50 | T | F | unless defined $first |
| 520 | 50 | T | F | if (-s $first) { } |
| 526 | 50 | T | F | if ($line =~ /\s+artifact\.zip$/) |
| 530 | 50 | T | F | if ($line =~ /\s+1 file$/) |
| 534 | 50 | T | F | if $only_file |
| 537 | 50 | T | F | if ($has_artifact and $only_file) { } |
| 548 | 0 | T | F | if ($first =~ m[^\s*https://.*/([^/]+/[^/]+)/actions/runs/(\d+)(?:/attempts/\d+|)(?:#(\S+)|)\s*$]) { } |
| 553 | 0 | T | F | unless defined $repo and defined $run |
| 565 | 50 | T | F | $0 ne '-' ? : |