]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/nm: don't rely on an erroneous install target in tests
authorBryan C. Mills <bcmills@google.com>
Mon, 11 Jul 2022 17:32:40 +0000 (13:32 -0400)
committerGopher Robot <gobot@golang.org>
Mon, 11 Jul 2022 19:01:02 +0000 (19:01 +0000)
Non-main packages in module mode should not be installed to
GOPATH/pkg, but due to #37015 they were installed there anyway.
This change switches the 'go install' command in testGoLib to instead
use 'go build -buildmode=archive' with an explicit output file.

For #37015.

Change-Id: I15781aa33d1b2adc6a4437a58622276f4e20b889
Reviewed-on: https://go-review.googlesource.com/c/go/+/416955
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>

src/cmd/nm/nm_test.go

index 226c2c3bcd80c5236b21635fdf68bf587ce98541..4bc9bf90792bea3646bb63297ba97f37d03d0729 100644 (file)
@@ -250,23 +250,14 @@ func testGoLib(t *testing.T, iscgo bool) {
                t.Fatal(err)
        }
 
-       args := []string{"install", "mylib"}
-       cmd := exec.Command(testenv.GoToolPath(t), args...)
+       cmd := exec.Command(testenv.GoToolPath(t), "build", "-buildmode=archive", "-o", "mylib.a", ".")
        cmd.Dir = libpath
        cmd.Env = append(os.Environ(), "GOPATH="+gopath)
        out, err := cmd.CombinedOutput()
        if err != nil {
                t.Fatalf("building test lib failed: %s %s", err, out)
        }
-       pat := filepath.Join(gopath, "pkg", "*", "mylib.a")
-       ms, err := filepath.Glob(pat)
-       if err != nil {
-               t.Fatal(err)
-       }
-       if len(ms) == 0 {
-               t.Fatalf("cannot found paths for pattern %s", pat)
-       }
-       mylib := ms[0]
+       mylib := filepath.Join(libpath, "mylib.a")
 
        out, err = exec.Command(testnmpath, mylib).CombinedOutput()
        if err != nil {