Skip to content

Commit

Permalink
ktest: Evaluate options before processing them
Browse files Browse the repository at this point in the history
All options can take variables "${var}". Before doing any processing
or decision making on the content of an option, evaluate it incase
there are variables that may change the outcome.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
Steven Rostedt authored and Steven Rostedt committed Dec 23, 2011
1 parent 2b29b2f commit cad9666
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions tools/testing/ktest/ktest.pl
Original file line number Diff line number Diff line change
Expand Up @@ -416,10 +416,12 @@ sub process_variables {
sub set_value {
my ($lvalue, $rvalue, $override, $overrides, $name) = @_;

if ($buildonly && $lvalue =~ /^TEST_TYPE(\[.*\])?$/ && $rvalue ne "build") {
my $prvalue = process_variables($rvalue);

if ($buildonly && $lvalue =~ /^TEST_TYPE(\[.*\])?$/ && $prvalue ne "build") {
# Note if a test is something other than build, then we
# will need other manditory options.
if ($rvalue ne "install") {
if ($prvalue ne "install") {
$buildonly = 0;
} else {
# install still limits some manditory options.
Expand All @@ -435,13 +437,12 @@ sub set_value {
}
die "$name: $.: Option $lvalue defined more than once!\n$extra";
}
${$overrides}{$lvalue} = $rvalue;
${$overrides}{$lvalue} = $prvalue;
}
if ($rvalue =~ /^\s*$/) {
delete $opt{$lvalue};
} else {
$rvalue = process_variables($rvalue);
$opt{$lvalue} = $rvalue;
$opt{$lvalue} = $prvalue;
}
}

Expand Down

0 comments on commit cad9666

Please sign in to comment.