GNU bug report logs -
#69376
[PATCH go-team] build-system/go: Allow providing additional test flags.
Previous Next
Reported by: Troy Figiel <troy <at> troyfigiel.com>
Date: Sun, 25 Feb 2024 09:15:01 UTC
Severity: normal
Tags: patch
Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 69376 in the body.
You can then email your comments to 69376 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#69376
; Package
guix-patches
.
(Sun, 25 Feb 2024 09:15:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Troy Figiel <troy <at> troyfigiel.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sun, 25 Feb 2024 09:15:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
By allowing the use of test flags, we can more precisely skip failing tests
(for go version >=1.20), disable the vetting stage or select a subset of tests
(e.g. if an upstream flag is provided to skip tests which require a network
connection). At the moment, the only way around these test failures is to
remove the test file completely or patch the code ourselves.
* guix/build-system/go.scm (go-build): Add test-flags variable.
(go-cross-build): Add test-flags variable.
* guix/build/go-build-system.scm (check): Pass the additional test flags to the invoke call.
---
guix/build-system/go.scm | 4 ++++
guix/build/go-build-system.scm | 8 +++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm
index 0934fded07..eb78a289f2 100644
--- a/guix/build-system/go.scm
+++ b/guix/build-system/go.scm
@@ -184,6 +184,7 @@ (define* (go-build name inputs
(unpack-path "")
(build-flags ''())
(tests? #t)
+ (test-flags ''())
(allow-go-reference? #f)
(system (%current-system))
(goarch #f)
@@ -214,6 +215,7 @@ (define builder
#:unpack-path #$unpack-path
#:build-flags #$build-flags
#:tests? #$tests?
+ #:test-flags #$test-flags
#:allow-go-reference? #$allow-go-reference?
#:inputs #$(input-tuples->gexp inputs)))))
@@ -236,6 +238,7 @@ (define* (go-cross-build name
(unpack-path "")
(build-flags ''())
(tests? #f) ; nothing can be done
+ (test-flags ''())
(allow-go-reference? #f)
(system (%current-system))
(goarch (first (go-target target)))
@@ -285,6 +288,7 @@ (define %outputs
#:unpack-path #$unpack-path
#:build-flags #$build-flags
#:tests? #$tests?
+ #:test-flags #$test-flags
#:make-dynamic-linker-cache? #f ;cross-compiling
#:allow-go-reference? #$allow-go-reference?
#:inputs %build-inputs))))
diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm
index 7f25e05d0d..24b5ec1f05 100644
--- a/guix/build/go-build-system.scm
+++ b/guix/build/go-build-system.scm
@@ -271,11 +271,13 @@ (define* (build #:key import-path build-flags #:allow-other-keys)
"Here are the results of `go env`:\n"))
(invoke "go" "env"))))
-;; Can this also install commands???
-(define* (check #:key tests? import-path #:allow-other-keys)
+;; go test builds a test binary (or multiple binaries), vets the code and then
+;; runs the test binary. Build, test and test binary flags can be provided as
+;; test-flags. See "go help test" and "go help testflag" for more details.
+(define* (check #:key tests? import-path test-flags #:allow-other-keys)
"Run the tests for the package named by IMPORT-PATH."
(when tests?
- (invoke "go" "test" import-path))
+ (apply invoke "go" "test" `(,import-path ,@test-flags)))
#t)
(define* (install #:key install-source? outputs import-path unpack-path #:allow-other-keys)
base-commit: 1306beaf3f6c8ddded2a956f5863bc65aad78882
--
2.42.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#69376
; Package
guix-patches
.
(Sun, 25 Feb 2024 10:26:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
As usual, I forgot to add my copyright. Could a committer be so kind to
add it or let me know if they prefer it in a patch v2?
[OpenPGP_0xC67C9181B3893FB0.asc (application/pgp-keys, attachment)]
[OpenPGP_signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#69376
; Package
guix-patches
.
(Thu, 07 Mar 2024 23:02:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 69376 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Troy,
Thank you for the work!
The patch looks reasonable. Does it allow us to run all available tests
as we discussed in
<https://lists.gnu.org/archive/html/guix-devel/2024-01/msg00128.html>?
One nitpick about this section:
--8<---------------cut here---------------start------------->8---
+;; go test builds a test binary (or multiple binaries), vets the code and then
+;; runs the test binary. Build, test and test binary flags can be provided as
+;; test-flags. See "go help test" and "go help testflag" for more details.
--8<---------------cut here---------------end--------------->8---
It is a good material for documentation section, how about to move it
from this comment and compile a proper documentation note describing
#:test-flags for go-build-system?
Something like this:
--8<---------------cut here---------------start------------->8---
#:test-flags is added. The default is '(). These flags are passed as
arguments to the test command. Note that flags for verbose output is
always enabled on supported backends.
--8<---------------cut here---------------end--------------->8---
Sourced from <https://guix.gnu.org/manual/en/html_node/Build-Systems.html>
WDYT?
--
Oleg
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#69376
; Package
guix-patches
.
(Fri, 08 Mar 2024 09:08:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 69376 <at> debbugs.gnu.org (full text, mbox):
Hi Oleg,
On 2024-03-07 23:59, Sharlatan Hellseher wrote:
> The patch looks reasonable. Does it allow us to run all available tests
> as we discussed in
> <https://lists.gnu.org/archive/html/guix-devel/2024-01/msg00128.html>?
No, not yet. This only allows providing extra test-flags such as
"-vet=off" or "-skip ..." for Go 1.20+. An example where this is useful,
is go-github-com-wtolson-go-taglib, but I had a couple in my backlog as
well.
> One nitpick about this section:
> --8<---------------cut here---------------start------------->8---
> +;; go test builds a test binary (or multiple binaries), vets the code and then
> +;; runs the test binary. Build, test and test binary flags can be provided as
> +;; test-flags. See "go help test" and "go help testflag" for more details.
> --8<---------------cut here---------------end--------------->8---
> It is a good material for documentation section, how about to move it
> from this comment and compile a proper documentation note describing
> #:test-flags for go-build-system?
>
> Something like this:
> --8<---------------cut here---------------start------------->8---
> #:test-flags is added. The default is '(). These flags are passed as
> arguments to the test command. Note that flags for verbose output is
> always enabled on supported backends.
> --8<---------------cut here---------------end--------------->8---
> Sourced from <https://guix.gnu.org/manual/en/html_node/Build-Systems.html>
>
> WDYT?
I think that's a great idea. Where would that go exactly? I have only
found "guix.texi" and can add a short section there. Is this the correct
location?
Best wishes,
Troy
Information forwarded
to
guix-patches <at> gnu.org
:
bug#69376
; Package
guix-patches
.
(Sun, 10 Mar 2024 19:55:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 69376 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Troy,
It looks like a right place to add
https://git.savannah.gnu.org/cgit/guix.git/tree/doc/guix.texi#n9718
May you send v2 with comments formed as documentation entries please?
Thanks,
Oleg
[Message part 2 (text/html, inline)]
Reply sent
to
Sharlatan Hellseher <sharlatanus <at> gmail.com>
:
You have taken responsibility.
(Thu, 12 Sep 2024 14:32:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Troy Figiel <troy <at> troyfigiel.com>
:
bug acknowledged by developer.
(Thu, 12 Sep 2024 14:32:02 GMT)
Full text and
rfc822 format available.
Message #22 received at 69376-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
Pushed as bac5777791d8d75b878fcf1df9560f8d6613f7f6 to go-team with
moving documentation to doc/guix.
--
Oleg
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 11 Oct 2024 11:24:10 GMT)
Full text and
rfc822 format available.
This bug report was last modified 253 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.