mirror of
https://github.com/golang/go
synced 2024-11-18 00:04:43 -07:00
cmd/go: clean the directory path containing the packages
The heuristic for determining if the packages or commands are stale fails as the mtime comparison happens even though the GOROOT and current package paths are the same, since the path name isn't canonicalized before the comparison (GOROOT is). Fixes: #12690 Change-Id: Ia7d142fbbed8aac2bd2f71d1db4efd1f3ff5aece Reviewed-on: https://go-review.googlesource.com/16483 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
0bad50f2a4
commit
a7d331b368
@ -1191,6 +1191,17 @@ func TestPackageMainTestImportsArchiveNotBinary(t *testing.T) {
|
||||
tg.run("test", "main_test")
|
||||
}
|
||||
|
||||
// Issue 12690
|
||||
func TestPackageNotStaleWithTrailingSlash(t *testing.T) {
|
||||
tg := testgo(t)
|
||||
defer tg.cleanup()
|
||||
goroot := runtime.GOROOT()
|
||||
tg.setenv("GOROOT", goroot+"/")
|
||||
tg.wantNotStale("runtime", "with trailing slash in GOROOT, runtime listed as stale")
|
||||
tg.wantNotStale("os", "with trailing slash in GOROOT, os listed as stale")
|
||||
tg.wantNotStale("io", "with trailing slash in GOROOT, io listed as stale")
|
||||
}
|
||||
|
||||
// With $GOBIN set, binaries get installed to $GOBIN.
|
||||
func TestInstallIntoGOBIN(t *testing.T) {
|
||||
tg := testgo(t)
|
||||
|
@ -289,7 +289,7 @@ func defaultContext() Context {
|
||||
|
||||
c.GOARCH = envOr("GOARCH", runtime.GOARCH)
|
||||
c.GOOS = envOr("GOOS", runtime.GOOS)
|
||||
c.GOROOT = runtime.GOROOT()
|
||||
c.GOROOT = pathpkg.Clean(runtime.GOROOT())
|
||||
c.GOPATH = envOr("GOPATH", "")
|
||||
c.Compiler = runtime.Compiler
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user