Skip to content

Commit

Permalink
ktest: Consolidate TEST_TYPE and DEFAULT code
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Steven Rostedt authored and Steven Rostedt committed Oct 17, 2011
1 parent 2ed3b16 commit 0050b6b
Showing 1 changed file with 21 additions and 40 deletions.
61 changes: 21 additions & 40 deletions tools/testing/ktest/ktest.pl
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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$_";
Expand Down

0 comments on commit 0050b6b

Please sign in to comment.