cmd/go/internal/modfetch: add missing error checks

This commit is contained in:
Leon Klingele 2019-01-30 18:00:28 +01:00
parent 56c9f8e8cf
commit 126452f15c
No known key found for this signature in database
GPG Key ID: 0C8AF48831EEC211
3 changed files with 13 additions and 0 deletions

View File

@ -541,6 +541,9 @@ func (r *codeRepo) Zip(dst io.Writer, version string) error {
return err
}
w, err := zw.Create(r.modPrefix(version) + "/" + name)
if err != nil {
return err
}
lr := &io.LimitedReader{R: rc, N: size + 1}
if _, err := io.Copy(w, lr); err != nil {
return err

View File

@ -98,6 +98,9 @@ func IsPseudoVersion(v string) bool {
// embedded in the pseudo-version is not a valid time.
func PseudoVersionTime(v string) (time.Time, error) {
timestamp, _, err := parsePseudoVersion(v)
if err != nil {
return time.Time{}, err
}
t, err := time.Parse("20060102150405", timestamp)
if err != nil {
return time.Time{}, fmt.Errorf("pseudo-version with malformed time %s: %q", timestamp, v)

View File

@ -60,6 +60,13 @@ func TestPseudoVersionTime(t *testing.T) {
}
}
func TestInvalidPseudoVersionTime(t *testing.T) {
const v = "---"
if _, err := PseudoVersionTime(v); err == nil {
t.Error("expected error, got nil instead")
}
}
func TestPseudoVersionRev(t *testing.T) {
for _, tt := range pseudoTests {
rev, err := PseudoVersionRev(tt.version)