xref: /openssl/test/recipes/90-test_sslapi.t (revision fecb3aae)
1#! /usr/bin/env perl
2# Copyright 2016-2022 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 OpenSSL::Test::Utils;
11use OpenSSL::Test qw/:DEFAULT srctop_file srctop_dir bldtop_dir bldtop_file/;
12use File::Temp qw(tempfile);
13
14BEGIN {
15setup("test_sslapi");
16}
17
18use lib srctop_dir('Configurations');
19use lib bldtop_dir('.');
20
21my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0);
22
23plan skip_all => "No TLS/SSL protocols are supported by this OpenSSL build"
24    if alldisabled(grep { $_ ne "ssl3" } available_protocols("tls"));
25
26plan tests =>
27    ($no_fips ? 0 : 1)          # sslapitest with fips
28    + 1;                        # sslapitest with default provider
29
30(undef, my $tmpfilename) = tempfile();
31
32ok(run(test(["sslapitest", srctop_dir("test", "certs"),
33             srctop_file("test", "recipes", "90-test_sslapi_data",
34                         "passwd.txt"), $tmpfilename, "default",
35             srctop_file("test", "default.cnf"),
36             srctop_file("test",
37                         "recipes",
38                         "90-test_sslapi_data",
39                         "dhparams.pem")])),
40             "running sslapitest");
41
42unless ($no_fips) {
43    ok(run(test(["sslapitest", srctop_dir("test", "certs"),
44                 srctop_file("test", "recipes", "90-test_sslapi_data",
45                             "passwd.txt"), $tmpfilename, "fips",
46                 srctop_file("test", "fips-and-base.cnf"),
47                 srctop_file("test",
48                             "recipes",
49                             "90-test_sslapi_data",
50                             "dhparams.pem")])),
51                 "running sslapitest");
52}
53
54unlink $tmpfilename;
55