12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package yamux
- import (
- "io"
- "testing"
- )
- type pipeConn struct {
- reader *io.PipeReader
- writer *io.PipeWriter
- }
- func (p *pipeConn) Read(b []byte) (int, error) {
- return p.reader.Read(b)
- }
- func (p *pipeConn) Write(b []byte) (int, error) {
- return p.writer.Write(b)
- }
- func (p *pipeConn) Close() error {
- p.reader.Close()
- return p.writer.Close()
- }
- func testConn() (io.ReadWriteCloser, io.ReadWriteCloser) {
- read1, write1 := io.Pipe()
- read2, write2 := io.Pipe()
- return &pipeConn{read1, write2}, &pipeConn{read2, write1}
- }
- func TestPing(t *testing.T) {
- conn1, conn2 := testConn()
- client := Client(conn1, nil)
- defer client.Close()
- server := Server(conn2, nil)
- defer server.Close()
- rtt, err := client.Ping()
- if err != nil {
- t.Fatalf("err: %v", err)
- }
- if rtt == 0 {
- t.Fatalf("bad: %v", rtt)
- }
- rtt, err = server.Ping()
- if err != nil {
- t.Fatalf("err: %v", err)
- }
- if rtt == 0 {
- t.Fatalf("bad: %v", rtt)
- }
- }
|