mirror of
https://github.com/golang/go
synced 2024-11-18 15:54:42 -07:00
cmd/go: don't split internal test main packages twice
Fixes #34321 Change-Id: Ia6253038c525089e20a1da64a2c5c9dcc57edd74 Reviewed-on: https://go-review.googlesource.com/c/go/+/195677 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
parent
7f907b9cee
commit
4d18a7ceb2
@ -405,7 +405,7 @@ func recompileForTest(pmain, preal, ptest, pxtest *Package) {
|
|||||||
// covered packages are imported by pmain. Linking multiple packages
|
// covered packages are imported by pmain. Linking multiple packages
|
||||||
// compiled with '-p main' causes duplicate symbol errors.
|
// compiled with '-p main' causes duplicate symbol errors.
|
||||||
// See golang.org/issue/30907, golang.org/issue/34114.
|
// See golang.org/issue/30907, golang.org/issue/34114.
|
||||||
if p.Name == "main" && p != pmain {
|
if p.Name == "main" && p != pmain && p != ptest {
|
||||||
split()
|
split()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
25
src/cmd/go/testdata/script/list_split_main.txt
vendored
Normal file
25
src/cmd/go/testdata/script/list_split_main.txt
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# This test checks that a "main" package with an external test package
|
||||||
|
# is recompiled only once.
|
||||||
|
# Verifies golang.org/issue/34321.
|
||||||
|
|
||||||
|
env GO111MODULE=off
|
||||||
|
|
||||||
|
go list -e -test -deps -f '{{if not .Standard}}{{.ImportPath}}{{end}}' pkg
|
||||||
|
cmp stdout want
|
||||||
|
|
||||||
|
-- $GOPATH/src/pkg/pkg.go --
|
||||||
|
package main
|
||||||
|
|
||||||
|
func main() {}
|
||||||
|
|
||||||
|
-- $GOPATH/src/pkg/pkg_test.go --
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func Test(t *testing.T) {}
|
||||||
|
|
||||||
|
-- want --
|
||||||
|
pkg
|
||||||
|
pkg [pkg.test]
|
||||||
|
pkg.test
|
Loading…
Reference in New Issue
Block a user