1
0
Fork 0

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
  ktest: Check parent options for iterated tests
hifive-unleashed-5.1
Linus Torvalds 2011-11-23 09:50:42 -08:00
commit f10cdea68b
1 changed files with 16 additions and 0 deletions

View File

@ -747,6 +747,18 @@ sub __eval_option {
# Add space to evaluate the character before $
$option = " $option";
my $retval = "";
my $repeated = 0;
my $parent = 0;
foreach my $test (keys %repeat_tests) {
if ($i >= $test &&
$i < $test + $repeat_tests{$test}) {
$repeated = 1;
$parent = $test;
last;
}
}
while ($option =~ /(.*?[^\\])\$\{(.*?)\}(.*)/) {
my $start = $1;
@ -760,10 +772,14 @@ sub __eval_option {
# otherwise see if the default OPT (without [$i]) exists.
my $o = "$var\[$i\]";
my $parento = "$var\[$parent\]";
if (defined($opt{$o})) {
$o = $opt{$o};
$retval = "$retval$o";
} elsif ($repeated && defined($opt{$parento})) {
$o = $opt{$parento};
$retval = "$retval$o";
} elsif (defined($opt{$var})) {
$o = $opt{$var};
$retval = "$retval$o";