1#! /usr/bin/env perl 2# Copyright 2015-2021 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 24my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0); 25 26plan tests => 27 ($no_fips ? 1 : 5); 28 29unless ($no_fips) { 30 $ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "fips.cnf")); 31 ok(run(test(["defltfips_test", "fips"])), "running defltfips_test fips"); 32 33 #Test an alternative way of configuring fips 34 $ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "fips-alt.cnf")); 35 ok(run(test(["defltfips_test", "fips"])), "running defltfips_test fips"); 36 37 #Configured to run FIPS but the module-mac is bad 38 $ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "fips.cnf")); 39 $ENV{OPENSSL_CONF_INCLUDE} = srctop_dir("test", "recipes", "30-test_defltfips"); 40 ok(run(test(["defltfips_test", "badfips"])), "running defltfips_test badfips"); 41 42 #Test an alternative way of configuring fips (but still with bad module-mac) 43 $ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "fips-alt.cnf")); 44 ok(run(test(["defltfips_test", "badfips"])), "running defltfips_test badfips"); 45} 46 47$ENV{OPENSSL_CONF} = abs_path(srctop_file("test", "default.cnf")); 48ok(run(test(["defltfips_test"])), "running defltfips_test"); 49