aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMostyn Bramley-Moore <mostyn@antipode.se>2017-04-21 02:21:41 +0200
committerIan Lance Taylor <iant@golang.org>2017-04-21 01:23:58 +0000
commite4852aaa7e95e49d8a54584370644714fbcf2c8c (patch)
tree3029a3919c68bfca39e779846ea24fbee751785a /src
parentbe66d174523809e00d3fba3cd3c52d6b74bc7e73 (diff)
downloadgo-e4852aaa7e95e49d8a54584370644714fbcf2c8c.tar.xz
cmd/go/internal/work: fix TestRespectGroupSticky on FreeBSD
FreeBSD doesn't allow non-root users to enable the SetGID bit on files or directories in /tmp, however it does allow this in subdirectories, so create the test directory one level deeper. Followup to golang/go#19596. Change-Id: I30e71c6d6a156badc863e8068df10ef6ed817e26 Reviewed-on: https://go-review.googlesource.com/41216 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/go/internal/work/build_test.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cmd/go/internal/work/build_test.go b/src/cmd/go/internal/work/build_test.go
index 3f811ddc82..d68711432b 100644
--- a/src/cmd/go/internal/work/build_test.go
+++ b/src/cmd/go/internal/work/build_test.go
@@ -195,8 +195,13 @@ func TestRespectGroupSticky(t *testing.T) {
}
defer os.RemoveAll(stickydir)
- // Change stickydir's permissions to include group sticky bit.
- if err := os.Chmod(stickydir, 0755|os.ModeSetgid); err != nil {
+ testdir, err := ioutil.TempDir(stickydir, "testdir")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // Change testdir's permissions to include group sticky bit.
+ if err := os.Chmod(testdir, 0755|os.ModeSetgid); err != nil {
t.Fatal(err)
}
@@ -207,7 +212,7 @@ func TestRespectGroupSticky(t *testing.T) {
defer os.Remove(pkgfile.Name())
defer pkgfile.Close()
- stickyFile := filepath.Join(stickydir, "sticky")
+ stickyFile := filepath.Join(testdir, "sticky")
if err := b.moveOrCopyFile(nil, stickyFile, pkgfile.Name(), 0666, true); err != nil {
t.Fatalf("moveOrCopyFile: %v", err)
}