diff options
author | Alberto Cortés <alcortesm@gmail.com> | 2016-11-14 18:27:31 +0100 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2016-11-14 18:27:31 +0100 |
commit | eb89d2dd9a36440d58aea224c055b364e49785f7 (patch) | |
tree | 79aac22df69ef70827ed24fa4fb3fb9bbc4d260b /plumbing/format/packfile/decoder_test.go | |
parent | 3e7f535beae601d334186f7316af957bc24bd865 (diff) | |
download | go-git-eb89d2dd9a36440d58aea224c055b364e49785f7.tar.gz |
Fix nil tx bug (#124)v4.0.0-rc4
* add test for non-seekable packfiles
* packfile: do not throw away the newly created transactioner
Diffstat (limited to 'plumbing/format/packfile/decoder_test.go')
-rw-r--r-- | plumbing/format/packfile/decoder_test.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/plumbing/format/packfile/decoder_test.go b/plumbing/format/packfile/decoder_test.go index e510cf2..936f589 100644 --- a/plumbing/format/packfile/decoder_test.go +++ b/plumbing/format/packfile/decoder_test.go @@ -57,6 +57,34 @@ func (s *ReaderSuite) TestDecodeInMemory(c *C) { }) } +type nonSeekableReader struct { + r io.Reader +} + +func (nsr nonSeekableReader) Read(b []byte) (int, error) { + return nsr.r.Read(b) +} + +func (s *ReaderSuite) TestDecodeNoSeekable(c *C) { + fixtures.Basic().ByTag("packfile").Test(c, func(f *fixtures.Fixture) { + reader := nonSeekableReader{ + r: f.Packfile(), + } + + scanner := NewScanner(reader) + storage := memory.NewStorage() + d, err := NewDecoder(scanner, storage) + c.Assert(err, IsNil) + defer d.Close() + + ch, err := d.Decode() + c.Assert(err, IsNil) + c.Assert(ch, Equals, f.PackfileHash) + + assertObjects(c, storage, expectedHashes) + }) +} + var expectedHashes = []string{ "918c48b83bd081e863dbe1b80f8998f058cd8294", "af2d6a6954d532f8ffb47615169c8fdf9d383a1a", |