• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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