1234567891011121314151617181920212223242526272829303132333435363738 |
- package udpcollect
- import (
- "bytes"
- "net"
- "testing"
- "time"
- )
- func TestUDPCollect(t *testing.T) {
- count := 0
- data := []byte("hello world")
- collect, err := New("unixgram:///tmp/test.sock", 2, func(p []byte) error {
- count++
- if !bytes.Equal(p, data) {
- t.Errorf("invalid p: %s", p)
- }
- return nil
- })
- if err != nil {
- t.Fatal(err)
- }
- if err := collect.Start(); err != nil {
- t.Fatal(err)
- }
- conn, err := net.DialTimeout("unixgram", "/tmp/test.sock", time.Second)
- if err != nil {
- t.Fatal(err)
- }
- for i := 0; i < 20; i++ {
- conn.Write(data)
- }
- time.Sleep(time.Second)
- collect.Close()
- if count != 20 {
- t.Errorf("wrong get %d != 20", count)
- }
- }
|