Condition Coverage

lib/Amazon/S3.pm
Criterion Covered Total %
condition 11 184 5.9


and 3 conditions

line !l l&&!r l&&r condition
144 0 3 0 not $self->_signer and $self->cache_signer
194 0 0 0 $secret and $encryption_key
242 0 0 0 $response and $response->is_success
410 0 0 0 $self->region and $self->region ne $Amazon::S3::DEFAULT_REGION
431 0 0 0 $region and $region eq $Amazon::S3::DEFAULT_REGION
477 0 0 0 ref $args[0] and &reftype($args[0]) eq "HASH"
620 0 0 0 defined $r->{'IsTruncated'} && scalar $r->{'IsTruncated'} eq 'true'
851 0 0 0 ref $args[0] and &reftype($args[0]) eq "HASH"
883 0 0 0 $path =~ m[\A([^/?]+)([^?]+)(.*)]msx and $self->dns_bucket_names
0 0 0 $path =~ m[\A([^/?]+)([^?]+)(.*)]msx and $self->dns_bucket_names and _can_bucket_be_subdomain($1)
948 0 0 0 @args == 1 and ref($args[0]) =~ /HTTP::Request/msx
967 0 0 0 $content and $response->content_type eq "application/xml"
1014 0 0 0 $response->content_type eq "application/xml" and $response->content
1018 0 0 0 $error_hash->{'Code'} eq "PermanentRedirect" and $error_hash->{'Endpoint'}
1039 0 0 0 $error_hash->{'Code'} eq "AuthorizationHeaderMalformed" and $error_hash->{'Region'}
1102 0 0 0 $response->code =~ /\A3/msx and defined $response->header("Location")
1174 0 0 0 @args == 1 and ref $args[0]
1270 0 0 0 not $xml_hr and $Amazon::S3::EVAL_ERROR
1436 0 0 0 $query_params{'partNumber'} and $query_params{'uploadId'}

or 2 conditions

line l !l condition
548 0 0 $conf ||= {}
553 0 0 $conf->{'list-type'} // 1
683 0 0 $conf ||= {}
694 0 0 $conf ||= {}
868 0 0 $headers ||= {}
870 0 0 $metadata ||= {}
1353 0 0 $headers ||= {}
1354 0 0 $metadata ||= {}

or 3 conditions

line l !l&&r !l&&!r condition
63 0 3 0 $options{'timeout'} //= $Amazon::S3::DEFAULT_TIMEOUT
64 0 3 0 $options{'secure'} //= $Amazon::S3::TRUE
65 0 3 0 $options{'host'} //= $Amazon::S3::DEFAULT_HOST
66 0 3 0 $options{'dns_bucket_names'} //= $Amazon::S3::TRUE
67 0 0 3 $options{'cache_signer'} //= $Amazon::S3::FALSE
68 0 0 3 $options{'retry'} //= $Amazon::S3::FALSE
84 0 3 0 $options{'log_level'} //= $Amazon::S3::DEFAULT_LOG_LEVEL
142 1 2 0 $self->_region // $Amazon::S3::DEFAULT_REGION
175 6 0 0 not $encryption_key or $Amazon::S3::EVAL_ERROR
215 0 0 0 not ref $bucket or ref !($bucket =~ /Amazon::S3::Bucket/msx)
219 0 0 0 $bucket->get_location_constraint // $Amazon::S3::DEFAULT_REGION
227 0 0 0 $ENV{'AWS_REGION'} || $ENV{'AWS_DEFAULT_REGION'}
248 0 0 0 $region || $Amazon::S3::DEFAULT_REGION
324 0 0 0 $self->_region // $Amazon::S3::EMPTY
361 0 0 0 not $r or $self->errstr
372 0 0 0 not ref $buckets or &reftype($buckets) ne "ARRAY"
381 0 0 0 $verify_region // $Amazon::S3::FALSE
429 0 0 0 $conf->{'location_constraint'} // $conf->{'region'}
0 0 0 ($conf->{'location_constraint'} // $conf->{'region'}) // $self->region
487 0 0 0 $region or $verify_region
514 0 0 0 $conf->{'region'} || $self->get_bucket_location($bucket)
599 0 0 0 not $r or $self->errstr
620 0 0 0 $r->{'Prefix'} // $Amazon::S3::EMPTY
0 0 0 $r->{$marker} // $Amazon::S3::EMPTY
0 0 0 $r->{$next_marker} // $Amazon::S3::EMPTY
713 0 0 0 $response->{'next_marker'} || $response->{'keys'}[-1]{'key'}
790 0 0 0 $self->region || $self->get_default_region
860 0 0 0 $region // $self->_region
872 0 0 0 $data //= $Amazon::S3::EMPTY
907 0 0 0 not $url or $Amazon::S3::EVAL_ERROR
1183 0 0 0 $region // $self->region
1286 0 0 0 ref $src or $src =~ /^[[:space:]]*
1387 0 0 0 $lk eq "content-md5" or $lk eq "content-type"
0 0 0 $lk eq "content-md5" or $lk eq "content-type" or $lk eq "date"
0 0 0 $lk eq "content-md5" or $lk eq "content-type" or $lk eq "date" or $lk =~ /^$Amazon::S3::AMAZON_HEADER_PREFIX/msx
1396 0 0 0 $interesting_headers{'content-type'} ||= $Amazon::S3::EMPTY
1397 0 0 0 $interesting_headers{'content-md5'} ||= $Amazon::S3::EMPTY