Subject: bug#43746: What to do about packages that don't support --without-tests / #:tests? #f setting

From: "pelzflorian (Florian Pelz)" <[email-masked]>
Date: Sat, 3 Oct 2020 00:48:21 +0200

On Thu, Oct 01, 2020 at 11:07:54PM +0200, Ludovic Courtès wrote:
> Oh, we should fix ‘glib’ in ‘core-updates’.

I verified the attached patch fixes glib on the ‘master’ branch.  I’m
not sure about adding a copyright.  Anyway.  Shall I push it to
‘core-updates’ or wait until I can test it on ‘core-updates’ without
rebuilding the world?

> I’m inclined to apply the patch you propose and leaving phases
> unchanged.
> […]
> I’d change the last sentence to:
> 
>   Therefore, @option{--without-tests} has no effect on these packages.

I changed it and pushed the patch to the documentation as
3c01fcc1bb9c086f487d9694cb91a57d7abd0880.  Thank you!

(I maybe should have written in the commit message “Fixes
<https://bugs.gnu.org/43746>.”  Oh well.  I will leave the bug open
though because glib is not fixed yet.)

Regards,
Florian

>From 505cfd0fa3411a21c8794ab84473dc1dd2b8754c Mon Sep 17 00:00:00 2001
From: Florian Pelz <[email-masked]>
Date: Sat, 3 Oct 2020 00:29:56 +0200
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: [PATCH] gnu: glib: Adhere to '--without-tests' option.

* gnu/packages/glib.scm (glib)[arguments]<#:phases>[configure]:
Only run tests if 'tests?' is true.
---
 gnu/packages/glib.scm | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index ca037d3b24..c703894155 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2019 Giacomo Leidi <[email-masked]>
 ;;; Copyright © 2019, 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2020 Nicolò Balzarotti <[email-masked]>
+;;; Copyright © 2020 Florian Pelz <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -325,11 +326,14 @@ shared NFS home directories.")
               (for-each (lambda (x) (apply disable x)) failing-tests)
               #t)))
         (replace 'check
-          (lambda _
-            (setenv "MESON_TESTTHREADS"
-                    (number->string (parallel-job-count)))
-            ;; Do not run tests marked as "flaky".
-            (invoke "meson" "test" "--no-suite" "flaky")))
+          (lambda* (#:key tests? #:allow-other-keys)
+            (if tests?
+                (begin
+                  (setenv "MESON_TESTTHREADS"
+                          (number->string (parallel-job-count)))
+                  ;; Do not run tests marked as "flaky".
+                  (invoke "meson" "test" "--no-suite" "flaky"))
+                #t)))
         ;; TODO: meson does not permit the bindir to be outside of prefix.
         ;; See https://github.com/mesonbuild/meson/issues/2561
         ;; We can remove this once meson is patched.
-- 
2.28.0