diff options
Diffstat (limited to 'libgo/go/archive/tar')
-rw-r--r-- | libgo/go/archive/tar/reader.go | 8 | ||||
-rw-r--r-- | libgo/go/archive/tar/reader_test.go | 27 |
2 files changed, 12 insertions, 23 deletions
diff --git a/libgo/go/archive/tar/reader.go b/libgo/go/archive/tar/reader.go index 13fe270..755a730 100644 --- a/libgo/go/archive/tar/reader.go +++ b/libgo/go/archive/tar/reader.go @@ -18,7 +18,7 @@ import ( ) var ( - HeaderError = errors.New("invalid tar header") + ErrHeader = errors.New("invalid tar header") ) // A Reader provides sequential access to the contents of a tar archive. @@ -123,13 +123,13 @@ func (tr *Reader) readHeader() *Header { if bytes.Equal(header, zeroBlock[0:blockSize]) { tr.err = io.EOF } else { - tr.err = HeaderError // zero block and then non-zero block + tr.err = ErrHeader // zero block and then non-zero block } return nil } if !tr.verifyChecksum(header) { - tr.err = HeaderError + tr.err = ErrHeader return nil } @@ -188,7 +188,7 @@ func (tr *Reader) readHeader() *Header { } if tr.err != nil { - tr.err = HeaderError + tr.err = ErrHeader return nil } diff --git a/libgo/go/archive/tar/reader_test.go b/libgo/go/archive/tar/reader_test.go index 0a6513d..0a8646c 100644 --- a/libgo/go/archive/tar/reader_test.go +++ b/libgo/go/archive/tar/reader_test.go @@ -240,31 +240,20 @@ func TestNonSeekable(t *testing.T) { } defer f.Close() - // pipe the data in - r, w, err := os.Pipe() - if err != nil { - t.Fatalf("Unexpected error %s", err) + type readerOnly struct { + io.Reader } - go func() { - rdbuf := make([]uint8, 1<<16) - for { - nr, err := f.Read(rdbuf) - w.Write(rdbuf[0:nr]) - if err == io.EOF { - break - } - } - w.Close() - }() - - tr := NewReader(r) + tr := NewReader(readerOnly{f}) nread := 0 for ; ; nread++ { - hdr, err := tr.Next() - if hdr == nil || err == io.EOF { + _, err := tr.Next() + if err == io.EOF { break } + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } } if nread != len(test.headers) { |