[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#59487] [PATCH 1/2] build-system/dune: Automatically deduce test-tar
From: |
Julien Lepiller |
Subject: |
[bug#59487] [PATCH 1/2] build-system/dune: Automatically deduce test-target in most cases. |
Date: |
Tue, 22 Nov 2022 21:26:13 +0100 |
Hi!
This LGTM, but maybe put test-target inside the cond too, so we can
remove the or?
I've looked at how opam does things, and this seems to be the norm:
["dune" "runtest" "-p" name "-j" jobs]
Maybe this would work better:
(apply invoke program "runtest"
(append (if test-target (list test-target) '())
...))
WDYT?
Le Tue, 22 Nov 2022 20:47:11 +0100,
raingloom <raingloom@riseup.net> a écrit :
> guix/build-system/dune.scm (dune-build): tests? defaults to #f.
> guix/build/dune-build-system.scm (check): Missing test-target is
> auto-detected. ---
> guix/build-system/dune.scm | 2 +-
> guix/build/dune-build-system.scm | 9 +++++++--
> 2 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/guix/build-system/dune.scm b/guix/build-system/dune.scm
> index 12100fd8e8..b531d3c337 100644
> --- a/guix/build-system/dune.scm
> +++ b/guix/build-system/dune.scm
> @@ -107,7 +107,7 @@ (define* (dune-build name inputs
> (dune-release-flags ''())
> (tests? #t)
> (test-flags ''())
> - (test-target "test")
> + (test-target #f)
> (install-target "install")
> (validate-runpath? #t)
> (patch-shebangs? #t)
> diff --git a/guix/build/dune-build-system.scm
> b/guix/build/dune-build-system.scm index e9ccc71057..8a3725a4e9 100644
> --- a/guix/build/dune-build-system.scm
> +++ b/guix/build/dune-build-system.scm
> @@ -42,12 +42,17 @@ (define* (build #:key (build-flags '()) (jbuild?
> #f) build-flags)))
> #t)
>
> -(define* (check #:key (test-flags '()) (test-target "test") tests?
> +(define* (check #:key (test-flags '()) (test-target #f) tests?
> (jbuild? #f) (package #f) (dune-release-flags '())
> #:allow-other-keys)
> "Test the given package."
> (when tests?
> - (let ((program (if jbuild? "jbuilder" "dune")))
> + (let ((program (if jbuild? "jbuilder" "dune"))
> + (test-target (or test-target
> + (cond
> + ((file-exists? "tests") "tests")
> + ((file-exists? "test") "test")
> + (else ".")))))
> (apply invoke program "runtest" test-target
> (append (if package (list "-p" package)
> dune-release-flags)