internal/fetch: fail on bad package error

The goPackage.err field should only contain an error that is
godoc.ErrTooLarge. Check for that.

Change-Id: I961ca2591391c1aeb0fa5bfb8789b21a9d2ce8e0
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/289670
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/internal/fetch/package.go b/internal/fetch/package.go
index b694f86..fd74a09 100644
--- a/internal/fetch/package.go
+++ b/internal/fetch/package.go
@@ -207,6 +207,9 @@
 			if errors.Is(pkg.err, godoc.ErrTooLarge) {
 				status = derrors.PackageDocumentationHTMLTooLarge
 				errMsg = pkg.err.Error()
+			} else if pkg.err != nil {
+				// ErrTooLarge is the only valid value of pkg.err.
+				return nil, nil, fmt.Errorf("bad package error for %s: %v", pkg.path, pkg.err)
 			}
 			if d != nil { //  should only be nil for tests
 				isRedist, lics := d.PackageInfo(innerPath)