Centralise Environment Variables for the tests
authorMatt Caswell <matt@openssl.org>
Thu, 30 Apr 2020 15:08:57 +0000 (16:08 +0100)
committerMatt Caswell <matt@openssl.org>
Wed, 6 May 2020 10:40:53 +0000 (11:40 +0100)
The test_includes test was failing if OPENSSL_CONF_INCLUDE happened to
be set in the user's environment. To ensure that no tests accidentally
use this or other enviroment variables from the user's environment we
automatically set them centrally for all tests.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/11691)

17 files changed:
test/README
test/recipes/03-test_fipsinstall.t
test/recipes/30-test_afalg.t
test/recipes/30-test_evp.t
test/recipes/30-test_evp_fetch_prov.t
test/recipes/70-test_comp.t
test/recipes/70-test_sslmessages.t
test/recipes/70-test_tls13kexmodes.t
test/recipes/70-test_tls13messages.t
test/recipes/70-test_tls13psk.t
test/recipes/80-test_ct.t
test/recipes/80-test_ssl_new.t
test/recipes/80-test_ssl_old.t
test/recipes/90-test_includes.t
test/recipes/90-test_sslapi.t
test/recipes/90-test_sslprovider.t
test/run_tests.pl

index 17dffa0e7fc5ebb10519fb2002fa1b9b65b98e92..9094d9a38dae9b0991f72eff4bbf59a048b0b04d 100644 (file)
@@ -151,3 +151,7 @@ works fine and can be used in place of:
 
 The former produces a more meaningful message on failure than the latter.
 
+Note that the test infrastructure automatically sets up all required environment
+variables (such as OPENSSL_MODULES, OPENSSL_CONF etc) for the tests. Individual
+tests may choose to override the default settings as required.
+
index b35ddfc7b04c02e8eb16a9541d79ed5594ed1374..16ae9556634c46b88066d71a8c76dbf29251dcd7 100644 (file)
@@ -27,7 +27,6 @@ plan skip_all => "Test only supported in a fips build" if disabled("fips");
 plan tests => 12;
 
 my $infile = bldtop_file('providers', platform->dso('fips'));
