From: Hiroshi Ioka Date: Tue, 23 Aug 2016 13:59:27 +0000 (+0900) Subject: path/filepath: use testenv.MustHaveSymlink to simplify symlink tests X-Git-Tag: go1.8beta1~1685 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=03723c909ee7b75c0c88ddb3f547642b9f48b009;p=gostls13.git path/filepath: use testenv.MustHaveSymlink to simplify symlink tests Cleanup test code for symbolic links. Change-Id: I25f561cd34dc4d120a4143f933619d233a6cffc5 Reviewed-on: https://go-review.googlesource.com/27573 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/path/filepath/match_test.go b/src/path/filepath/match_test.go index 6b068c778e..3bd5598ed9 100644 --- a/src/path/filepath/match_test.go +++ b/src/path/filepath/match_test.go @@ -6,6 +6,7 @@ package filepath_test import ( "fmt" + "internal/testenv" "io/ioutil" "os" . "path/filepath" @@ -174,15 +175,7 @@ var globSymlinkTests = []struct { } func TestGlobSymlink(t *testing.T) { - switch runtime.GOOS { - case "android", "nacl", "plan9": - t.Skipf("skipping on %s", runtime.GOOS) - case "windows": - if !supportsSymlinks { - t.Skipf("skipping on %s", runtime.GOOS) - } - - } + testenv.MustHaveSymlink(t) tmpDir, err := ioutil.TempDir("", "globsymlink") if err != nil { diff --git a/src/path/filepath/path_test.go b/src/path/filepath/path_test.go index 1a4a9d2a1a..1be5b469f2 100644 --- a/src/path/filepath/path_test.go +++ b/src/path/filepath/path_test.go @@ -6,6 +6,7 @@ package filepath_test import ( "errors" + "internal/testenv" "io/ioutil" "os" "path/filepath" @@ -15,8 +16,6 @@ import ( "testing" ) -var supportsSymlinks = true - type PathTest struct { path, result string } @@ -776,13 +775,7 @@ func simpleJoin(dir, path string) string { } func TestEvalSymlinks(t *testing.T) { - switch runtime.GOOS { - case "android", "nacl", "plan9": - t.Skipf("skipping on %s", runtime.GOOS) - } - if !supportsSymlinks { - t.Skip("skipping because symlinks are not supported") - } + testenv.MustHaveSymlink(t) tmpDir, err := ioutil.TempDir("", "evalsymlink") if err != nil { @@ -896,13 +889,7 @@ func TestEvalSymlinks(t *testing.T) { } func TestIssue13582(t *testing.T) { - switch runtime.GOOS { - case "android", "nacl", "plan9": - t.Skipf("skipping on %s", runtime.GOOS) - } - if !supportsSymlinks { - t.Skip("skipping because symlinks are not supported") - } + testenv.MustHaveSymlink(t) tmpDir, err := ioutil.TempDir("", "issue13582") if err != nil { diff --git a/src/path/filepath/path_windows_test.go b/src/path/filepath/path_windows_test.go index b47cdfdb96..180c2e90af 100644 --- a/src/path/filepath/path_windows_test.go +++ b/src/path/filepath/path_windows_test.go @@ -13,29 +13,9 @@ import ( "path/filepath" "reflect" "strings" - "syscall" "testing" ) -func init() { - tmpdir, err := ioutil.TempDir("", "symtest") - if err != nil { - panic("failed to create temp directory: " + err.Error()) - } - defer os.RemoveAll(tmpdir) - - err = os.Symlink("target", filepath.Join(tmpdir, "symlink")) - if err == nil { - return - } - - err = err.(*os.LinkError).Err - switch err { - case syscall.EWINDOWS, syscall.ERROR_PRIVILEGE_NOT_HELD: - supportsSymlinks = false - } -} - func TestWinSplitListTestsAreValid(t *testing.T) { comspec := os.Getenv("ComSpec") if comspec == "" {