[PATCH 12/21] ktest: Consolidate TEST_TYPE and DEFAULT code

From: Steven Rostedt
Date: Fri Oct 28 2011 - 07:23:32 EST


From: Steven Rostedt <srostedt@xxxxxxxxxx>

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@xxxxxxxxxxx>
---
tools/testing/ktest/ktest.pl | 61 ++++++++++++++---------------------------
1 files changed, 21 insertions(+), 40 deletions(-)

diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 62de47d..b4f32e7 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -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$_";
--
1.7.6.3


Attachment: signature.asc
Description: This is a digitally signed message part