...
1 package sockets
2
3 import "testing"
4
5 func TestInmemSocket(t *testing.T) {
6 l := NewInmemSocket("test", 0)
7 defer l.Close()
8 go func() {
9 for {
10 conn, err := l.Accept()
11 if err != nil {
12 return
13 }
14 _, _ = conn.Write([]byte("hello"))
15 _ = conn.Close()
16 }
17 }()
18
19 conn, err := l.Dial("test", "test")
20 if err != nil {
21 t.Fatal(err)
22 }
23
24 buf := make([]byte, 5)
25 _, err = conn.Read(buf)
26 if err != nil {
27 t.Fatal(err)
28 }
29
30 if string(buf) != "hello" {
31 t.Fatalf("expected `hello`, got %s", string(buf))
32 }
33
34 _ = l.Close()
35 _, err = l.Dial("test", "test")
36 if err != errClosed {
37 t.Fatalf("expected `errClosed` error, got %v", err)
38 }
39 }
40
View as plain text