Commit 0050b6bb authored by Steven Rostedt's avatar Steven Rostedt Committed by Steven Rostedt

ktest: Consolidate TEST_TYPE and DEFAULT code

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: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 2ed3b161
......@@ -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$_";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment