MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / TestSequenceNumbering

Function TestSequenceNumbering

pkg/jobmanager/streammanager_test.go:224–261  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

222}
223
224func TestSequenceNumbering(t *testing.T) {
225 tw := &testWriter{}
226 sm := MakeStreamManager()
227
228 reader := strings.NewReader("abcdefghij")
229 err := sm.AttachReader(reader)
230 if err != nil {
231 t.Fatalf("AttachReader failed: %v", err)
232 }
233
234 _, err = sm.ClientConnected("1", tw, CwndSize, 0)
235 if err != nil {
236 t.Fatalf("ClientConnected failed: %v", err)
237 }
238
239 time.Sleep(100 * time.Millisecond)
240
241 packets := tw.GetPackets()
242 if len(packets) == 0 {
243 t.Fatal("Expected packets")
244 }
245
246 expectedSeq := int64(0)
247 for _, pkt := range packets {
248 if pkt.Data64 == "" {
249 continue
250 }
251
252 if pkt.Seq != expectedSeq {
253 t.Errorf("Expected seq %d, got %d", expectedSeq, pkt.Seq)
254 }
255
256 decoded, _ := base64.StdEncoding.DecodeString(pkt.Data64)
257 expectedSeq += int64(len(decoded))
258 }
259
260 sm.Close()
261}
262
263func TestTerminalEventOrdering(t *testing.T) {
264 tw := &testWriter{}

Callers

nothing calls this directly

Calls 5

GetPacketsMethod · 0.95
MakeStreamManagerFunction · 0.85
AttachReaderMethod · 0.80
ClientConnectedMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected