From 5432b4d34616585ce5a1884aeecd0e902e1c2bff Mon Sep 17 00:00:00 2001 From: David Crawshaw Date: Sat, 28 Feb 2015 22:55:29 -0500 Subject: [PATCH] path/filepath: get tests working on darwin/arm Change-Id: Ic44d7837aaec58601e5d9cad8da5b958a809f4a0 Reviewed-on: https://go-review.googlesource.com/6400 Reviewed-by: Brad Fitzpatrick --- src/path/filepath/path_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/path/filepath/path_test.go b/src/path/filepath/path_test.go index 293d3161245..aac7911d432 100644 --- a/src/path/filepath/path_test.go +++ b/src/path/filepath/path_test.go @@ -399,7 +399,31 @@ func mark(path string, info os.FileInfo, err error, errors *[]error, clear bool) return nil } +func chtmpdir(t *testing.T) (restore func()) { + oldwd, err := os.Getwd() + if err != nil { + t.Fatal("chtmpdir: %v", err) + } + d, err := ioutil.TempDir("", "test") + if err != nil { + t.Fatal("chtmpdir: %v", err) + } + if err := os.Chdir(d); err != nil { + t.Fatal("chtmpdir: %v", err) + } + return func() { + if err := os.Chdir(oldwd); err != nil { + t.Fatal("chtmpdir: %v", err) + } + os.RemoveAll(d) + } +} + func TestWalk(t *testing.T) { + if runtime.GOOS == "darwin" && runtime.GOARCH == "arm" { + restore := chtmpdir(t) + defer restore() + } makeTree(t) errors := make([]error, 0, 10) clear := true @@ -1009,6 +1033,9 @@ func TestDriveLetterInEvalSymlinks(t *testing.T) { } func TestBug3486(t *testing.T) { // http://golang.org/issue/3486 + if runtime.GOOS == "darwin" && runtime.GOARCH == "arm" { + t.Skipf("skipping on %s/%s", runtime.GOOS, runtime.GOARCH) + } root, err := filepath.EvalSymlinks(runtime.GOROOT() + "/test") if err != nil { t.Fatal(err)