summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-09-16 23:45:36 +0200
committerLudovic Courtès <ludo@gnu.org>2019-09-16 23:45:36 +0200
commitb938892551816aedd01fd32b7eb1d5e061afce32 (patch)
treeee8c07645ff159ffe7620207ed0ac54831869939
parent0b2ea78173f05c417a9002e52e2b36b139074124 (diff)
downloadguix-b938892551816aedd01fd32b7eb1d5e061afce32.tar.gz
gnu: go@1.12: Skip flaky GC test.
Fixes <https://bugs.gnu.org/37425>.

* gnu/packages/patches/go-skip-gc-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/golang.scm (go-1.12)[source]: Use it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/golang.scm6
-rw-r--r--gnu/packages/patches/go-skip-gc-test.patch17
3 files changed, 22 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7f288b3e7c..ce4510ae4a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -911,6 +911,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
   %D%/packages/patches/gobject-introspection-cc.patch		\
   %D%/packages/patches/gobject-introspection-girepository.patch	\
+  %D%/packages/patches/go-skip-gc-test.patch			\
   %D%/packages/patches/gpm-glibc-2.26.patch			\
   %D%/packages/patches/gpsbabel-minizip.patch     		\
   %D%/packages/patches/gpsbabel-qstring.patch     		\
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b12fc4b4bd..128e62beef 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
 ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
-;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
 ;;; Copyright © 2016, 2017, 2019 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
@@ -41,6 +41,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system go)
+  #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages base)
@@ -408,7 +409,8 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                            name version ".src.tar.gz"))
        (sha256
         (base32
-         "04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m"))))
+         "04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m"))
+       (patches (search-patches "go-skip-gc-test.patch"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.4)
        ((#:phases phases)
diff --git a/gnu/packages/patches/go-skip-gc-test.patch b/gnu/packages/patches/go-skip-gc-test.patch
new file mode 100644
index 0000000000..2baab97580
--- /dev/null
+++ b/gnu/packages/patches/go-skip-gc-test.patch
@@ -0,0 +1,17 @@
+Skip a GC test known to be flaky:
+
+  https://issues.guix.gnu.org/issue/37425
+  https://github.com/golang/go/issues/27636
+
+--- go/src/runtime/gc_test.go	2019-09-16 23:10:18.200680387 +0200
++++ go/src/runtime/gc_test.go	2019-09-16 23:11:50.324360646 +0200
+@@ -27,6 +27,9 @@ func TestGcSys(t *testing.T) {
+ 	if runtime.GOOS == "linux" && runtime.GOARCH == "arm64" {
+ 		t.Skip("skipping test; GOOS=linux GOARCH=arm64 https://github.com/golang/go/issues/27636")
+ 	}
++	if runtime.GOOS == "linux" {
++		t.Skip("skipping test; GOOS=linux https://issues.guix.gnu.org/issue/37425")
++	}
+ 	got := runTestProg(t, "testprog", "GCSys")
+ 	want := "OK\n"
+ 	if got != want {