lkml.org 
[lkml]   [2012]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 01/20] ktest: Check parent options for iterated tests
    From: Rabin Vincent <rabin@rab.in>

    Let's say we have "OUTPUT_DIR = build/${TEST_NAME}", and we're iterating
    a test. In the second iteration of a test, the TEST_NAME of the test
    we're repeating is not used. Instead, ${TEST_NAME} appears literally:
    touch /home/rabin/kernel/test/build/${TEST_NAME}/.config ... SUCCESS
    Fix this by making __eval_option() check the parent test options
    for a repeated test.

    Link: http://lkml.kernel.org/r/1321616131-21352-2-git-send-email-rabin@rab.in

    Signed-off-by: Rabin Vincent <rabin@rab.in>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    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 30e2bef..8b4c253 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";
    --
    1.7.7.3

    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2012-01-05 04:55    [W:1.054 / U:0.068 seconds]
    ©2003-2011 Jasper Spaans. Advertise on this site