diff options
| -rwxr-xr-x | tools/testing/ktest/ktest.pl | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 30e2befd6f2..8b4c2535b26 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -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";  |