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
This commit is contained in:
Eelco Dolstra 2016-12-21 14:09:55 +01:00
parent 1138b9a4c4
commit 1dd0fb6b5a
No known key found for this signature in database
GPG Key ID: 8170B4726D7198DE
2 changed files with 19 additions and 1 deletions

View File

@ -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";

View File

@ -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)
}
}