...

Source file src/github.com/docker/go-connections/sockets/inmem_socket_test.go

Documentation: github.com/docker/go-connections/sockets

     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