test: add relative seek test to dagreader

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
This commit is contained in:
Jakub Sztandera 2016-08-20 19:49:36 +02:00
parent 91f2765ff0
commit cd22fb1085
No known key found for this signature in database
GPG Key ID: 9A9AF56F8B3879BA

View File

@ -50,22 +50,15 @@ func TestSeekAndRead(t *testing.T) {
for i := 255; i >= 0; i-- {
reader.Seek(int64(i), os.SEEK_SET)
out := make([]byte, 1)
if reader.Offset() != int64(i) {
t.Fatal("expected offset to be increased by one after read")
}
c, err := reader.Read(out)
if c != 1 {
t.Fatal("reader should have read just one byte")
}
if err != nil {
t.Fatal(err)
}
out := readByte(t, reader)
if int(out[0]) != i {
t.Fatalf("read %d at index %d, expected %d", out[0], i, i)
if int(out) != i {
t.Fatalf("read %d at index %d, expected %d", out, i, i)
}
if reader.Offset() != int64(i+1) {
@ -73,3 +66,44 @@ func TestSeekAndRead(t *testing.T) {
}
}
}
func TestRelativeSeek(t *testing.T) {
dserv := testu.GetDAGServ()
ctx, closer := context.WithCancel(context.Background())
defer closer()
inbuf := make([]byte, 1024)
for i := 0; i < 256; i++ {
inbuf[i*4] = byte(i)
}
node := testu.GetNode(t, dserv, inbuf)
reader, err := NewDagReader(ctx, node, dserv)
if err != nil {
t.Fatal(err)
}
for i := 0; i < 256; i++ {
out := readByte(t, reader)
if int(out) != i {
t.Fatalf("expected to read: %d at %d, read %d", i, reader.Offset(), out)
}
reader.Seek(3, os.SEEK_CUR)
}
}
func readByte(t testing.TB, reader *DagReader) byte {
out := make([]byte, 1)
c, err := reader.Read(out)
if c != 1 {
t.Fatal("reader should have read just one byte")
}
if err != nil {
t.Fatal(err)
}
return out[0]
}