]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: resolve TODO by replacing InDir() function
authorAndy Pan <panjf2000@gmail.com>
Sat, 21 Nov 2020 07:27:00 +0000 (15:27 +0800)
committerJay Conrod <jayconrod@google.com>
Tue, 23 Feb 2021 17:38:55 +0000 (17:38 +0000)
Change-Id: Idf886bbc4e66c9ee2a41c90034075301e0a21a58
Reviewed-on: https://go-review.googlesource.com/c/go/+/271909
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Jay Conrod <jayconrod@google.com>
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Jay Conrod <jayconrod@google.com>

src/cmd/go/internal/search/search.go
src/cmd/go/internal/test/test.go

index 18738cf59ec8d3c48dc30339c869c40ef698bde0..faf3a321dd17090f80caff927b7069eaa687b43b 100644 (file)
@@ -571,7 +571,6 @@ func IsRelativePath(pattern string) bool {
 // If so, InDir returns an equivalent path relative to dir.
 // If not, InDir returns an empty string.
 // InDir makes some effort to succeed even in the presence of symbolic links.
-// TODO(rsc): Replace internal/test.inDir with a call to this function for Go 1.12.
 func InDir(path, dir string) string {
        if rel := inDirLex(path, dir); rel != "" {
                return rel
index 7fc9e8fbdcda1afb5837d5b2932329890b49b6a2..ea9dfbe4e8a370e6b0156db8708ef815fd8358cb 100644 (file)
@@ -29,6 +29,7 @@ import (
        "cmd/go/internal/cfg"
        "cmd/go/internal/load"
        "cmd/go/internal/lockedfile"
+       "cmd/go/internal/search"
        "cmd/go/internal/str"
        "cmd/go/internal/trace"
        "cmd/go/internal/work"
@@ -1499,7 +1500,7 @@ func computeTestInputsID(a *work.Action, testlog []byte) (cache.ActionID, error)
                        if !filepath.IsAbs(name) {
                                name = filepath.Join(pwd, name)
                        }
-                       if a.Package.Root == "" || !inDir(name, a.Package.Root) {
+                       if a.Package.Root == "" || search.InDir(name, a.Package.Root) == "" {
                                // Do not recheck files outside the module, GOPATH, or GOROOT root.
                                break
                        }
@@ -1508,7 +1509,7 @@ func computeTestInputsID(a *work.Action, testlog []byte) (cache.ActionID, error)
                        if !filepath.IsAbs(name) {
                                name = filepath.Join(pwd, name)
                        }
-                       if a.Package.Root == "" || !inDir(name, a.Package.Root) {
+                       if a.Package.Root == "" || search.InDir(name, a.Package.Root) == "" {
                                // Do not recheck files outside the module, GOPATH, or GOROOT root.
                                break
                        }
@@ -1526,18 +1527,6 @@ func computeTestInputsID(a *work.Action, testlog []byte) (cache.ActionID, error)
        return sum, nil
 }
 
-func inDir(path, dir string) bool {
-       if str.HasFilePathPrefix(path, dir) {
-               return true
-       }
-       xpath, err1 := filepath.EvalSymlinks(path)
-       xdir, err2 := filepath.EvalSymlinks(dir)
-       if err1 == nil && err2 == nil && str.HasFilePathPrefix(xpath, xdir) {
-               return true
-       }
-       return false
-}
-
 func hashGetenv(name string) cache.ActionID {
        h := cache.NewHash("getenv")
        v, ok := os.LookupEnv(name)