]> Cypherpunks repositories - gostls13.git/commit
cmd/go: disambiguate for-test packages in failure output
authorRuss Cox <rsc@golang.org>
Thu, 19 Apr 2018 15:09:05 +0000 (11:09 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 26 Apr 2018 03:19:18 +0000 (03:19 +0000)
commit1a64025f2b7aab2a7bf23bbe8d3a033a3105cb76
treeb31acf3a816fe0cc7a00c07e0d948df446cb144b
parent296e676575af1967e681b85a5f14b56ddd4a6e29
cmd/go: disambiguate for-test packages in failure output

Now that we can tell when a package is a split-off copy
for testing, show that in the build failures.
For example, instead of:

# regexp/syntax
../../regexp/syntax/parse.go:9:2: can't find import: "strings"
# path/filepath
../../path/filepath/match.go:12:2: can't find import: "strings"
# flag
../../flag/flag.go:75:2: can't find import: "strings"

we now print

# regexp/syntax [strings.test]
../../regexp/syntax/parse.go:9:2: can't find import: "strings"
# path/filepath [strings.test]
../../path/filepath/match.go:12:2: can't find import: "strings"
# flag [strings.test]
../../flag/flag.go:75:2: can't find import: "strings"

which gives more of a hint about what is wrong.

This is especially helpful if a package is being built multiple times,
since it explains why an error might appear multiple times:

$ go test regexp encoding/json
# regexp
../../regexp/exec.go:12:9: undefined: x
# regexp [regexp.test]
../../regexp/exec.go:12:9: undefined: x
FAIL regexp [build failed]
FAIL encoding/json [build failed]
$

Change-Id: Ie325796f6c3cf0e23f306066be8e65a30cb6b939
Reviewed-on: https://go-review.googlesource.com/108155
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
src/cmd/go/internal/load/pkg.go
src/cmd/go/internal/work/exec.go
src/cmd/go/internal/work/gc.go