From: Matt Joiner Date: Sat, 26 Mar 2016 07:30:30 +0000 (+1100) Subject: data/file: Add a test checking for io.ErrUnexpectedEOF on short read X-Git-Tag: v1.0.0~817 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=729723d62d9aae118eddd9767da0355da1680961;p=btrtrc.git data/file: Add a test checking for io.ErrUnexpectedEOF on short read --- diff --git a/data/file/file_test.go b/data/file/file_test.go new file mode 100644 index 00000000..52e345b0 --- /dev/null +++ b/data/file/file_test.go @@ -0,0 +1,32 @@ +package file + +import ( + "bytes" + "io" + "io/ioutil" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/anacrolix/torrent/metainfo" +) + +func TestShortFile(t *testing.T) { + td, err := ioutil.TempDir("", "") + require.NoError(t, err) + defer os.RemoveAll(td) + data := TorrentData(&metainfo.Info{ + Name: "a", + Length: 2, + }, td) + f, err := os.Create(filepath.Join(td, "a")) + err = f.Truncate(1) + f.Close() + var buf bytes.Buffer + n, err := io.Copy(&buf, io.NewSectionReader(data, 0, 2)) + assert.EqualValues(t, 1, n) + assert.Equal(t, io.ErrUnexpectedEOF, err) +}