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: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
committed by
Steven Rostedt
parent
2ed3b16128
commit
0050b6bbef
@@ -436,21 +436,30 @@ sub __read_config {
|
|||||||
# ignore blank lines and comments
|
# ignore blank lines and comments
|
||||||
next if (/^\s*$/ || /\s*\#/);
|
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) {
|
my $old_test_num;
|
||||||
die "$name: $.: Can not specify both NUM_TESTS and TEST_START\n";
|
my $old_repeat;
|
||||||
|
|
||||||
|
if ($type eq "TEST_START") {
|
||||||
|
|
||||||
|
if ($num_tests_set) {
|
||||||
|
die "$name: $.: Can not specify both NUM_TESTS and TEST_START\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$old_test_num = $test_num;
|
||||||
|
$old_repeat = $repeat;
|
||||||
|
|
||||||
|
$test_num += $repeat;
|
||||||
|
$default = 0;
|
||||||
|
$repeat = 1;
|
||||||
|
} else {
|
||||||
|
$default = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $old_test_num = $test_num;
|
|
||||||
my $old_repeat = $repeat;
|
|
||||||
|
|
||||||
$test_num += $repeat;
|
|
||||||
$default = 0;
|
|
||||||
$repeat = 1;
|
|
||||||
|
|
||||||
if ($rest =~ /\s+SKIP\b(.*)/) {
|
if ($rest =~ /\s+SKIP\b(.*)/) {
|
||||||
$rest = $1;
|
$rest = $1;
|
||||||
$skip = 1;
|
$skip = 1;
|
||||||
@@ -478,42 +487,14 @@ sub __read_config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($rest !~ /^\s*$/) {
|
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;
|
$test_num = $old_test_num;
|
||||||
$repeat = $old_repeat;
|
$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(.*)$/) {
|
} elsif (/^\s*ELSE\b(.*)$/) {
|
||||||
if (!$if) {
|
if (!$if) {
|
||||||
die "$name: $.: ELSE found with out matching IF section\n$_";
|
die "$name: $.: ELSE found with out matching IF section\n$_";
|
||||||
|
Reference in New Issue
Block a user