unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Separating test inputs?
@ 2024-01-02  5:31 Felix Lechner via Development of GNU Guix and the GNU System distribution.
  2024-01-02  7:40 ` Ricardo Wurmus
  2024-01-02  8:14 ` Saku Laesvuori
  0 siblings, 2 replies; 4+ messages in thread
From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2024-01-02  5:31 UTC (permalink / raw)
  To: guix-devel

Hi,

A better test infrastructure in Guix would probably be good, but is not
ready yet. Would it make sense, however, to split out those inputs only
needed for testing?

Such a step would probably make bootstrapping new architectures a lot
easier. It would also reduce the dependency graph in Guix, since tests
are not needed to either build or use a package.

In Debian, test prerequisites are annotated awkwardly with <!nocheck> in
the build prerequisites. (I think Guix calls them native-inputs.) You
can see some of Debian's funny notations here [1] and here. [2]

This is a proposal for 'test-inputs'. Any thoughts?

Kind regards
Felix

[1] https://tracker.debian.org/media/packages/libm/libmouse-perl/control-2.5.10-1
[2] https://tracker.debian.org/media/packages/l/lintian/control-2.116.3


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Separating test inputs?
  2024-01-02  5:31 Separating test inputs? Felix Lechner via Development of GNU Guix and the GNU System distribution.
@ 2024-01-02  7:40 ` Ricardo Wurmus
  2024-01-02  8:14 ` Saku Laesvuori
  1 sibling, 0 replies; 4+ messages in thread
From: Ricardo Wurmus @ 2024-01-02  7:40 UTC (permalink / raw)
  To: Felix Lechner; +Cc: guix-devel


Felix Lechner via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org> writes:

> In Debian, test prerequisites are annotated awkwardly with <!nocheck> in
> the build prerequisites. (I think Guix calls them native-inputs.) You
> can see some of Debian's funny notations here [1] and here. [2]

Native inputs are those that in the context of cross-building need to
run on the host, not the target.  This is not just for test inputs.

Note also that the presence of test inputs has an impact on the build
itself, such as the configure step, the number of build phases, and even
the output.  In short: without tests this would be a different
derivation.  That’s what we do with the “--without-tests”
transformation: we generate new derivations where tests are not run.

We probably could enhance “--without-tests” to also remove some inputs.

-- 
Ricardo


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Separating test inputs?
  2024-01-02  5:31 Separating test inputs? Felix Lechner via Development of GNU Guix and the GNU System distribution.
  2024-01-02  7:40 ` Ricardo Wurmus
@ 2024-01-02  8:14 ` Saku Laesvuori
  2024-01-02 21:13   ` Liliana Marie Prikler
  1 sibling, 1 reply; 4+ messages in thread
From: Saku Laesvuori @ 2024-01-02  8:14 UTC (permalink / raw)
  To: Felix Lechner; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 949 bytes --]

> A better test infrastructure in Guix would probably be good, but is not
> ready yet. Would it make sense, however, to split out those inputs only
> needed for testing?
> 
> Such a step would probably make bootstrapping new architectures a lot
> easier. It would also reduce the dependency graph in Guix, since tests
> are not needed to either build or use a package.
> 
> In Debian, test prerequisites are annotated awkwardly with <!nocheck> in
> the build prerequisites. (I think Guix calls them native-inputs.) You
> can see some of Debian's funny notations here [1] and here. [2]
> 
> This is a proposal for 'test-inputs'. Any thoughts?

An additional test-inputs field sounds like a good idea. Maybe the
test-inputs could be made available just for the test phase (I'd assume
this could be implemented with add-test-inputs and remove-test-inputs
phases) so that they would be isolated from other parts of the build
process.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Separating test inputs?
  2024-01-02  8:14 ` Saku Laesvuori
@ 2024-01-02 21:13   ` Liliana Marie Prikler
  0 siblings, 0 replies; 4+ messages in thread
From: Liliana Marie Prikler @ 2024-01-02 21:13 UTC (permalink / raw)
  To: Saku Laesvuori, Felix Lechner; +Cc: guix-devel

Am Dienstag, dem 02.01.2024 um 10:14 +0200 schrieb Saku Laesvuori:
> > A better test infrastructure in Guix would probably be good, but is
> > not ready yet. Would it make sense, however, to split out those
> > inputs only needed for testing?
> > 
> > Such a step would probably make bootstrapping new architectures a
> > lot easier. It would also reduce the dependency graph in Guix,
> > since tests are not needed to either build or use a package.
> > 
> > In Debian, test prerequisites are annotated awkwardly with
> > <!nocheck> in the build prerequisites. (I think Guix calls them
> > native-inputs.)
> > You can see some of Debian's funny notations here [1] and here. [2]
> > 
> > This is a proposal for 'test-inputs'. Any thoughts?
> 
> An additional test-inputs field sounds like a good idea. Maybe the
> test-inputs could be made available just for the test phase (I'd
> assume this could be implemented with add-test-inputs and remove-
> test-inputs phases) so that they would be isolated from other parts
> of the build process.
Adding inputs only during check will not work for build systems that
actually need a configure phase, such as gnu, cmake, or meson.  Python
might be a weird outlier where testing is more loosely coupled from the
build.

I think rather than have a specific category of test inputs, we might
want to have a without-input transformer to remove unwanted inputs from
a package.  Since we have with-input already, it's the obvious thing to
do :)

Cheers


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-01-02 21:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-02  5:31 Separating test inputs? Felix Lechner via Development of GNU Guix and the GNU System distribution.
2024-01-02  7:40 ` Ricardo Wurmus
2024-01-02  8:14 ` Saku Laesvuori
2024-01-02 21:13   ` Liliana Marie Prikler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).