Browse Source

gnu: gnutls: Fix test failure.

* gnu/packages/patches/gnutls-fix-stale-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/tls.scm (gnutls)[replacement]: New field.
(gnutls/fixed): New variable.
gn-latest-20200428
Leo Famulari 5 years ago
parent
commit
1d14bf9f5f
No known key found for this signature in database GPG Key ID: 2646FA30BACA7F08
  1. 1
      gnu/local.mk
  2. 50
      gnu/packages/patches/gnutls-fix-stale-test.patch
  3. 8
      gnu/packages/tls.scm

1
gnu/local.mk

@ -533,6 +533,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-price-quotes-perl.patch \
%D%/packages/patches/gnutls-fix-stale-test.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \

50
gnu/packages/patches/gnutls-fix-stale-test.patch

@ -0,0 +1,50 @@
A certificate used in the GnuTLS test suite has expired, causing the
test suite to fail.
The effect of this patch depends on whether or not the datefudge program
is available. If it is, then it is used to change the date in the test
environment. If it is not, then the test is skipped.
At the time this patch was added to Guix, datefudge was not available,
so the test is skipped.
Taken from upstream commit:
https://gitlab.com/gnutls/gnutls/commit/47f25d9e08d4e102572804a2aed186b01db23c65
From 47f25d9e08d4e102572804a2aed186b01db23c65 Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <nmav@redhat.com>
Date: Wed, 29 Jun 2016 17:31:13 +0200
Subject: [PATCH] tests: use datefudge in name-constraints test
This avoids the expiration of the used certificate to affect the test.
---
tests/cert-tests/name-constraints | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/tests/cert-tests/name-constraints b/tests/cert-tests/name-constraints
index 05d6e9b..59af00f 100755
--- a/tests/cert-tests/name-constraints
+++ b/tests/cert-tests/name-constraints
@@ -28,7 +28,18 @@ if ! test -z "${VALGRIND}"; then
fi
TMPFILE=tmp.$$.pem
-${VALGRIND} "${CERTTOOL}" -e --infile "${srcdir}/name-constraints-ip.pem"
+export TZ="UTC"
+
+# Check for datefudge
+TSTAMP=`datefudge -s "2006-09-23" date -u +%s || true`
+if test "$TSTAMP" != "1158969600"; then
+ echo $TSTAMP
+ echo "You need datefudge to run this test"
+ exit 77
+fi
+
+datefudge -s "2016-04-22" \
+ ${VALGRIND} "${CERTTOOL}" -e --infile "${srcdir}/name-constraints-ip.pem"
rc=$?
if test "${rc}" != "0"; then
--
2.9.1

8
gnu/packages/tls.scm

@ -122,6 +122,7 @@ living in the same process.")
(define-public gnutls
(package
(name "gnutls")
(replacement gnutls/fixed)
(version "3.4.7")
(source (origin
(method url-fetch)
@ -194,6 +195,13 @@ required structures.")
(properties '((ftp-server . "ftp.gnutls.org")
(ftp-directory . "/gcrypt/gnutls")))))
(define-public gnutls/fixed
(package
(inherit gnutls)
(source (origin
(inherit (package-source gnutls))
(patches (search-patches "gnutls-fix-stale-test.patch"))))))
(define-public openssl
(package
(name "openssl")

Loading…
Cancel
Save