From: Dmitri Shuralyov Date: Wed, 24 Mar 2021 16:10:22 +0000 (-0400) Subject: cmd/internal/moddeps: fix false positive when $TMPDIR is symlinked X-Git-Tag: go1.17beta1~994 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=dade83a588feace6af9882500f2282c8a83f54d0;p=gostls13.git cmd/internal/moddeps: fix false positive when $TMPDIR is symlinked os.Getwd notes that if the current directory can be reached via multiple paths (due to symbolic links), Getwd may return any one of them. A way to ensure that the desired path is used is to set the PWD environment variable pointing to it. The go generate command has started to update the PWD environment variable as of CL 287152, which was the missing link previously resulting in mkwinsyscall misunderstanding whether it's inside the std lib when symbolic links are involved (issue 44079). Now all that's left is for us to also set the PWD environment variable when invoking the go command in the test, so that it too knows the intended working directory path to use. Fixes #44080. Updates #44079. Updates #43862. Change-Id: I65c9d19d0979f486800b9b328c9b45a1a3180e81 Reviewed-on: https://go-review.googlesource.com/c/go/+/304449 Trust: Dmitri Shuralyov Reviewed-by: Bryan C. Mills --- diff --git a/src/cmd/internal/moddeps/moddeps_test.go b/src/cmd/internal/moddeps/moddeps_test.go index 78c291e203..62687403ec 100644 --- a/src/cmd/internal/moddeps/moddeps_test.go +++ b/src/cmd/internal/moddeps/moddeps_test.go @@ -163,8 +163,8 @@ func TestAllDependencies(t *testing.T) { Env: append(os.Environ(), // Set GOROOT. "GOROOT="+gorootCopyDir, - // Explicitly clear PWD and GOROOT_FINAL so that GOROOT=gorootCopyDir is definitely used. - "PWD=", + // Explicitly override PWD and clear GOROOT_FINAL so that GOROOT=gorootCopyDir is definitely used. + "PWD="+filepath.Join(gorootCopyDir, rel), "GOROOT_FINAL=", // Add GOROOTcopy/bin and bundleDir to front of PATH. "PATH="+filepath.Join(gorootCopyDir, "bin")+string(filepath.ListSeparator)+