Branch Coverage

File:lib/OpenMP/Environment/Validation.pm
Coverage:99.5%

line%coveragebranch
65100TFunless defined $name
66100TFunless OpenMP::Environment::Constants::is_environment_name($name)
68100TFunless defined $value
78100TFif ($name =~ /\AOMP_/ and $name ne "OMP_AFFINITY_FORMAT")
81100TFif $UPPERCASE_FILTER{$name}
84100TFif defined $error
90100TFunless defined $name
91100TFunless OpenMP::Environment::Constants::is_environment_name($name)
93100TFunless defined $value
99100TFunless $LEGACY_VALIDATED{$name}
105100TFif ref $env ne "HASH"
106100TFunless OpenMP::Environment::Constants::is_environment_name($name)
109100TFif (exists $env->{$name})
110100TFif (defined $env->{$name})
117100TFunless grep {$_ eq $name;} @{$$conflict{"variables"};}
125100TFif ref $env ne "HASH"
128100TFunless exists $env->{$name}
129100TFunless defined $env->{$name}
134100TFif (@{$analysis->{'conflicts'};})
143100TFif ref $env ne "HASH"
147100TFunless exists $env->{$name}
148100TFunless defined $env->{$name}
150100TFunless $ok
154100TFif (_is_false($env->{'OMP_NESTED'}))
155100TFif (defined $env->{'OMP_MAX_ACTIVE_LEVELS'})
156100TFif ($env->{'OMP_MAX_ACTIVE_LEVELS'} =~ /\A\d+\z/)
157100TFif ($env->{'OMP_MAX_ACTIVE_LEVELS'} > 1)
180100TFif (exists $env->{'GOMP_CPU_AFFINITY'})
181100TFif (exists $env->{'OMP_PROC_BIND'})
185100TFif (exists $env->{'OMP_NESTED'})
186100TFif (exists $env->{'OMP_MAX_ACTIVE_LEVELS'})
188100TFif (_is_false($env->{'OMP_NESTED'}))
189100TFif ($env->{'OMP_MAX_ACTIVE_LEVELS'} =~ /\A\d+\z/)
190100TFif $env->{'OMP_MAX_ACTIVE_LEVELS'} > 1
193100TFunless $conflicting
197100TFif (_has_multiple_items($env->{'OMP_NUM_THREADS'})) { }
100TFelsif (_has_proc_bind_list($env->{'OMP_PROC_BIND'})) { }
205100TFif @errors
206100TFif @conflicts
218100TFunless exists $env->{$name}
225100TFunless defined $value
226100TFif $value =~ /\A(?:0|false)\z/i
232100TFunless defined $value
233100TFif $value =~ /,/
239100TFunless defined $value
240100TFif $value =~ /,/
247100TFif $allowed{uc $value}
253100TFunless $value =~ /\A\d+\z/
254100TFif $value < $minimum
260100TFif $value =~ /\A\s*[1-9]\d*(?:\s*,\s*[1-9]\d*)*\s*\z/
333100TFif $value =~ /\A\s*(?:TRUE|FALSE)\s*\z/i
334100TFif $value =~ /\A\s*(?:PRIMARY|MASTER|CLOSE|SPREAD)(?:\s*,\s*(?:PRIMARY|MASTER|CLOSE|SPREAD))*\s*\z/i
349100TFif $text eq ""
350100TFif $text =~ /\A[A-Za-z_][A-Za-z0-9_]*(?:\(\s*[1-9]\d*\s*\))?\z/
353100TFunless @items
356100TFif defined $err
368100TFif $value =~ /\A\s*[1-9]\d*\s*(?:[BKMG])?\s*\z/i
382100TFif $value =~ /\A\s*(?:(?:MONOTONIC|NONMONOTONIC)\s*:\s*)?(?:STATIC|DYNAMIC|GUIDED|AUTO)(?:\s*,\s*[1-9]\d*)?\s*\z/i
414100TFif $value =~ /\A\s*$entry(?:\s*(?:,|\s)\s*$entry)*\s*\z/
434100TFif $value =~ /\A\s*[1-9]\d*\s*(?:[BKMG])?\s*\z/i
445100TFif $value =~ /\A\s*(?:INFINITE|INFINITY)\s*\z/i
446100TFif $value =~ /\A\s*\d+(?:k|M|G|T)?\s*\z/
458100TFif $value =~ /\A\s*$config(?:\s*:\s*$config)*\s*\z/
494100TFif $allocator{$text}
495100TFif $space{$text}
498100TFunless defined $memspace
501100TFunless $space{$memspace}
502100TFunless length _trim($traits)
508100TFunless defined $name
510100TFif $seen{$name}++
512100TFif defined $err
516100TFif (defined $parsed{'fb_data'})
538100TFif $pos < 0
539100TFif $pos == length($value) - 1
541100TFif (substr($value, $i, 1) eq "%")
547100TFif ($tail =~ /\A$width([A-Za-z])/)
551100TFif ($tail =~ /\A$width\{[A-Za-z_][A-Za-z0-9_]*\}/)
569100TFif ($name eq "sync_hint")
572100TFif ($name eq "alignment")
573100TFunless $value =~ /\A[1-9]\d*\z/
575100TFif ($value & $value - 1) != 0
579100TFif ($name eq "access")
582100TFif ($name eq "pool_size")
585100TFif ($name eq "fallback")
588100TFif ($name eq "fb_data")
589100TFif $$allocators{lc $value}
592100TFif ($name eq "pinned")
595100TFif ($name eq "partition")
614100TFif $char eq "{"
615100TFif $char eq "}"
616100TFif $char eq "("
617100TFif $char eq ")"
618100TFif $brace < 0
619100TFif $paren < 0
620100TFif ($char eq $separator)
621100TFunless ($brace)
622100TFunless ($paren)
631100TFif $brace
632100TFif $paren
634100TFif grep {$_ eq "";} @parts
644100TFif (substr($text, 0, 1) eq '{') { }
100TFelsif ($text =~ /\A(\d+)(.*)\z/s) { }
646100TFif $close < 0
651100TFunless @resources
654100TFif defined $err
665100TFif _trim($suffix) eq ""
666100TFunless $suffix =~ /\A\s*:\s*[1-9]\d*(?:\s*:\s*[+-]?\d+)?\s*\z/
675100TFif $text =~ /\A\d+(?:\s*:\s*[1-9]\d*(?:\s*:\s*[+-]?\d+)?)?\z/
684100TFif $char eq "{"
685100TFif ($char eq "}")
68750TFif $depth == 0