mirror of
https://github.com/golang/go
synced 2024-09-30 03:34:51 -06:00
cmd/api: fix no go files package panic
Fixes #29837 Change-Id: I7d57c24d2133932c076df6f41dd6589f777b65dd Reviewed-on: https://go-review.googlesource.com/c/158877 Run-TryBot: Baokun Lee <nototon@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
d1887676d9
commit
68eb3ccdec
@ -169,7 +169,13 @@ func main() {
|
||||
// w.Import(name) will return nil
|
||||
continue
|
||||
}
|
||||
pkg, _ := w.Import(name)
|
||||
pkg, err := w.Import(name)
|
||||
if _, nogo := err.(*build.NoGoError); nogo {
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatalf("Import(%q): %v", name, err)
|
||||
}
|
||||
w.export(pkg)
|
||||
}
|
||||
}
|
||||
@ -470,7 +476,7 @@ func (w *Walker) Import(name string) (*types.Package, error) {
|
||||
info, err := context.ImportDir(dir, 0)
|
||||
if err != nil {
|
||||
if _, nogo := err.(*build.NoGoError); nogo {
|
||||
return nil, nil
|
||||
return nil, err
|
||||
}
|
||||
log.Fatalf("pkg %q, dir %q: ScanDir: %v", name, dir, err)
|
||||
}
|
||||
|
@ -203,3 +203,16 @@ func TestIssue21181(t *testing.T) {
|
||||
w.export(pkg)
|
||||
}
|
||||
}
|
||||
|
||||
func TestIssue29837(t *testing.T) {
|
||||
for _, c := range contexts {
|
||||
c.Compiler = build.Default.Compiler
|
||||
}
|
||||
for _, context := range contexts {
|
||||
w := NewWalker(context, "testdata/src/issue29837")
|
||||
_, err := w.Import("p")
|
||||
if _, nogo := err.(*build.NoGoError); !nogo {
|
||||
t.Errorf("expected *build.NoGoError, got %T", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
1
src/cmd/api/testdata/src/issue29837/p/README
vendored
Normal file
1
src/cmd/api/testdata/src/issue29837/p/README
vendored
Normal file
@ -0,0 +1 @@
|
||||
Empty directory for test, see https://golang.org/issues/29837.
|
Loading…
Reference in New Issue
Block a user