summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2016-12-21 14:09:55 +0100
committerGraham Christensen <graham@grahamc.com>2016-12-21 19:30:34 -0500
commit45043abd2da0b6fc13b7c616c2af5e9b91aab8ac (patch)
tree9326bd71f3f3ddebeeab95836159d7750d0a717b /pkgs/development/compilers
parent9251f57133ceaf334257e8eec67ad993dfae34b7 (diff)
downloadnixlib-45043abd2da0b6fc13b7c616c2af5e9b91aab8ac.tar
nixlib-45043abd2da0b6fc13b7c616c2af5e9b91aab8ac.tar.gz
nixlib-45043abd2da0b6fc13b7c616c2af5e9b91aab8ac.tar.bz2
nixlib-45043abd2da0b6fc13b7c616c2af5e9b91aab8ac.tar.lz
nixlib-45043abd2da0b6fc13b7c616c2af5e9b91aab8ac.tar.xz
nixlib-45043abd2da0b6fc13b7c616c2af5e9b91aab8ac.tar.zst
nixlib-45043abd2da0b6fc13b7c616c2af5e9b91aab8ac.zip
Fix go test
In a user namespace, sending credentials for an unmapped user return
EINVAL instead of EPERM. So handle that case.

http://hydra.nixos.org/build/44839000
(cherry picked from commit 1dd0fb6b5a7c44d1b632466f936ca74268d13298)
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/go/1.7.nix6
-rw-r--r--pkgs/development/compilers/go/creds-test.patch14
2 files changed, 19 insertions, 1 deletions
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index 16de9b0edbf5..c33e45c2983e 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -101,7 +101,11 @@ stdenv.mkDerivation rec {
     sed -i '1 a\exit 0' misc/cgo/errors/test.bash
   '';
 
-  patches = [ ./remove-tools-1.7.patch ./cacert-1.7.patch ];
+  patches =
+    [ ./remove-tools-1.7.patch
+      ./cacert-1.7.patch
+      ./creds-test.patch
+    ];
 
   SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
diff --git a/pkgs/development/compilers/go/creds-test.patch b/pkgs/development/compilers/go/creds-test.patch
new file mode 100644
index 000000000000..09f78959ff9c
--- /dev/null
+++ b/pkgs/development/compilers/go/creds-test.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' ./result/src/syscall/creds_test.go go-go1.7.4-src/src/syscall/creds_test.go
+--- ./result/src/syscall/creds_test.go	1970-01-01 01:00:01.000000000 +0100
++++ go-go1.7.4-src/src/syscall/creds_test.go	2016-12-21 14:06:39.559932164 +0100
+@@ -62,8 +62,8 @@
+ 		if sys, ok := err.(*os.SyscallError); ok {
+ 			err = sys.Err
+ 		}
+-		if err != syscall.EPERM {
+-			t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err)
++		if err != syscall.EPERM && err != syscall.EINVAL {
++			t.Fatalf("WriteMsgUnix failed with %v, want EPERM or EINVAL", err)
+ 		}
+ 	}
+