summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2025-03-21 21:59:21 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-05-26 16:50:33 +0100
commit08da56701f085db66ba82955c738323cd6384cd7 (patch)
tree6033fe1df930285fffdceb55dce0f36a0666db5b
parent0dff26eac4d25337316dcedc5edf721262337561 (diff)
gnu: packages/golang-*: Skip some tests on ARM.
* gnu/packages/golang-build.scm (go-golang-org-x-sys) [arguments] <test-flags>: Skip 4 failing tests on ARM systems. (go-golang-org-x-net) [arguments] <test-flags>: Skip 2 tests on ARM systems. <phases>: Do not delete 'build, skip it. * gnu/packages/golang-check.scm (go-github-com-smartystreets-goconvey) [arguments] <test-flags>: Skip one failing test on ARM systems. * gnu/packages/golang-maths.scm (go-gonum-org-v1-gonum) [arguments] <test-subdirs>: Skip tests in "spatial" on non x86-64 systems. * gnu/packages/golang-web.scm (go-github-com-safchain-ethtool) [arguments] <test-flags>: Skip one test failing on ARM. (go-github-com-mdlayher-socket) [arguments] <test-flags>: Skip one test on ARM systems. (go-github-com-mdlayher-netlink) [arguments] <test-flags>: Skip some failing tests on ARM systems. (go-github-com-mikioh-tcp) [arguments] <test-flags>: Move logic here, skip one test on ARM system. <phases>: Remove 'disable-failing-tests. (go-github-com-libp2p-go-yamux-v4) [arguments] <test-flags>: Skip one failing test on ARM systems. (go-github-com-libp2p-go-yamux-v5) [arguments]: Inherit from go-github-com-libp2p-go-yamux-v4. (go-github-com-marten-seemann-tcp) [arguments] <test-flags>: Move logic here, and skip one failing test on ARM system. <phases>: Remove 'disable-failing-tests. * gnu/packages/golang-xyz.scm (go-github-com-jbenet-go-temp-err-catcher) [arguments] <test-flags>: Skip one failing test on ARM system. (go-github-com-jbenet-goprocess): [arguments] <test-flags>: Run short tests only skip 7 tests on ARM systems. (go-github-com-cilium-ebpf) [arguments] <test-flags>: Skip 2 failing tests on ARM system. (go-github-com-elastic-gosigar) [arguments] <test-flags>: Utilize it and skip 2 failing tests on ARM systems. <phases>: Remove 'disable-failing-tests. Change-Id: I191cd2a20a16eef0c77b04f0f6fdf72a3bb8d3be
-rw-r--r--gnu/packages/golang-build.scm17
-rw-r--r--gnu/packages/golang-check.scm5
-rw-r--r--gnu/packages/golang-maths.scm7
-rw-r--r--gnu/packages/golang-web.scm111
-rw-r--r--gnu/packages/golang-xyz.scm89
5 files changed, 164 insertions, 65 deletions
diff --git a/gnu/packages/golang-build.scm b/gnu/packages/golang-build.scm
index af10222e07..010946b832 100644
--- a/gnu/packages/golang-build.scm
+++ b/gnu/packages/golang-build.scm
@@ -779,10 +779,12 @@ loading algorithms.")
(build-system go-build-system)
(arguments
(list
+ #:skip-build? #t
#:import-path "golang.org/x/net"
- #:phases
- #~(modify-phases %standard-phases
- (delete 'build)))) ; no go files in project's root
+ #:test-flags
+ ;; Golang does not support "-race" on ARM, one test fails with error:
+ ;; ThreadSanitizer: unsupported VMA range.
+ #~(list #$@(if (target-arm?) '("-skip" "TestRace") '()))))
(propagated-inputs
(list go-golang-org-x-crypto
go-golang-org-x-sys
@@ -866,6 +868,15 @@ cancellation for groups of goroutines working on subtasks of a common task
(arguments
(list
#:skip-build? #t
+ #:test-flags
+ #~(list #$@(if (target-arm?)
+ '("-skip" (string-join
+ (list "TestParseOrigDstAddr/udp4"
+ "TestIoctlGetEthtoolDrvinfo"
+ "TestIoctlGetEthtoolTsInfo"
+ "TestRlimitAs")
+ "|"))
+ '()))
#:import-path "golang.org/x/sys"))
(home-page "https://go.googlesource.com/sys")
(synopsis "Go support for low-level system interaction")
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index 7e21653b69..51af496b64 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -1949,7 +1949,10 @@ execution when a test fails.")
"TestStackModeMultipleInvocationInheritance"
"TestStackModeMultipleInvocationInheritance2"
"TestStackModeMultipleInvocationInheritance3"
- "TestWatcher")
+ "TestWatcher"
+ #$@(if (target-arm?)
+ '("TestInfiniteLoopWithTrailingFail")
+ '()))
"|"))))
(propagated-inputs
(list go-github-com-jtolds-gls
diff --git a/gnu/packages/golang-maths.scm b/gnu/packages/golang-maths.scm
index b14533c169..f8aa245b0b 100644
--- a/gnu/packages/golang-maths.scm
+++ b/gnu/packages/golang-maths.scm
@@ -21,6 +21,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system go)
#:use-module (guix gexp)
+ #:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
@@ -299,7 +300,11 @@ format as binary16.")
"mathext/..."
"num/..."
"optimize/..."
- "spatial/..."
+ ;; Tests failing to compile on ARM systems with errors in
+ ;; goroutines.
+ #$@(if (target-x86-64?)
+ '("spatial/...")
+ '())
"stat/..."
"uniti/...")))
(propagated-inputs
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 2d77cf6bd3..389dfe624a 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -5366,7 +5366,14 @@ daemon as described in
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/libp2p/go-yamux/v4"))
+ #:import-path "github.com/libp2p/go-yamux/v4"
+ #:test-flags
+ ;; Test fails on ARM with error: [ERR] yamux: Failed to read stream data
+ ;; on stream 1: receive window exceeded (remain: 262144, recv:
+ ;; 33554432).
+ #~(list #$@(if (target-arm?)
+ '("-skip" "TestSendData_VeryLarge")
+ '()))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@@ -5396,8 +5403,9 @@ It is inspired by SPDY but is not interoperable with it.")
(base32 "019jj3qwzrbqcgwzri5iwi1vh2cn0ms6k8fx14jlmy856b25yl3y"))))
(build-system go-build-system)
(arguments
- (list
- #:import-path "github.com/libp2p/go-yamux/v5"))))
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-libp2p-go-yamux-v4)
+ ((#:import-path _) "github.com/libp2p/go-yamux/v5")))))
(define-public go-github-com-libp2p-zeroconf-v2
(package
@@ -5561,19 +5569,22 @@ clients that speak the Gemini protocol.")
(arguments
(list
#:import-path "github.com/marten-seemann/tcp"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "_test\\.go$")
- ;; couldn't initialize from a wrapped conn: unknown
- ;; connection type
- (("TestWrappedConn") "OffTestWrappedConn")
- ;; Get "https://golang.org/robots.txt": dial tcp: lookup
- ;; golang.org on [::1]:53: read udp [::1]:56806->[::1]:53:
- ;; read: connection refused
- (("TestInfo") "OffTestInfo"))))))))
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Test fails with error: couldn't initialize from a wrapped
+ ;; conn: unknown connection type.
+ (list "TestWrappedConn"
+ ;; Get "https://golang.org/robots.txt": dial tcp: lookup
+ ;; golang.org on [::1]:53: read udp
+ ;; [::1]:56806->[::1]:53: read: connection refused
+ "TestInfo"
+ ;; Test fails on ARM with error: raw-control tcp
+ ;; 127.0.0.1:49386: getsockopt: protocol not available.
+ #$@(if (target-arm?)
+ '("TestConcurrentReadWriteAndInfo")
+ '()))
+ "|"))))
(native-inputs
(list go-golang-org-x-net))
(propagated-inputs
@@ -5842,9 +5853,29 @@ types.")
(list
#:import-path "github.com/mdlayher/netlink"
#:test-flags
- ;; Test fails to start command "ip": exec: "ip": executable file not
- ;; found in $PATH
- #~(list "-skip" "TestIntegrationConnSetBuffersSyscallConn")))
+ #~(list "-skip"
+ (string-join
+ ;; Test fails to start command "ip": exec: "ip": executable
+ ;; file not found in $PATH
+ (list "TestIntegrationConnSetBuffersSyscallConn"
+ #$@(if (target-arm?)
+ ;; Tests fail on ARM systems with error: failed to
+ ;; dial netlink: socket: protocol not supported.
+ '("TestIntegrationConn"
+ "TestIntegrationConnClosedConn"
+ "TestIntegrationConnConcurrentClosePreventsReceive"
+ "TestIntegrationConnConcurrentCloseUnblocksReceive"
+ "TestIntegrationConnConcurrentOneConn"
+ "TestIntegrationConnConcurrentSerializeExecute"
+ "TestIntegrationConnExecuteTimeout"
+ "TestIntegrationConnExplicitPID"
+ "TestIntegrationConnReceiveTimeout"
+ "TestIntegrationConnSendTimeout"
+ "TestIntegrationConnSetBPF"
+ "TestIntegrationConnSetBPFEmpty"
+ "TestIntegrationConnStrict")
+ '())
+ "|")))))
(propagated-inputs
(list go-github-com-google-go-cmp
go-github-com-josharian-native
@@ -5874,11 +5905,21 @@ sockets (AF_NETLINK).")
(build-system go-build-system)
(arguments
(list
+ #:test-flags
+ #~(list
+ ;; One test fails on ARM with error: conn_linux_test.go:120:
+ ;; skipping, permission denied: failed to unshare network namespace:
+ ;; operation not permitted
+ #$@(if (target-arm?)
+ '("-skip" "TestLinuxBindToDevice")
+ '()))
#:import-path "github.com/mdlayher/socket"))
(native-inputs
(list go-github-com-google-go-cmp))
(propagated-inputs
- (list go-golang-org-x-net go-golang-org-x-sync go-golang-org-x-sys))
+ (list go-golang-org-x-net
+ go-golang-org-x-sync
+ go-golang-org-x-sys))
(home-page "https://github.com/mdlayher/socket")
(synopsis "Low-level network connection type with async I/O and deadline support")
(description
@@ -6092,16 +6133,20 @@ presenting a small interface.")
(arguments
(list
#:import-path "github.com/mikioh/tcp"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "_test\\.go$")
- ;; Get "https://golang.org/robots.txt": dial tcp: lookup
- ;; golang.org on [::1]:53: read udp [::1]:47181->[::1]:53:
- ;; read: connection refused.
- (("TestInfo") "OffTestInfo"))))))))
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Get "https://golang.org/robots.txt": dial tcp: lookup
+ ;; golang.org on [::1]:53: read udp [::1]:47181->[::1]:53:
+ ;; read: connection refused.
+ (list "TestInfo"
+ #$@(if (target-arm?)
+ ;; Test fails on ARM with error: raw-control tcp
+ ;; 127.0.0.1:58464: getsockopt: protocol not
+ ;; available.
+ '("TestConcurrentReadWriteAndInfo")
+ '()))
+ "|"))))
(native-inputs
(list go-golang-org-x-net))
(propagated-inputs
@@ -8160,7 +8205,11 @@ ObjectStorage, PHY, etc.).")
"TestMsglvlGet"
"TestStats"
"TestDriverName"
- "TestBusInfo")
+ "TestBusInfo"
+ #$@(if (target-arm?)
+ ;; Inappropriate ioctl for device.
+ '("TestFeatures")
+ '()))
"|"))))
(propagated-inputs
(list go-golang-org-x-sys))
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 399ead8952..aedbe97864 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -3186,25 +3186,31 @@ levels that works by wrapping the standard @code{log} library.")
(list
#:import-path "github.com/cilium/ebpf"
#:test-flags
- ;; Tests fail with errors:
- ;; - neither debugfs nor tracefs are mounted
- ;; - no such file or directory
- #~(list "-skip" (string-join
- (list
- "TestNewEvent"
- "TestFSType"
- "TestEventID"
- "TestSanitizePath"
- "TestGetTracefsPath"
- ;; Tests failing on i686-linux system.
- #$@(if (target-x86?)
- '("TestAuxvVDSOMemoryAddress/auxv64le.bin"
- "TestUnsafeB.*/.*_with_trailing_padding"
- "TestUnsafeB.*/.*_with_interspersed_padding"
- "TestUnsafeB.*/.*_between_slice_entries"
- "TestUnsafeB.*/.*_between_array_entries")
- '()))
- "|"))
+ #~(list "-skip"
+ (string-join
+ ;; Tests fail with errors:
+ ;; - neither debugfs nor tracefs are mounted
+ ;; - no such file or directory
+ (list "TestNewEvent"
+ "TestFSType"
+ "TestEventID"
+ "TestSanitizePath"
+ "TestGetTracefsPath"
+ ;; Tests failing on i686-linux system.
+ #$@(if (target-x86?)
+ '("TestAuxvVDSOMemoryAddress/auxv64le.bin"
+ "TestUnsafeB.*/.*_with_trailing_padding"
+ "TestUnsafeB.*/.*_with_interspersed_padding"
+ "TestUnsafeB.*/.*_between_slice_entries"
+ "TestUnsafeB.*/.*_between_array_entries")
+ '())
+ ;; Tests failing on ARM systems with error: reading vDSO
+ ;; ELF: read /proc/self/mem: input/output error.
+ #$@(if (target-arm?)
+ '("TestVDSOVersion"
+ "TestCurrentKernelVersion")
+ '()))
+ "|"))
;; XXX: 337 tests failed and 664 passed when "..." is preserved, run
;; some of available tests, figure out how to fix the rests.
#:test-subdirs
@@ -5232,14 +5238,20 @@ program's running, don't expect consistent results between platforms
(arguments
(list
#:import-path "github.com/elastic/gosigar"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (with-directory-excursion (string-append "src/" import-path)
- (substitute* (find-files "." "_test\\.go$")
- ;; error: open /etc/mtab: no such file or directory.
- (("TestFileSystemList") "OffTestFileSystemList"))))))))
+ #:test-flags
+ #~(list "-skip"
+ (string-join
+ ;; Test fails with error: open /etc/mtab: no such file or
+ ;; directory.
+ (list "TestFileSystemList"
+ ;; Test fails on ARM with error: inetdiag_test.go:61:
+ ;; protocol not supported.
+ #$@(if (target-arm?)
+ '("TestNetlinkInetDiag"
+ ;; Expect "qemu-aarch64" to match "go(.exe)?"
+ "TestProcExe")
+ '()))
+ "|"))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@@ -8994,7 +9006,11 @@ wrapper around @code{crypto/rand}.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/jbenet/go-temp-err-catcher"))
+ #:import-path "github.com/jbenet/go-temp-err-catcher"
+ #:test-flags
+ ;; One test fails on ARM with error: tec_test.go:86: time difference is
+ ;; greater than 0s 71.555µs.
+ #~(list #$@(if (target-arm?) '("-skip" "TestDoubles") '()))))
(home-page "https://github.com/jbenet/go-temp-err-catcher")
(synopsis "Error handling helper library")
(description "Package @code{temperrcatcher} provides a @code{TempErrCatcher}
@@ -9017,7 +9033,22 @@ object, which implements simple error-retrying functionality.")
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/jbenet/goprocess"))
+ #:import-path "github.com/jbenet/goprocess"
+ #:test-flags
+ #~(list "-short"
+ ;; Tests fail on ARM with error: periodic_test.go:31: time diff
+ ;; incorrect: 5ms 3.295666ms 15ms.
+ #$@(if (target-arm?)
+ '("-skip" (string-join
+ (list "TestEveryGoSeqParallel"
+ "TestEverySeq"
+ "TestTickSeq"
+ "TestTickSeqNoWait"
+ "TestTickerGoParallel"
+ "TestTickerGoSeq"
+ "TestTickerSeq")
+ "|"))
+ '()))))
(native-inputs
(list go-github-com-jbenet-go-cienv))
(home-page "https://github.com/jbenet/goprocess")