1#! /usr/bin/env perl 2# Copyright 2015-2024 The OpenSSL Project Authors. All Rights Reserved. 3# 4# Licensed under the Apache License 2.0 (the "License"). You may not use 5# this file except in compliance with the License. You can obtain a copy 6# in the file LICENSE in the source distribution or at 7# https://www.openssl.org/source/license.html 8 9 10use strict; 11use warnings; 12 13use OpenSSL::Test qw/:DEFAULT srctop_file srctop_dir bldtop_file bldtop_dir data_dir/; 14use OpenSSL::Test::Utils; 15use Cwd qw(abs_path); 16 17BEGIN { 18 setup("test_defltfips"); 19} 20 21use lib srctop_dir('Configurations'); 22use lib bldtop_dir('.'); 23 24plan skip_all => "Configuration loading is turned off" 25 if disabled("autoload-config"); 26 27my $no_fips = disabled('fips') || disabled('fips-post') || ($ENV{NO_FIPS} // 0); 28 29plan tests => 30 ($no_fips ? 1 : 5); 31 32unless ($no_fips) { 33 $ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "fips.cnf")); 34 ok(run(test(["defltfips_test", "fips"])), "running defltfips_test fips"); 35 36 #Test an alternative way of configuring fips 37 $ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "fips-alt.cnf")); 38 ok(run(test(["defltfips_test", "fips"])), "running defltfips_test fips"); 39 40 #Configured to run FIPS but the module-mac is bad 41 $ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "fips.cnf")); 42 $ENV{OPENSSL_CONF_INCLUDE} = srctop_dir("test", "recipes", "30-test_defltfips"); 43 ok(run(test(["defltfips_test", "badfips"])), "running defltfips_test badfips"); 44 45 #Test an alternative way of configuring fips (but still with bad module-mac) 46 $ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "fips-alt.cnf")); 47 ok(run(test(["defltfips_test", "badfips"])), "running defltfips_test badfips"); 48} 49 50$ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "default.cnf")); 51ok(run(test(["defltfips_test"])), "running defltfips_test"); 52