ktest: Consolidate TEST_TYPE and DEFAULT code
authorSteven Rostedt <srostedt@redhat.com>
Sat, 1 Oct 2011 01:10:30 +0000 (21:10 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Mon, 17 Oct 2011 15:54:11 +0000 (11:54 -0400)
The code that handles parsing the TEST_TYPE and DEFAULT code share
a lot of common functionality. Combine the two and add a if statement
that does what is different between them.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
tools/testing/ktest/ktest.pl

index 62de47d..b4f32e7 100755 (executable)
@@ -436,20 +436,29 @@ sub __read_config {
        # ignore blank lines and comments
        next if (/^\s*$/ || /\s*\#/);
 
-       if (/^\s*TEST_START(.*)/) {
+       if (/^\s*(TEST_START|DEFAULTS)\b(.*)/) {
 
-           $rest = $1;
+           my $type = $1;
+           $rest = $2;
 
-           if ($num_tests_set) {
-               die "$name: $.: Can not specify both NUM_TESTS and TEST_START\n";
-           }
+           my $old_test_num;
+           my $old_repeat;
+
+           if ($type eq "TEST_START") {
 
-           my $old_test_num = $test_num;
-           my $old_repeat = $repeat;
+               if ($num_tests_set) {
+                   die "$name: $.: Can not specify both NUM_TESTS and TEST_START\n";
+               }
 
-           $test_num += $repeat;
-           $default = 0;
-           $repeat = 1;
+               $old_test_num = $test_num;
+               $old_repeat = $repeat;
+
+               $test_num += $repeat;
+               $default = 0;
+               $repeat = 1;
+           } else {
+               $default = 1;
+           }
 
            if ($rest =~ /\s+SKIP\b(.*)/) {
                $rest = $1;
@@ -478,42 +487,14 @@ sub __read_config {
            }
 
            if ($rest !~ /^\s*$/) {
-               die "$name: $.: Gargbage found after TEST_START\n$_";
+               die "$name: $.: Gargbage found after $type\n$_";
            }
 
-           if ($skip) {
+           if ($skip && $type eq "TEST_START") {
                $test_num = $old_test_num;
                $repeat = $old_repeat;
            }
 
-       } elsif (/^\s*DEFAULTS(.*)$/) {
-           $default = 1;
-
-           $rest = $1;
-
-           if ($rest =~ /\s+SKIP(.*)/) {
-               $rest = $1;
-               $skip = 1;
-           } else {
-               $skip = 0;
-           }
-
-           if ($rest =~ /\sIF\s+(.*)/) {
-               $if = 1;
-               if (process_if($name, $1)) {
-                   $if_set = 1;
-               } else {
-                   $skip = 1;
-               }
-               $rest = "";
-           } else {
-               $if = 0;
-           }
-
-           if ($rest !~ /^\s*$/) {
-               die "$name: $.: Gargbage found after DEFAULTS\n$_";
-           }
-
        } elsif (/^\s*ELSE\b(.*)$/) {
            if (!$if) {
                die "$name: $.: ELSE found with out matching IF section\n$_";