forked from chrispassas/nfdump
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstream_test.go
48 lines (41 loc) · 815 Bytes
/
stream_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package nfdump
import (
"bytes"
"fmt"
"io"
"io/ioutil"
"testing"
)
func TestStreamReader(t *testing.T) {
var data []byte
var err error
if data, err = ioutil.ReadFile("testdata/nfcapd-large-lzo"); err != nil {
t.Error(err)
}
var reader = bytes.NewReader(data)
var nfs *NFStream
var record NFRecord
nfs, err = StreamReader(reader)
if err != nil {
t.Errorf("StreamReader error:%#+v", err)
}
var x = 0
for {
if record, err = nfs.Row(); err == io.EOF {
goto Stop
} else if err != nil {
t.Errorf("nfs.Row() error:%v", err)
goto Stop
}
if x > 1 {
break
}
if fmt.Sprintf("%#v", record) != fmt.Sprintf("%#v", testData[x]) {
t.Errorf("test record:%d does not match", x)
t.Log(fmt.Sprintf("%#v", record))
t.Log(fmt.Sprintf("%#v", testData[x]))
}
x++
}
Stop:
}