mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/doc: skip directories like other go tools
It was skipping dirs starting with ".", but it was missing the "_" prefix and the "testdata" name. From "go help packages": Directory and file names that begin with "." or "_" are ignored by the go tool, as are directories named "testdata". Before the change: $ go doc z # using src/cmd/go/testdata/testvendor/src/q/z package z // import "." After the fix, it falls back to the current directory, as expected when a single argument isn't found as a package in $GOPATH. TestMain needs a small adjustment to keep the tests working, as now their use of cmd/doc/testdata would normally not work. Fixes #24462. Change-Id: I1f5d6d1eba0fb59aff55db33b3b1147e300284ef Reviewed-on: https://go-review.googlesource.com/106935 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
parent
a55f9d2d91
commit
49e3e436e7
2 changed files with 15 additions and 4 deletions
|
|
@ -16,10 +16,20 @@ import (
|
|||
)
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
// otherwise the tests are brittle, as they may give unexpected
|
||||
// output or errors when a suffix match with GOPATH takes place
|
||||
// Clear GOPATH so we don't access the user's own packages in the test.
|
||||
buildCtx.GOPATH = ""
|
||||
|
||||
dirsInit()
|
||||
|
||||
// Add $GOROOT/src/cmd/doc/testdata explicitly so we can access its contents in the test.
|
||||
// Normally testdata directories are ignored, but sending it to dirs.scan directly is
|
||||
// a hack that works around the check.
|
||||
testdataDir, err := filepath.Abs("testdata")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
go func() { dirs.scan <- testdataDir }()
|
||||
|
||||
os.Exit(m.Run())
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue