aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTodd Short <tshort@akamai.com>2022-05-25 11:39:20 -0400
committerTomas Mraz <tomas@openssl.org>2022-11-21 10:49:52 +0100
commite373c086c4daf9cbc98178a9b37d7de18f0f1de5 (patch)
treeef2f86c6d1c59bea107d18235600cb3f36322c2e /test
parentc251c628f807a4b9cbbab8f2dea8d2286df27dc7 (diff)
downloadopenssl-e373c086c4daf9cbc98178a9b37d7de18f0f1de5.zip
openssl-e373c086c4daf9cbc98178a9b37d7de18f0f1de5.tar.gz
openssl-e373c086c4daf9cbc98178a9b37d7de18f0f1de5.tar.bz2
Make running individual ssl-test easier
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18407) (cherry picked from commit eec204f4b19f86e726aa09c5c919a57bdf2ee1d0)
Diffstat (limited to 'test')
-rw-r--r--test/README.ssltest.md11
-rw-r--r--test/recipes/80-test_ssl_new.t18
2 files changed, 24 insertions, 5 deletions
diff --git a/test/README.ssltest.md b/test/README.ssltest.md
index 81ee7df..85a6430 100644
--- a/test/README.ssltest.md
+++ b/test/README.ssltest.md
@@ -283,3 +283,14 @@ of the generated `test/ssl-tests/*.cnf` correspond to expected outputs in with
the default Configure options. To run `ssl_test` manually from the command line
in a build with a different configuration, you may need to generate the right
`*.cnf` file from the `*.cnf.in` input first.
+
+Running a test manually via make
+--------------------------------
+
+Individual tests may be run by adding the SSL_TESTS variable to the `make`
+command line. The SSL_TESTS variable is set to the list of input (or ".in")
+files. The values in SSL_TESTS are globbed.
+
+ $ make test TESTS=test_ssl_new SSL_TESTS="0*.cnf.in"
+
+ $ make test TESTS=test_ssl_new SSL_TESTS="01-simple.cnf.in 05-sni.cnf.in"
diff --git a/test/recipes/80-test_ssl_new.t b/test/recipes/80-test_ssl_new.t
index fe03607..0c6d640 100644
--- a/test/recipes/80-test_ssl_new.t
+++ b/test/recipes/80-test_ssl_new.t
@@ -31,15 +31,23 @@ my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0);
$ENV{TEST_CERTS_DIR} = srctop_dir("test", "certs");
-my @conf_srcs = glob(srctop_file("test", "ssl-tests", "*.cnf.in"));
+my @conf_srcs = ();
+if (defined $ENV{SSL_TESTS}) {
+ my @conf_list = split(' ', $ENV{SSL_TESTS});
+ foreach my $conf_file (@conf_list) {
+ push (@conf_srcs, glob(srctop_file("test", "ssl-tests", $conf_file)));
+ }
+ plan tests => scalar @conf_srcs;
+} else {
+ @conf_srcs = glob(srctop_file("test", "ssl-tests", "*.cnf.in"));
+ # We hard-code the number of tests to double-check that the globbing above
+ # finds all files as expected.
+ plan tests => 30;
+}
map { s/;.*// } @conf_srcs if $^O eq "VMS";
my @conf_files = map { basename($_, ".in") } @conf_srcs;
map { s/\^// } @conf_files if $^O eq "VMS";
-# We hard-code the number of tests to double-check that the globbing above
-# finds all files as expected.
-plan tests => 30;
-
# Some test results depend on the configuration of enabled protocols. We only
# verify generated sources in the default configuration.
my $is_default_tls = (disabled("ssl3") && !disabled("tls1") &&