aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2011-09-30 21:10:30 -0400
committerSteven Rostedt <rostedt@goodmis.org>2011-10-17 11:54:11 -0400
commit0050b6bbef01d871a34a77685047190aa428b210 (patch)
treead29cc14fd37a7aa9dd08737020a604a1cae6fd6 /tools
parent2ed3b16128e93309758e62937e7f137ac9844227 (diff)
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>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/testing/ktest/ktest.pl61
1 files changed, 21 insertions, 40 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 62de47de2b04..b4f32e734745 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -436,20 +436,29 @@ sub __read_config {
436 # ignore blank lines and comments 436 # ignore blank lines and comments
437 next if (/^\s*$/ || /\s*\#/); 437 next if (/^\s*$/ || /\s*\#/);
438 438
439 if (/^\s*TEST_START(.*)/) { 439 if (/^\s*(TEST_START|DEFAULTS)\b(.*)/) {
440 440
441 $rest = $1; 441 my $type = $1;
442 $rest = $2;
442 443
443 if ($num_tests_set) { 444 my $old_test_num;
444 die "$name: $.: Can not specify both NUM_TESTS and TEST_START\n"; 445 my $old_repeat;
445 } 446
447 if ($type eq "TEST_START") {
446 448
447 my $old_test_num = $test_num; 449 if ($num_tests_set) {
448 my $old_repeat = $repeat; 450 die "$name: $.: Can not specify both NUM_TESTS and TEST_START\n";
451 }
449 452
450 $test_num += $repeat; 453 $old_test_num = $test_num;
451 $default = 0; 454 $old_repeat = $repeat;
452 $repeat = 1; 455
456 $test_num += $repeat;
457 $default = 0;
458 $repeat = 1;
459 } else {
460 $default = 1;
461 }
453 462
454 if ($rest =~ /\s+SKIP\b(.*)/) { 463 if ($rest =~ /\s+SKIP\b(.*)/) {
455 $rest = $1; 464 $rest = $1;
@@ -478,42 +487,14 @@ sub __read_config {
478 } 487 }
479 488
480 if ($rest !~ /^\s*$/) { 489 if ($rest !~ /^\s*$/) {
481 die "$name: $.: Gargbage found after TEST_START\n$_"; 490 die "$name: $.: Gargbage found after $type\n$_";
482 } 491 }
483 492
484 if ($skip) { 493 if ($skip && $type eq "TEST_START") {
485 $test_num = $old_test_num; 494 $test_num = $old_test_num;
486 $repeat = $old_repeat; 495 $repeat = $old_repeat;
487 } 496 }
488 497
489 } elsif (/^\s*DEFAULTS(.*)$/) {
490 $default = 1;
491
492 $rest = $1;
493
494 if ($rest =~ /\s+SKIP(.*)/) {
495 $rest = $1;
496 $skip = 1;
497 } else {
498 $skip = 0;
499 }
500
501 if ($rest =~ /\sIF\s+(.*)/) {
502 $if = 1;
503 if (process_if($name, $1)) {
504 $if_set = 1;
505 } else {
506 $skip = 1;
507 }
508 $rest = "";
509 } else {
510 $if = 0;
511 }
512
513 if ($rest !~ /^\s*$/) {
514 die "$name: $.: Gargbage found after DEFAULTS\n$_";
515 }
516
517 } elsif (/^\s*ELSE\b(.*)$/) { 498 } elsif (/^\s*ELSE\b(.*)$/) {
518 if (!$if) { 499 if (!$if) {
519 die "$name: $.: ELSE found with out matching IF section\n$_"; 500 die "$name: $.: ELSE found with out matching IF section\n$_";