@cryptotaxi247 / kubo / commits / 91f2765ff

test: add absolute seek test

move tests to different file License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

Jakub Sztandera committed Aug 20, 2016 at 19:05 UTC 91f2765ff053cbf133b29d3661c8a75e948c259c
2 files changed +75 -32
unixfs/io/dagreader_test.go new
+75
@@ -0,0 +1,75 @@
1 +package io
2 +
3 +import (
4 + "io/ioutil"
5 + "os"
6 + "testing"
7 +
8 + context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
9 +
10 + testu "github.com/ipfs/go-ipfs/unixfs/test"
11 +)
12 +
13 +func TestBasicRead(t *testing.T) {
14 + dserv := testu.GetDAGServ()
15 + inbuf, node := testu.GetRandomNode(t, dserv, 1024)
16 + ctx, closer := context.WithCancel(context.Background())
17 + defer closer()
18 +
19 + reader, err := NewDagReader(ctx, node, dserv)
20 + if err != nil {
21 + t.Fatal(err)
22 + }
23 +
24 + outbuf, err := ioutil.ReadAll(reader)
25 + if err != nil {
26 + t.Fatal(err)
27 + }
28 +
29 + err = testu.ArrComp(inbuf, outbuf)
30 + if err != nil {
31 + t.Fatal(err)
32 + }
33 +}
34 +
35 +func TestSeekAndRead(t *testing.T) {
36 + dserv := testu.GetDAGServ()
37 + inbuf := make([]byte, 256)
38 + for i := 0; i <= 255; i++ {
39 + inbuf[i] = byte(i)
40 + }
41 +
42 + node := testu.GetNode(t, dserv, inbuf)
43 + ctx, closer := context.WithCancel(context.Background())
44 + defer closer()
45 +
46 + reader, err := NewDagReader(ctx, node, dserv)
47 + if err != nil {
48 + t.Fatal(err)
49 + }
50 +
51 + for i := 255; i >= 0; i-- {
52 + reader.Seek(int64(i), os.SEEK_SET)
53 + out := make([]byte, 1)
54 +
55 + if reader.Offset() != int64(i) {
56 + t.Fatal("expected offset to be increased by one after read")
57 + }
58 +
59 + c, err := reader.Read(out)
60 + if c != 1 {
61 + t.Fatal("reader should have read just one byte")
62 + }
63 + if err != nil {
64 + t.Fatal(err)
65 + }
66 +
67 + if int(out[0]) != i {
68 + t.Fatalf("read %d at index %d, expected %d", out[0], i, i)
69 + }
70 +
71 + if reader.Offset() != int64(i+1) {
72 + t.Fatal("expected offset to be increased by one after read")
73 + }
74 + }
75 +}
unixfs/io/dagserv_test.go deleted
-32
@@ -1,32 +0,0 @@
1 -package io
2 -
3 -import (
4 - "io/ioutil"
5 - "testing"
6 -
7 - context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
8 -
9 - testu "github.com/ipfs/go-ipfs/unixfs/test"
10 -)
11 -
12 -func TestBasicRead(t *testing.T) {
13 - dserv := testu.GetDAGServ()
14 - inbuf, node := testu.GetRandomNode(t, dserv, 1024)
15 - ctx, closer := context.WithCancel(context.Background())
16 - defer closer()
17 -
18 - reader, err := NewDagReader(ctx, node, dserv)
19 - if err != nil {
20 - t.Fatal(err)
21 - }
22 -
23 - outbuf, err := ioutil.ReadAll(reader)
24 - if err != nil {
25 - t.Fatal(err)
26 - }
27 -
28 - err = testu.ArrComp(inbuf, outbuf)
29 - if err != nil {
30 - t.Fatal(err)
31 - }
32 -}