]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
tests: enable KTLS config while running gnutls_ktls test
authorDaiki Ueno <ueno@gnu.org>
Tue, 28 Jun 2022 00:37:22 +0000 (09:37 +0900)
committerDaiki Ueno <ueno@gnu.org>
Tue, 28 Jun 2022 02:51:09 +0000 (11:51 +0900)
Signed-off-by: Daiki Ueno <ueno@gnu.org>
tests/Makefile.am
tests/gnutls_ktls.c
tests/ktls.sh [new file with mode: 0755]

index 4deeb6462b647b8f0b4e0653513eb341cc2ce01b..cba67e8db8c1717ad20ecacc086ef8ca476f048c 100644 (file)
@@ -441,10 +441,6 @@ ctests += x509self x509dn anonself pskself pskself2 dhepskself     \
        resume-with-record-size-limit
 endif
 
-if ENABLE_KTLS
-ctests += gnutls_ktls
-endif
-
 ctests += record-sendfile
 
 gc_CPPFLAGS = $(AM_CPPFLAGS) \
@@ -500,6 +496,11 @@ if ENABLE_TPM2
 dist_check_SCRIPTS += tpm2.sh
 endif
 
+if ENABLE_KTLS
+indirect_tests += gnutls_ktls
+dist_check_SCRIPTS += ktls.sh
+endif
+
 if !WINDOWS
 
 #
index 3966e2b10ae9c78e3c9d7c1d14024f849277dc96..8f9c5fa36efd1126594d10e588b246e6c50b0e4d 100644 (file)
@@ -84,7 +84,7 @@ static void client(int fd, const char *prio)
 
        ret = gnutls_transport_is_ktls_enabled(session);
        if (!(ret & GNUTLS_KTLS_RECV)){
-               fail("client: KTLS was not properly inicialized\n");
+               fail("client: KTLS was not properly initialized\n");
                goto end;
        }
 
@@ -208,7 +208,7 @@ static void server(int fd, const char *prio)
 
        ret = gnutls_transport_is_ktls_enabled(session);
        if (!(ret & GNUTLS_KTLS_SEND)){
-               fail("server: KTLS was not properly inicialized\n");
+               fail("server: KTLS was not properly initialized\n");
                goto end;
        }
        do {
diff --git a/tests/ktls.sh b/tests/ktls.sh
new file mode 100755 (executable)
index 0000000..ba52bd5
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# Copyright (C) 2022 Red Hat, Inc.
+#
+# Author: Daiki Ueno
+#
+# This file is part of GnuTLS.
+#
+# GnuTLS is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GnuTLS is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GnuTLS; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+: ${builddir=.}
+
+. "$srcdir/scripts/common.sh"
+
+if ! grep '^tls ' /proc/modules 2>1 >& /dev/null; then
+    exit 77
+fi
+
+testdir=`create_testdir ktls`
+
+cfg="$testdir/config"
+
+cat <<EOF > "$cfg"
+[global]
+ktls = true
+EOF
+
+GNUTLS_SYSTEM_PRIORITY_FAIL_ON_INVALID=1 \
+GNUTLS_SYSTEM_PRIORITY_FILE="$cfg" \
+"$builddir/gnutls_ktls" "$@"
+rc=$?
+
+rm -rf "$testdir"
+exit $rc