1
0
mirror of https://github.com/golang/go synced 2024-11-17 02:14:42 -07:00

path/filepath: use a temp dir in path_test.go

We should avoid writing temp files to GOROOT, since it might be readonly.

Fixes #23881

Change-Id: Iaa38ec404b303f0cf27fdfb7daf1ddd60fd5d1c9
GitHub-Last-Rev: de0211df84
GitHub-Pull-Request: golang/go#24238
Reviewed-on: https://go-review.googlesource.com/98517
Run-TryBot: Giovanni Bajo <rasky@develer.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Mostyn Bramley-Moore 2018-03-05 22:04:47 +00:00 committed by Brad Fitzpatrick
parent 26708439ec
commit 32e459a09c

View File

@ -433,6 +433,22 @@ func TestWalk(t *testing.T) {
defer restore()
}
}
tmpDir, err := ioutil.TempDir("", "TestWalk")
if err != nil {
t.Fatal("creating temp dir:", err)
}
defer os.RemoveAll(tmpDir)
origDir, err := os.Getwd()
if err != nil {
t.Fatal("finding working dir:", err)
}
if err = os.Chdir(tmpDir); err != nil {
t.Fatal("entering temp dir:", err)
}
defer os.Chdir(origDir)
makeTree(t)
errors := make([]error, 0, 10)
clear := true
@ -440,7 +456,7 @@ func TestWalk(t *testing.T) {
return mark(info, err, &errors, clear)
}
// Expect no errors.
err := filepath.Walk(tree.name, markFn)
err = filepath.Walk(tree.name, markFn)
if err != nil {
t.Fatalf("no error expected, found: %s", err)
}
@ -499,11 +515,6 @@ func TestWalk(t *testing.T) {
os.Chmod(filepath.Join(tree.name, tree.entries[1].name), 0770)
os.Chmod(filepath.Join(tree.name, tree.entries[3].name), 0770)
}
// cleanup
if err := os.RemoveAll(tree.name); err != nil {
t.Errorf("removeTree: %v", err)
}
}
func touch(t *testing.T, name string) {