GNU bug report logs - #72244
[PATCH core-updates] gnu: nss: Run tests with datefudge on 32bit systems.

Previous Next

Package: guix-patches;

Reported by: Christopher Baines <mail <at> cbaines.net>

Date: Mon, 22 Jul 2024 12:47:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#72244: closed ([PATCH core-updates] gnu: nss: Run tests with
 datefudge on 32bit systems.)
Date: Fri, 26 Jul 2024 09:16:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 26 Jul 2024 11:14:50 +0200
with message-id <87h6cccy5x.fsf <at> gnu.org>
and subject line Re: bug#72244: [PATCH core-updates] gnu: nss: Run tests with datefudge on 32bit systems.
has caused the debbugs.gnu.org bug report #72244,
regarding [PATCH core-updates] gnu: nss: Run tests with datefudge on 32bit systems.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
72244: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72244
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Christopher Baines <mail <at> cbaines.net>
To: guix-patches <at> gnu.org
Subject: [PATCH core-updates] gnu: nss: Run tests with datefudge on 32bit
 systems.
Date: Mon, 22 Jul 2024 13:46:33 +0100
As libfaketime has issues with 64bit time on 32bit systems.

* gnu/packages/nss.scm (nss)[arguments]: Tweak the gtests.sh script and use
datefudge rather than faketime on 32bit systems.
[native-inputs]: Use datetime rather than libfaketime on 32bit systems.

Change-Id: Ice97b2dc36049d6ad0a7d4154defd40b0ba41c94
---
 gnu/packages/nss.scm | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 49276817ae..93c594d5e7 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -39,6 +39,7 @@ (define-module (gnu packages nss)
   #:use-module (gnu packages check)
   #:use-module (gnu packages crates-io)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages time)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages sqlite))
 
@@ -211,11 +212,21 @@ (define-public nss
                     (substitute* "nss/tests/dbtests/dbtests.sh"
                       ((" -lt 5") " -lt 50"))
 
+                    #$@(if (target-64bit?)
+                           #~()
+                           ;; Not sure why, but this avoids some tests failing
+                           ;; when using datefudge
+                           #~((substitute* "nss/tests/gtests/gtests.sh"
+                                (("cd \"\\$\\(dirname \"\\$1\"\\)\"") ""))))
+
                     ;; The "PayPalEE.cert" certificate expires every six months,
                     ;; leading to test failures:
                     ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>.  To
                     ;; work around that, set the time to roughly the release date.
-                    (invoke "faketime" "2024-01-23" "./nss/tests/all.sh"))
+                    (invoke #$(if (target-64bit?)
+                                  "faketime"
+                                  "datefudge")
+                            "2024-01-23" "./nss/tests/all.sh"))
                   (format #t "test suite not run~%"))))
           (replace 'install
             (lambda* (#:key outputs #:allow-other-keys)
@@ -240,7 +251,11 @@ (define-public nss
                 (copy-recursively (string-append obj "/lib") lib)))))))
     (inputs (list sqlite zlib))
     (propagated-inputs (list nspr))               ;required by nss.pc.
-    (native-inputs (list perl libfaketime which)) ;for tests
+    (native-inputs (list perl
+                         (if (target-64bit?)
+                             libfaketime
+                             datefudge)
+                         which)) ;for tests
 
     ;; The NSS test suite takes around 48 hours on Loongson 3A (MIPS) when
     ;; another build is happening concurrently on the same machine.

base-commit: ffb56a574f03e5fb7d60ea46cc883bee7878f414
-- 
2.45.2



[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 72244-done <at> debbugs.gnu.org
Subject: Re: bug#72244: [PATCH core-updates] gnu: nss: Run tests with
 datefudge on 32bit systems.
Date: Fri, 26 Jul 2024 11:14:50 +0200
Christopher Baines <mail <at> cbaines.net> skribis:

> As libfaketime has issues with 64bit time on 32bit systems.
>
> * gnu/packages/nss.scm (nss)[arguments]: Tweak the gtests.sh script and use
> datefudge rather than faketime on 32bit systems.
> [native-inputs]: Use datetime rather than libfaketime on 32bit systems.
>
> Change-Id: Ice97b2dc36049d6ad0a7d4154defd40b0ba41c94

I pushed a variant as 21fe1e077aa77488bd413ef3255973c60d7468fe, as
discussed in <https://issues.guix.gnu.org/72239>.

Ludo’.


This bug report was last modified 356 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.