if len(p.TestGoFiles)+len(p.XTestGoFiles) > 0 {
pmain, _, _, err := load.TestPackagesFor(p, nil)
if err != nil {
- if !*listE {
- base.Errorf("can't load test package: %s", err)
+ if *listE {
+ pkgs = append(pkgs, &load.Package{
+ PackagePublic: load.PackagePublic{
+ ImportPath: p.ImportPath + ".test",
+ Error: &load.PackageError{Err: err.Error()},
+ },
+ })
continue
}
- pmain = &load.Package{
- PackagePublic: load.PackagePublic{
- ImportPath: p.ImportPath + ".test",
- Error: &load.PackageError{Err: err.Error()},
- },
- }
+ base.Errorf("can't load test package: %s", err)
+ continue
}
pkgs = append(pkgs, pmain)
--- /dev/null
+# issue 25980: crash in go list -e -test
+go list -e -test -f '{{.Error}}' p
+stdout '^p/d_test.go:2:8: cannot find package "d" in any of:'
+
+-- p/d.go --
+package d
+-- p/d_test.go --
+package d_test
+import _ "d"