mirror of
https://github.com/golang/go
synced 2024-10-14 03:43:28 +00:00
misc/cgo/testshared: run tests only in GOPATH mode
-buildmode=shared installs shared libraries into GOROOT and expects to reuse them across builds. Builds in module mode, however, each have their own set of dependencies (determined by the module's requirements), so in general cannot share dependencies with a single GOROOT. Ideally in the long term we would like to eliminate -buildmode=shared entirely (see #47788), but first we need a replacement for the subset of use-cases where it still works today. In the meantime, we should run these tests only in GOPATH mode. Non-main packages in module mode should not be installed to GOPATH/pkg, but due to #37015 they were installed there anyway, and this test heavily relies on installing non-main packages. For #37015. Change-Id: I7c5d90b4075d6f33e3505d6a8f12752309ae5c03 Reviewed-on: https://go-review.googlesource.com/c/go/+/417194 Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com>
This commit is contained in:
parent
feada53661
commit
f71f3d1b86
|
@ -108,6 +108,15 @@ func testMain(m *testing.M) (int, error) {
|
|||
defer os.RemoveAll(workDir)
|
||||
}
|
||||
|
||||
// -buildmode=shared fundamentally does not work in module mode.
|
||||
// (It tries to share package dependencies across builds, but in module mode
|
||||
// each module has its own distinct set of dependency versions.)
|
||||
// We would like to eliminate it (see https://go.dev/issue/47788),
|
||||
// but first need to figure out a replacement that covers the small subset
|
||||
// of use-cases where -buildmode=shared still works today.
|
||||
// For now, run the tests in GOPATH mode only.
|
||||
os.Setenv("GO111MODULE", "off")
|
||||
|
||||
// Some tests need to edit the source in GOPATH, so copy this directory to a
|
||||
// temporary directory and chdir to that.
|
||||
gopath := filepath.Join(workDir, "gopath")
|
||||
|
|
Loading…
Reference in a new issue