]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: populate the Module field for test packages
authorBryan C. Mills <bcmills@google.com>
Wed, 1 Jul 2020 14:33:56 +0000 (10:33 -0400)
committerBryan C. Mills <bcmills@google.com>
Mon, 24 Aug 2020 19:20:59 +0000 (19:20 +0000)
Fixes #39974

Change-Id: I52bb13e887fde52bf789198059c39fd6aacd96f0
Reviewed-on: https://go-review.googlesource.com/c/go/+/240678
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
src/cmd/go/internal/load/test.go
src/cmd/go/testdata/script/mod_list_test.txt

index a0e275095bdae7df6a4616e60bee744499022a4a..e0f13323dfcee1009ff5ba92b282dd8dfa49cc21 100644 (file)
@@ -191,6 +191,7 @@ func TestPackagesAndErrors(ctx context.Context, p *Package, cover *TestCover) (p
                                GoFiles:    p.XTestGoFiles,
                                Imports:    p.XTestImports,
                                ForTest:    p.ImportPath,
+                               Module:     p.Module,
                                Error:      pxtestErr,
                        },
                        Internal: PackageInternal{
@@ -222,6 +223,7 @@ func TestPackagesAndErrors(ctx context.Context, p *Package, cover *TestCover) (p
                        ImportPath: p.ImportPath + ".test",
                        Root:       p.Root,
                        Imports:    str.StringList(TestMainDeps),
+                       Module:     p.Module,
                },
                Internal: PackageInternal{
                        Build:      &build.Package{Name: "main"},
index a99e4f36cd58745b47b8a09efac3ce072771d713..f697af6c92c9cefc1080644e33752556e1f20ec1 100644 (file)
@@ -3,9 +3,19 @@ env GO111MODULE=on
 # go list -compiled -test must handle test-only packages
 # golang.org/issue/27097.
 go list -compiled -test
+stdout -count=4 '^.' # 4 lines
 stdout '^m$'
 stdout '^m\.test$'
 stdout '^m \[m\.test\]$'
+stdout '^m_test \[m\.test\]$'
+
+# https://golang.org/issue/39974: test packages should have the Module field populated.
+go list -test -f '{{.ImportPath}}{{with .Module}}: {{.Path}}{{end}}'
+stdout -count=4 '^.' # 4 lines
+stdout '^m: m$'
+stdout '^m\.test: m$'
+stdout '^m \[m\.test\]: m$'
+stdout '^m_test \[m\.test\]: m$'
 
 -- go.mod --
 module m
@@ -14,3 +24,7 @@ module m
 package x
 import "testing"
 func Test(t *testing.T) {}
+-- x_x_test.go --
+package x_test
+import "testing"
+func Test(t *testing.T) {}