xref: /netbsd-src/tests/crypto/libcrypto/t_libcrypto.sh (revision d8f5b04c091e033c7c2978066c7b27dbd1aa9d53)
1*d8f5b04cSrillig# $NetBSD: t_libcrypto.sh,v 1.10 2024/04/28 07:27:40 rillig Exp $
2b9866b6cSjmmv#
3b9866b6cSjmmv# Copyright (c) 2008, 2009, 2010 The NetBSD Foundation, Inc.
4b9866b6cSjmmv# All rights reserved.
5b9866b6cSjmmv#
6b9866b6cSjmmv# Redistribution and use in source and binary forms, with or without
7b9866b6cSjmmv# modification, are permitted provided that the following conditions
8b9866b6cSjmmv# are met:
9b9866b6cSjmmv# 1. Redistributions of source code must retain the above copyright
10b9866b6cSjmmv#    notice, this list of conditions and the following disclaimer.
11b9866b6cSjmmv# 2. Redistributions in binary form must reproduce the above copyright
12b9866b6cSjmmv#    notice, this list of conditions and the following disclaimer in the
13b9866b6cSjmmv#    documentation and/or other materials provided with the distribution.
14b9866b6cSjmmv#
15b9866b6cSjmmv# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16b9866b6cSjmmv# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17b9866b6cSjmmv# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18b9866b6cSjmmv# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19b9866b6cSjmmv# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20b9866b6cSjmmv# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21b9866b6cSjmmv# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22b9866b6cSjmmv# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23b9866b6cSjmmv# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24b9866b6cSjmmv# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25b9866b6cSjmmv# POSSIBILITY OF SUCH DAMAGE.
26b9866b6cSjmmv#
27b9866b6cSjmmv
28b9866b6cSjmmvatf_test_case engine
29b9866b6cSjmmvengine_head()
30b9866b6cSjmmv{
31b9866b6cSjmmv	atf_set "descr" "Checks ENGINE framework"
32b9866b6cSjmmv}
33b9866b6cSjmmvengine_body()
34b9866b6cSjmmv{
3559a49c3aSchristos	atf_check -o ignore -e ignore "$(atf_get_srcdir)/h_enginetest" \
3659a49c3aSchristos	    "$(atf_get_srcdir)/d_server.pem"
37b9866b6cSjmmv}
38b9866b6cSjmmv
39b9866b6cSjmmvatf_test_case bn
40b9866b6cSjmmvbn_head()
41b9866b6cSjmmv{
42b9866b6cSjmmv	atf_set "descr" "Checks BIGNUM library"
43ba6b10c4Smartin	atf_set "timeout" "7200"
44b9866b6cSjmmv}
45b9866b6cSjmmvbn_body()
46b9866b6cSjmmv{
47b9866b6cSjmmv	atf_check -o ignore -e ignore "$(atf_get_srcdir)/h_bntest"
48b9866b6cSjmmv	atf_check -o ignore -e ignore "$(atf_get_srcdir)/h_divtest"
49b9866b6cSjmmv	atf_check -o ignore -e ignore "$(atf_get_srcdir)/h_exptest"
50b9866b6cSjmmv}
51b9866b6cSjmmv
52b9866b6cSjmmvatf_test_case conf
53b9866b6cSjmmvconf_head()
54b9866b6cSjmmv{
55b9866b6cSjmmv	atf_set "descr" "Checks configuration modules"
56b9866b6cSjmmv}
57b9866b6cSjmmvconf_body()
58b9866b6cSjmmv{
59b9866b6cSjmmv	cp $(atf_get_srcdir)/d_conf_ssleay.cnf ssleay.cnf
60b9866b6cSjmmv
61b9866b6cSjmmv	atf_check -o file:$(atf_get_srcdir)/d_conf.out \
62b9866b6cSjmmv		$(atf_get_srcdir)/h_conftest
63b9866b6cSjmmv}
64b9866b6cSjmmv
65b9866b6cSjmmvatf_test_case threads
66b9866b6cSjmmvthreads_head()
67b9866b6cSjmmv{
68b9866b6cSjmmv	atf_set "descr" "Checks threading"
69b9866b6cSjmmv}
70b9866b6cSjmmvthreads_body()
71b9866b6cSjmmv{
7259a49c3aSchristos	local s=$(atf_get_srcdir)
7359a49c3aSchristos	if [ -f "$s/rsakey.pem" ]; then
7459a49c3aSchristos	    atf_check -o ignore -e ignore "$s/h_threadstest" \
7559a49c3aSchristos		-config "$s/default.cnf" "$s"
7659a49c3aSchristos	else
7759a49c3aSchristos		"$s/h_threadstest" \
7859a49c3aSchristos		    -cert "$s/d_server.pem" \
7959a49c3aSchristos		    -ccert "$s/d_client.pem" \
80b9866b6cSjmmv		2>&1 | tee out
81*d8f5b04cSrillig		atf_check -s exit:1 -o empty -e empty grep :error: out
8259a49c3aSchristos	fi
83b9866b6cSjmmv}
84b9866b6cSjmmv
85b9866b6cSjmmvatf_init_test_cases()
86b9866b6cSjmmv{
87b9866b6cSjmmv	atf_add_test_case engine
88b9866b6cSjmmv	atf_add_test_case bn
89b9866b6cSjmmv	atf_add_test_case conf
90b9866b6cSjmmv	atf_add_test_case threads
91b9866b6cSjmmv}
92