lfs: suppress io.EOF errors during pointer decodes

This commit is contained in:
Taylor Blau 2016-11-03 18:12:08 -06:00
parent dba2821b46
commit 048abd14d5
2 changed files with 4 additions and 12 deletions

@ -113,7 +113,7 @@ func DecodeFrom(reader io.Reader) ([]byte, *Pointer, error) {
written, err := reader.Read(buf) written, err := reader.Read(buf)
output := buf[0:written] output := buf[0:written]
if err != nil { if err != nil && err != io.EOF {
return output, nil, err return output, nil, err
} }

@ -3,7 +3,6 @@ package lfs
import ( import (
"bufio" "bufio"
"bytes" "bytes"
"io"
"reflect" "reflect"
"strings" "strings"
"testing" "testing"
@ -170,17 +169,10 @@ size 12345`
func TestDecodeFromEmptyReader(t *testing.T) { func TestDecodeFromEmptyReader(t *testing.T) {
by, p, err := DecodeFrom(strings.NewReader("")) by, p, err := DecodeFrom(strings.NewReader(""))
if err != io.EOF {
t.Fatalf("unexpected error: %v", err)
}
if p != nil { assert.EqualError(t, err, "Pointer file error: invalid header")
t.Fatalf("Unexpected pointer: %v", p) assert.Nil(t, p)
} assert.Empty(t, string(by))
if string(by) != "" {
t.Fatalf("unexpected result: '%s'", string(by))
}
} }
func TestDecodeInvalid(t *testing.T) { func TestDecodeInvalid(t *testing.T) {