xref: /freebsd/crypto/openssl/test/recipes/30-test_slh_dsa.t (revision e7be843b4a162e68651d3911f0357ed464915629)
1*e7be843bSPierre Pronchery#! /usr/bin/env perl
2*e7be843bSPierre Pronchery# Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
3*e7be843bSPierre Pronchery#
4*e7be843bSPierre Pronchery# Licensed under the Apache License 2.0 (the "License").  You may not use
5*e7be843bSPierre Pronchery# this file except in compliance with the License.  You can obtain a copy
6*e7be843bSPierre Pronchery# in the file LICENSE in the source distribution or at
7*e7be843bSPierre Pronchery# https://www.openssl.org/source/license.html
8*e7be843bSPierre Pronchery
9*e7be843bSPierre Proncheryuse strict;
10*e7be843bSPierre Proncheryuse warnings;
11*e7be843bSPierre Pronchery
12*e7be843bSPierre Proncheryuse OpenSSL::Test qw(:DEFAULT srctop_dir bldtop_dir srctop_file);
13*e7be843bSPierre Proncheryuse OpenSSL::Test::Utils;
14*e7be843bSPierre Pronchery
15*e7be843bSPierre ProncheryBEGIN {
16*e7be843bSPierre Pronchery    setup("test_slh_dsa");
17*e7be843bSPierre Pronchery}
18*e7be843bSPierre Pronchery
19*e7be843bSPierre Proncherymy $provconf = srctop_file("test", "fips-and-base.cnf");
20*e7be843bSPierre Proncherymy $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0);
21*e7be843bSPierre Pronchery
22*e7be843bSPierre Proncheryuse lib srctop_dir('Configurations');
23*e7be843bSPierre Proncheryuse lib bldtop_dir('.');
24*e7be843bSPierre Pronchery
25*e7be843bSPierre Proncheryplan skip_all => 'SLH-DSA is not supported in this build' if disabled('slh-dsa');
26*e7be843bSPierre Proncheryplan tests => 2;
27*e7be843bSPierre Pronchery
28*e7be843bSPierre Proncheryok(run(test(["slh_dsa_test"])), "running slh_dsa_test");
29*e7be843bSPierre Pronchery
30*e7be843bSPierre ProncherySKIP: {
31*e7be843bSPierre Pronchery    skip "Skipping FIPS tests", 1
32*e7be843bSPierre Pronchery        if $no_fips;
33*e7be843bSPierre Pronchery
34*e7be843bSPierre Pronchery    # SLH-DSA is only present after OpenSSL 3.5
35*e7be843bSPierre Pronchery    run(test(["fips_version_test", "-config", $provconf, ">=3.5.0"]),
36*e7be843bSPierre Pronchery             capture => 1, statusvar => \my $exit);
37*e7be843bSPierre Pronchery    skip "FIPS provider version is too old for SLH_DSA test", 1
38*e7be843bSPierre Pronchery        if !$exit;
39*e7be843bSPierre Pronchery
40*e7be843bSPierre Pronchery    ok(run(test(["slh_dsa_test", "-config",  $provconf])),
41*e7be843bSPierre Pronchery           "running slh_dsa_test with FIPS");
42*e7be843bSPierre Pronchery}
43