Encourage having external tests in multiple test recipes
authorRichard Levitte <levitte@openssl.org>
Fri, 10 Mar 2017 19:42:12 +0000 (20:42 +0100)
committerRichard Levitte <levitte@openssl.org>
Fri, 10 Mar 2017 21:13:04 +0000 (22:13 +0100)
This will make the individual external tests more easily selectable /
deselectable through the usual test selection mechanism.

This also moves external tests to group 95.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2902)

test/README.external
test/recipes/90-test_external.t [deleted file]
test/recipes/95-test_external_boringssl.t [new file with mode: 0644]

index 3cd0541408af70a48273755877ad1b158945d53e..f411e731ec4ea81c90a033f315c76492129fe4cd 100644 (file)
@@ -1,13 +1,17 @@
-Running the BoringSSL test suite with OpenSSL
-=============================================
-
-It is possible to integrate external test suites into OpenSSL's "make test". At
-the current time the only supported external suite is the one used by
-BoringSSL.
+Running external test suites with OpenSSL
+=========================================
 
+It is possible to integrate external test suites into OpenSSL's "make test".
 This capability is considered a developer option and may not work on all
 platforms.
 
+At the current time the only supported external suite is the one used by
+BoringSSL.
+
+
+The BoringSSL test suite
+========================
+
 In order to run the BoringSSL tests with OpenSSL, first checkout the BoringSSL
 source code into an appropriate directory:
 
@@ -40,11 +44,11 @@ To see more detailed output you can run just the BoringSSL tests with the
 verbose option:
 
 $ VERBOSE=1 BORING_RUNNER_DIR=/path/to/boringssl/ssl/test/runner make \
-  TESTS="test_external" test
+  TESTS="test_external_boringssl" test
 
 
 Test failures and suppressions
-==============================
+------------------------------
 
 A large number of the BoringSSL tests are known to fail. A test could fail
 because of many possible reasons. For example:
diff --git a/test/recipes/90-test_external.t b/test/recipes/90-test_external.t
deleted file mode 100644 (file)
index 3bdc4af..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /usr/bin/env perl
-# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-
-use OpenSSL::Test;
-use OpenSSL::Test::Utils;
-use OpenSSL::Test qw/:DEFAULT bldtop_file srctop_file cmdstr/;
-
-setup("test_external");
-
-plan skip_all => "No external tests in this configuration"
-    if disabled("external-tests");
-
-if (!$ENV{BORING_RUNNER_DIR}) {
-    plan skip_all => "No external tests have been detected";
-}
-
-plan tests => 1;
-
-indir $ENV{BORING_RUNNER_DIR} => sub {
-    ok(filter_run(cmd(["go", "test", "-shim-path",
-                      bldtop_file("test", "ossl_shim", "ossl_shim"),
-                      "-shim-config",
-                      srctop_file("test", "ossl_shim", "ossl_config.json"),
-                      "-pipe", "-allow-unimplemented"])),
-        "running external tests");
-}, create => 0, cleanup => 0;
-
-# Filter the output so that the "ok" printed by go test doesn't confuse
-# Test::More. Without that it thinks there has been one more test run than was
-# planned
-sub filter_run {
-    my $cmd = cmdstr(shift);
-    open(PIPE, "-|", $cmd);
-    while(<PIPE>) {
-        print STDOUT "go test: ", $_;
-    }
-    close PIPE;
-}
diff --git a/test/recipes/95-test_external_boringssl.t b/test/recipes/95-test_external_boringssl.t
new file mode 100644 (file)
index 0000000..a49e6ea
--- /dev/null
@@ -0,0 +1,43 @@
+#! /usr/bin/env perl
+# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License").  You may not use
+# this file except in compliance with the License.  You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+
+use OpenSSL::Test;
+use OpenSSL::Test::Utils;
+use OpenSSL::Test qw/:DEFAULT bldtop_file srctop_file cmdstr/;
+
+setup("test_external_boringssl");
+
+plan skip_all => "No external tests in this configuration"
+    if disabled("external-tests");
+
+plan skip_all => "BoringSSL runner not detected"
+    if !$ENV{BORING_RUNNER_DIR};
+
+plan tests => 1;
+
+indir $ENV{BORING_RUNNER_DIR} => sub {
+    ok(filter_run(cmd(["go", "test", "-shim-path",
+                       bldtop_file("test", "ossl_shim", "ossl_shim"),
+                       "-shim-config",
+                       srctop_file("test", "ossl_shim", "ossl_config.json"),
+                       "-pipe", "-allow-unimplemented"])),
+       "running BoringSSL tests");
+}, create => 0, cleanup => 0;
+
+# Filter the output so that the "ok" printed by go test doesn't confuse
+# Test::More. Without that it thinks there has been one more test run than was
+# planned
+sub filter_run {
+    my $cmd = cmdstr(shift);
+    open(PIPE, "-|", $cmd);
+    while(<PIPE>) {
+        print STDOUT "go test: ", $_;
+    }
+    close PIPE;
+}