]> Cypherpunks repositories - gostls13.git/commitdiff
path/filepath: use testenv.MustHaveSymlink to simplify symlink tests
authorHiroshi Ioka <hirochachacha@gmail.com>
Tue, 23 Aug 2016 13:59:27 +0000 (22:59 +0900)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 23 Aug 2016 14:53:47 +0000 (14:53 +0000)
Cleanup test code for symbolic links.

Change-Id: I25f561cd34dc4d120a4143f933619d233a6cffc5
Reviewed-on: https://go-review.googlesource.com/27573
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/path/filepath/match_test.go
src/path/filepath/path_test.go
src/path/filepath/path_windows_test.go

index 6b068c778e959cac6a07529d323d9a59a02c59d0..3bd5598ed9a7ce8ae472079ccd5abb83edd5aff6 100644 (file)
@@ -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 {
index 1a4a9d2a1ad7aa26a48d4a8965c4d37b4bdeb17a..1be5b469f2a9d4f45e139dcb537382dcede47abd 100644 (file)
@@ -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 {
index b47cdfdb9697e67f421c9586ada96830079ac5fd..180c2e90af344498502ae79fd42dc4cb5a601e8d 100644 (file)
@@ -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 == "" {