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

From: Ludovic Courtès <[email-masked]>
Date: Thu, 01 Oct 2020 23:07:54 +0200

Hi,

"pelzflorian (Florian Pelz)" <[email-masked]> skribis:

> The new package transformation option --without-tests works by setting
> #:tests? #f in the specified packages.  But some packages replace
> their 'check phase and no longer honor #tests?.  glib for example.

Oh, we should fix ‘glib’ in ‘core-updates’.

> Attached is an attempt to document this current behavior.  Shall I
> push it?  Alternatively, it should be documented to write a check
> phase that honors #:tests?.  Or the package transformation should be
> changed to remove any check phase it finds.

Hmm not sure, I think fiddling with phases is more risky or at least
could lead to more obscure errors for example with build systems that
don’t support phases, like ‘trivial-build-system’.

I’m inclined to apply the patch you propose and leaving phases
unchanged.

>>>From b55e6ee01fe674b282e7ec75d0e4c8a839262261 Mon Sep 17 00:00:00 2001
> From: Florian Pelz <[email-masked]>
> Date: Thu, 1 Oct 2020 15:35:52 +0200
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> Subject: [PATCH] doc: Explain why '--without-tests' may fail with modified
>  'check' phase.
>
> * doc/guix.texi (Package Transformation Options): Explain.

[...]

> +Internally, @code{--without-tests} relies on changing the
> +@code{#:tests?} option of a package's @code{check} phase (@pxref{Build
> +Systems}).  Note that some packages use a customized @code{check} phase
> +that does not respect a @code{#:tests? #f} setting.  Therefore there are
> +some packages for which @code{--without-tests} cannot disable tests.

I’d change the last sentence to:

  Therefore, @option{--without-tests} has no effect on these packages.

Thanks,
Ludo’.