-$ENV{OPENSSL_MODULES} = bldtop_dir("providers");
 
 # fail if no module name
 ok(!run(app(['openssl', 'fipsinstall', '-out', 'fips.cnf', '-module',
index 363f4d4c0bdb16c36f57c8a7c515a3b97a7be826..98ffc9908cbf70cf1a4346870bb5b165c01dd452 100644 (file)
@@ -7,7 +7,7 @@
 # https://www.openssl.org/source/license.html
 
 use strict;
-use OpenSSL::Test qw/:DEFAULT bldtop_dir/;
+use OpenSSL::Test qw/:DEFAULT/;
 use OpenSSL::Test::Utils;
 
 my $test_name = "test_afalg";
@@ -18,6 +18,4 @@ plan skip_all => "$test_name not supported for this build"
 
 plan tests => 1;
 
-$ENV{OPENSSL_ENGINES} = bldtop_dir("engines");
-
 ok(run(test(["afalgtest"])), "running afalgtest");
index 88eb41e1c175d13b0bf7728c0481b20f05420213..5f7585cc790f057c782d6935219db82eded2f9ec 100644 (file)
@@ -80,8 +80,6 @@ plan tests =>
 
 unless ($no_fips) {
     my $infile = bldtop_file('providers', platform->dso('fips'));
-    $ENV{OPENSSL_MODULES} = bldtop_dir("providers");
-    $ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers");
 
     ok(run(app(['openssl', 'fipsinstall',
                 '-out', bldtop_file('providers', 'fipsmodule.cnf'),
index be06716b44686329e511067f10932dd9d696cd4c..a49a66fee68936bf8be28fe25949bd3944db624a 100644 (file)
@@ -24,9 +24,6 @@ my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0);
 
 my @types = ( "digest", "cipher" );
 
-$ENV{OPENSSL_MODULES} = bldtop_dir("providers");
-$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers");
-
 my @setups = ();
 my @testdata = (
     { config    => srctop_file("test", "default.cnf"),
index 4a00652c934dfe5d00595732452d355576cfdee8..2ac168c2521ac29ba2b6db5120cf70888b67a12e 100644 (file)
@@ -28,7 +28,6 @@ plan skip_all => "$test_name needs TLSv1.3 or TLSv1.2 enabled"
     if disabled("tls1_3") && disabled("tls1_2");
 
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
-$ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf");
 
 use constant {
     MULTIPLE_COMPRESSIONS => 0,
index b90eae57d4652a75add063f2b33fda13ef32782b..3f57af62d554e416e5ee03013e5ba941623b477f 100644 (file)
@@ -30,7 +30,6 @@ plan skip_all => "$test_name needs TLS enabled"
        || (!disabled("tls1_3") && disabled("tls1_2"));
 
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
-$ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf");
 
 my $proxy = TLSProxy::Proxy->new(
     undef,
index 2751a3f174a712fd0d47b81addf6cc654cd52040..6648376c0cba121fdfe2df1896b56d17f5947b01 100644 (file)
@@ -32,7 +32,6 @@ plan skip_all => "$test_name needs EC enabled"
     if disabled("ec");
 
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
-$ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf");
 
 
 @handmessages = (
index 21fd6f2894dfe7fdf1d01c8c9ec5602d872a5682..3113294f063190e6b252d911255a1aeb20c5f6cb 100644 (file)
@@ -32,8 +32,6 @@ plan skip_all => "$test_name needs EC enabled"
     if disabled("ec");
 
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
-$ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf");
-
 
 @handmessages = (
     [TLSProxy::Message::MT_CLIENT_HELLO,
index f20150f623850f2dbd3d41f78e8ecd93919ba780..66582b7d8e538a7ae5acec9e4658625e6b4b94c3 100644 (file)
@@ -28,7 +28,6 @@ plan skip_all => "$test_name needs TLSv1.3 enabled"
     if disabled("tls1_3");
 
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
-$ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf");
 
 my $proxy = TLSProxy::Proxy->new(
     undef,
index 8350467f7e6814e220f3b6198b4929ccf18f4713..33cb71583b227945cb2bdb98981464d221dd9807 100644 (file)
@@ -11,7 +11,7 @@ use OpenSSL::Test qw/:DEFAULT srctop_file srctop_dir/;
 use OpenSSL::Test::Simple;
 
 setup("test_ct");
-$ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf");
+
 $ENV{CT_DIR} = srctop_dir("test", "ct");
 $ENV{CERTS_DIR} = srctop_dir("test", "certs");
 simple_test("test_ct", "ct_test", "ct", "ec");
index 8a26119f86981f139e6c2792c64aab0ba8e93122..f105a39ce04f7a56e347f587220af9670c6061aa 100644 (file)
@@ -26,10 +26,7 @@ use platform;
 
 my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0);
 
-$ENV{OPENSSL_MODULES} = bldtop_dir("providers");
-$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers");
 $ENV{TEST_CERTS_DIR} = srctop_dir("test", "certs");
-$ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf");
 
 my @conf_srcs =  glob(srctop_file("test", "ssl-tests", "*.cnf.in"));
 map { s/;.*// } @conf_srcs if $^O eq "VMS";
index 42963c364a25ffc2f892bb36718fbd00ad01d78d..e01137d5939e1d0f22ba4f9f1650a40f688314a7 100644 (file)
@@ -24,10 +24,6 @@ use lib srctop_dir('Configurations');
 use lib bldtop_dir('.');
 use platform;
 
-$ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf");
-$ENV{OPENSSL_MODULES} = bldtop_dir("providers");
-$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers");
-
 my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0);
 my ($no_rsa, $no_dsa, $no_dh, $no_ec, $no_psk,
     $no_ssl3, $no_tls1, $no_tls1_1, $no_tls1_2, $no_tls1_3,
index 301f6c1560fbd1d752e6859a8ebe6ae8f7ab22e3..add3813a64634cf4bd8aa7b1f1d9efecbf155bf5 100644 (file)
@@ -10,6 +10,8 @@ setup("test_includes");
 plan skip_all => "test_includes doesn't work without posix-io"
     if disabled("posix-io");
 
+delete $ENV{OPENSSL_CONF_INCLUDE};
+
 plan tests =>                   # The number of tests being performed
     5
     + ($^O eq "VMS" ? 2 : 0);
index b89b7838050a9668e94e36ca348104bc0d5847b8..e25ca0ba3eba3e120f7f3ea6062b4558f891d8e1 100644 (file)
@@ -30,9 +30,6 @@ plan tests =>
 
 (undef, my $tmpfilename) = tempfile();
 
-$ENV{OPENSSL_MODULES} = bldtop_dir("providers");
-$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers");
-
 ok(run(test(["sslapitest", srctop_dir("test", "certs"),
              srctop_file("test", "recipes", "90-test_sslapi_data",
                          "passwd.txt"), $tmpfilename, "default",
index 793756bc6d73c9958d2f1db77f9a6e82257c60ca..1a2a28557eed6a01879bb812f3106f5e26d96a1a 100644 (file)
@@ -23,9 +23,6 @@ plan skip_all => "No TLS/SSL protocols are supported by this OpenSSL build"
 
 plan tests => 3;
 
-$ENV{OPENSSL_MODULES} = bldtop_dir("providers");
-$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers");
-
 SKIP: {
     skip "Skipping FIPS installation", 1
         if disabled("fips");
index bb917615633eab90c6602372dde2b748954aa8d0..0ed768ed4161445bd95b7db648c4b1df49168c98 100644 (file)
@@ -27,7 +27,11 @@ my $bldtop = $ENV{BLDTOP} || $ENV{TOP};
 my $recipesdir = catdir($srctop, "test", "recipes");
 my $libdir = rel2abs(catdir($srctop, "util", "perl"));
 
-$ENV{OPENSSL_CONF} = catdir($srctop, "apps", "openssl.cnf");
+$ENV{OPENSSL_CONF} = rel2abs(catdir($srctop, "apps", "openssl.cnf"));
+$ENV{OPENSSL_CONF_INCLUDE} = rel2abs(catdir($bldtop, "providers"));
+$ENV{OPENSSL_MODULES} = rel2abs(catdir($bldtop, "providers"));
+$ENV{OPENSSL_ENGINES} = rel2abs(catdir($bldtop, "engines"));
+$ENV{CTLOG_FILE} = rel2abs(catdir($srctop, "test", "ct", "log_list.cnf"));
 
 my %tapargs =
     ( verbosity         => $ENV{HARNESS_VERBOSE} ? 1 : 0,