From: Steven Rostedt Date: Thu, 22 Dec 2011 16:32:52 +0000 (-0500) Subject: ktest: Evaluate options before processing them X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cad9666980c1c1a76345f36a68e96fda3d78d857;p=linux-beck.git ktest: Evaluate options before processing them 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 --- diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 59738aa6ca73..04a7bb573daa 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -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. @@ -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; } }