MCPcopy
hub / github.com/1Panel-dev/KubePi / TestWriteFromConn

Function TestWriteFromConn

thirdparty/gotty/webtty/webtty_test.go:71–142  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

69}
70
71func TestWriteFromConn(t *testing.T) {
72 connInPipeReader, connInPipeWriter := io.Pipe() // in to conn
73 connOutPipeReader, connOutPipeWriter := io.Pipe() // out from conn
74
75 conn := pipePair{
76 connOutPipeReader,
77 connInPipeWriter,
78 }
79
80 dt, err := New(conn)
81 if err != nil {
82 t.Fatalf("Unexpected error from New(): %s", err)
83 }
84
85 ctx, cancel := context.WithCancel(context.Background())
86 var wg sync.WaitGroup
87 wg.Add(1)
88 go func() {
89 wg.Done()
90 err := dt.Run(ctx)
91 if err != nil {
92 t.Fatalf("Unexpected error from Run(): %s", err)
93 }
94 }()
95
96 var (
97 message []byte
98 n int
99 )
100 readBuf := make([]byte, 1024)
101
102 // input
103 message = []byte("0hello\n") // line buffered canonical mode
104 n, err = connOutPipeWriter.Write(message)
105 if err != nil {
106 t.Fatalf("Unexpected error from Write(): %s", err)
107 }
108 if n != len(message) {
109 t.Fatalf("Write() accepted `%d` for message `%s`", n, message)
110 }
111
112 n, err = dt.TTY().Read(readBuf)
113 if err != nil {
114 t.Fatalf("Unexpected error from Write(): %s", err)
115 }
116 if !bytes.Equal(readBuf[:n], message[1:]) {
117 t.Fatalf("Unexpected message received: `%s`", readBuf[:n])
118 }
119
120 // ping
121 message = []byte("1\n") // line buffered canonical mode
122 n, err = connOutPipeWriter.Write(message)
123 if err != nil {
124 t.Fatalf("Unexpected error from Write(): %s", err)
125 }
126 if n != len(message) {
127 t.Fatalf("Write() accepted `%d` for message `%s`", n, message)
128 }

Callers

nothing calls this directly

Calls 5

NewFunction · 0.70
AddMethod · 0.65
RunMethod · 0.45
WriteMethod · 0.45
ReadMethod · 0.45

Tested by

no test coverage detected