test: add absolute seek test

move tests to different file

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
This commit is contained in:
Jakub Sztandera 2016-08-20 19:05:26 +02:00
parent 452a1d28a3
commit 91f2765ff0
No known key found for this signature in database
GPG Key ID: 9A9AF56F8B3879BA
2 changed files with 75 additions and 32 deletions

View File

@ -0,0 +1,75 @@
package io
import (
"io/ioutil"
"os"
"testing"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
testu "github.com/ipfs/go-ipfs/unixfs/test"
)
func TestBasicRead(t *testing.T) {
dserv := testu.GetDAGServ()
inbuf, node := testu.GetRandomNode(t, dserv, 1024)
ctx, closer := context.WithCancel(context.Background())
defer closer()
reader, err := NewDagReader(ctx, node, dserv)
if err != nil {
t.Fatal(err)
}
outbuf, err := ioutil.ReadAll(reader)
if err != nil {
t.Fatal(err)
}
err = testu.ArrComp(inbuf, outbuf)
if err != nil {
t.Fatal(err)
}
}
func TestSeekAndRead(t *testing.T) {
dserv := testu.GetDAGServ()
inbuf := make([]byte, 256)
for i := 0; i <= 255; i++ {
inbuf[i] = byte(i)
}
node := testu.GetNode(t, dserv, inbuf)
ctx, closer := context.WithCancel(context.Background())
defer closer()
reader, err := NewDagReader(ctx, node, dserv)
if err != nil {
t.Fatal(err)
}
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)
}
if int(out[0]) != i {
t.Fatalf("read %d at index %d, expected %d", out[0], i, i)
}
if reader.Offset() != int64(i+1) {
t.Fatal("expected offset to be increased by one after read")
}
}
}

View File

@ -1,32 +0,0 @@
package io
import (
"io/ioutil"
"testing"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
testu "github.com/ipfs/go-ipfs/unixfs/test"
)
func TestBasicRead(t *testing.T) {
dserv := testu.GetDAGServ()
inbuf, node := testu.GetRandomNode(t, dserv, 1024)
ctx, closer := context.WithCancel(context.Background())
defer closer()
reader, err := NewDagReader(ctx, node, dserv)
if err != nil {
t.Fatal(err)
}
outbuf, err := ioutil.ReadAll(reader)
if err != nil {
t.Fatal(err)
}
err = testu.ArrComp(inbuf, outbuf)
if err != nil {
t.Fatal(err)
}
}