Better method of skipping all the tests in 00-check_testexes.t
authorRichard Levitte <levitte@openssl.org>
Sun, 9 Aug 2015 03:35:57 +0000 (05:35 +0200)
committerRichard Levitte <levitte@openssl.org>
Mon, 7 Sep 2015 14:10:58 +0000 (16:10 +0200)
Before trying to read MINFO, we have no idea how many to test for, and
because skip expects to get an exact number somehow, it's better to
use 'plan skip_all'.

Reviewed-by: Rich Salz <rsalz@openssl.org>
test/recipes/00-check_testexes.t

index aa7281a..483d883 100644 (file)
@@ -10,36 +10,34 @@ setup("check_testexes");
 
 my $MINFO = top_file("MINFO");
 
- SKIP: {
-     skip "because $MINFO not found. If you want this test to run, please do 'perl util/mkfiles.pl > $MINFO'"
-        unless open(FH,$MINFO);
-
-     while(<FH>) {
-        chomp;
-        last if /^RELATIVE_DIRECTORY=test$/;
-     }
-     while(<FH>) {
-        chomp;
-        last if /^EXE=/;
-     }
-     close FH;
-
-     s/^EXE=\s*//;
-     s/\s*$//;
-     my @expected_tests =
-        map { s/\..*$//;       # Remove extension
-              s/_?test$//;     # Remove possible underscore
-              s/(sha\d+)t/$1/; # sha comes with no t at the end
-              $_; } split(/\s+/, $_);
-
-     plan tests => scalar @expected_tests;
-
-     my @found_tests =
-        map { basename($_) } glob(top_file("test", "recipes", "*.t"));
-
-     foreach my $test (sort @expected_tests) {
-        ok(scalar(grep(/^[0-9][0-9]-test_$test\.t$/, @found_tests)),
-           "check that a test for $test exists")
-            || diag("Expected to find something matching '[0-9][0-9]-test_$test.t'");
-     }
+plan skip_all => "because MINFO not found. If you want this test to run, please do 'perl util/mkfiles.pl > MINFO'"
+    unless open(FH,$MINFO);
+
+while(<FH>) {
+    chomp;
+    last if /^RELATIVE_DIRECTORY=test$/;
+}
+while(<FH>) {
+    chomp;
+    last if /^EXE=/;
+}
+close FH;
+
+s/^EXE=\s*//;
+s/\s*$//;
+my @expected_tests =
+    map { s/\..*$//;           # Remove extension
+         s/_?test$//;          # Remove 'test', possibly prefixed with '_'
+         s/(sha\d+)t/$1/;      # sha comes with no t at the end
+         $_; } split(/\s+/, $_);
+
+plan tests => scalar @expected_tests;
+
+my @found_tests =
+    map { basename($_) } glob(top_file("test", "recipes", "*.t"));
+
+foreach my $test (sort @expected_tests) {
+    ok(scalar(grep(/^[0-9][0-9]-test_$test\.t$/, @found_tests)),
+       "check that a test for $test exists")
+       || diag("Expected to find something matching '[0-9][0-9]-test_$test.t'");
 }