Skip to content

Commit

Permalink
cmd/go: expand tests for standard-library vendoring in GOPATH mode
Browse files Browse the repository at this point in the history
This should help to catch any regressions in the course of implementing #26924.

Updates #26924

Change-Id: Ide28a9aa0235867e0ce72f855fbed51c50e2c2f2
Reviewed-on: https://go-review.googlesource.com/c/163520
Run-TryBot: Bryan C. Mills <[email protected]>
TryBot-Result: Gobot Gobot <[email protected]>
Reviewed-by: Jay Conrod <[email protected]>
  • Loading branch information
Bryan C. Mills committed Feb 27, 2019
1 parent d7518ac commit 2c86713
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 3 deletions.
17 changes: 14 additions & 3 deletions src/cmd/go/testdata/script/list_std.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,24 @@ env GO111MODULE=off

[!gc] skip

# listing GOROOT should only find standard packages
# Listing GOROOT should only find standard packages.
cd $GOROOT/src
go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}' ./...
! stdout .
# TODO: ignore _/blah/go/src in output

# our vendored packages should be reported as standard
go list std cmd
# Standard packages should include cmd, but not cmd/vendor.
go list ./...
stdout cmd/compile
! stdout vendor/golang.org
! stdout cmd/vendor

# In GOPATH mode, packages vendored into GOROOT should be reported as standard.
go list -f '{{if .Standard}}{{.ImportPath}}{{end}}' std cmd
stdout internal/x/net/http2/hpack
stdout cmd/vendor/golang\.org/x/arch/x86/x86asm

# However, vendored packages should not match wildcard patterns beginning with cmd.
go list cmd/...
stdout cmd/compile
! stdout cmd/vendor
24 changes: 24 additions & 0 deletions src/cmd/go/testdata/script/std_vendor.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
env GO111MODULE=off

[!gc] skip

# 'go list' should report imports from _test.go in the TestImports field.
go list -f '{{.TestImports}}'
stdout net/http # from .TestImports

# 'go list -test' should report vendored transitive dependencies of _test.go
# imports in the Deps field, with a 'vendor' prefix on their import paths.
go list -test -f '{{.Deps}}'
stdout internal/x/crypto # dep of .TestImports

-- go.mod --
module m

-- x.go --
package x

-- x_test.go --
package x
import "testing"
import _ "net/http"
func Test(t *testing.T) {}

0 comments on commit 2c86713

Please sign in to comment.