Commit 941b3b77 authored by Paul Jolly's avatar Paul Jolly Committed by Ian Lance Taylor

cmd/go: fix go list -test where C is a dependency.

Currently go list -test runtime/cgo fails with an index out of range
error. This appears to be because the updating of import paths that
happens as part of -test doesn't take into account the fact that the
Internal.Imports of a package do not contain "C", whereas the public
Imports do.

Therefore we skip the public Import of "C" if it exists and continue.

Change-Id: I5cdc8968890fa7e5da3e375718606037d3282754
Reviewed-on: https://go-review.googlesource.com/111175
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
parent cf4e5597
...@@ -1946,6 +1946,9 @@ func TestGoListTest(t *testing.T) { ...@@ -1946,6 +1946,9 @@ func TestGoListTest(t *testing.T) {
tg.grepStdout(`^cmd/doc\.test$`, "missing cmd/doc test") tg.grepStdout(`^cmd/doc\.test$`, "missing cmd/doc test")
tg.grepStdoutNot(`^cmd/dist\.test$`, "unexpected cmd/dist test") tg.grepStdoutNot(`^cmd/dist\.test$`, "unexpected cmd/dist test")
tg.grepStdoutNot(`^testing`, "unexpected testing") tg.grepStdoutNot(`^testing`, "unexpected testing")
tg.run("list", "-test", "runtime/cgo")
tg.grepStdout(`^runtime/cgo$`, "missing runtime/cgo")
} }
// Issue 4096. Validate the output of unsuccessful go install foo/quxx. // Issue 4096. Validate the output of unsuccessful go install foo/quxx.
......
...@@ -318,8 +318,14 @@ func runList(cmd *base.Command, args []string) { ...@@ -318,8 +318,14 @@ func runList(cmd *base.Command, args []string) {
} }
// Update import path lists to use new strings. // Update import path lists to use new strings.
for _, p := range all { for _, p := range all {
j := 0
for i := range p.Imports { for i := range p.Imports {
p.Imports[i] = p.Internal.Imports[i].ImportPath // Internal skips "C"
if p.Imports[i] == "C" {
continue
}
p.Imports[i] = p.Internal.Imports[j].ImportPath
j++
} }
} }
// Recompute deps lists using new strings, from the leaves up. // Recompute deps lists using new strings, from the leaves up.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment