diff options
| author | Mostyn Bramley-Moore <mostyn@antipode.se> | 2017-04-21 02:21:41 +0200 |
|---|---|---|
| committer | Ian Lance Taylor <iant@golang.org> | 2017-04-21 01:23:58 +0000 |
| commit | e4852aaa7e95e49d8a54584370644714fbcf2c8c (patch) | |
| tree | 3029a3919c68bfca39e779846ea24fbee751785a /src | |
| parent | be66d174523809e00d3fba3cd3c52d6b74bc7e73 (diff) | |
| download | go-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.go | 11 |
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) } |
