Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/backend/buffer.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,10 +277,10 @@ func (c *CircularBuffer) removeWatcherWithLock(watcher *BufferWatcher) {
c.Warningf("Internal logic error: %v.", trace.DebugReport(trace.BadParameter("empty watcher")))
return
}
c.Debugf("Removing watcher %p via external close.", watcher)
c.Debugf("Removing watcher %v (%p) via external close.", watcher.Name, watcher)
found := c.watchers.rm(watcher)
if !found {
c.Debugf("Could not find watcher %v.", watcher)
c.Debugf("Could not find watcher %v.", watcher.Name)
}
}

Expand Down
23 changes: 18 additions & 5 deletions lib/web/apiserver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1642,7 +1642,13 @@ func TestResizeTerminal(t *testing.T) {
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, ws1.Close()) })

// Create a new user "bar", open a terminal to the session created above
// Wait for session to have started
require.Eventually(t, func() bool {
_, err := s.server.Auth().GetSessionTracker(context.Background(), sess.ID.String())
return err == nil
}, 3*time.Second, 200*time.Millisecond, "session not available")

// Create a new user "bar" and join the session created above
pack2 := s.authPack(t, "bar")
ws2, sess2, err := s.makeTerminal(t, pack2, withSessionID(sess.ID), withParticipantMode(types.SessionPeerMode))
require.NoError(t, err)
Expand Down Expand Up @@ -1688,7 +1694,7 @@ t1ready:
select {
case e := <-ws2Messages:
if isResizeEventEnvelope(e) {
require.FailNow(t, "terminal 2 should not have received a resize event")
require.FailNow(t, "terminal 2 should not have received a resize event: %v", e)
}
case err := <-errs:
require.NoError(t, err)
Expand Down Expand Up @@ -1927,9 +1933,9 @@ func TestTerminalNameResolution(t *testing.T) {
t.Cleanup(cancel)

// Wait for the node to be registered as the registration is asynchronous.
require.Eventuallyf(t, func() bool {
require.Eventually(t, func() bool {
nodes, err := s.proxyClient.GetNodes(ctx, "default")
require.NoError(t, err)
assert.NoError(t, err)

return len(nodes) == 2 // one created by default and llama
}, 5*time.Second, 200*time.Millisecond, "failed to register node")
Expand Down Expand Up @@ -7242,7 +7248,14 @@ func (s *WebSuite) makeTerminal(t *testing.T, pack *authPack, opts ...terminalOp

ws, resp, err := dialer.Dial(u.String(), header)
if err != nil {
return nil, nil, trace.Wrap(err)
var sb strings.Builder
sb.WriteString("websocket dial")
if resp != nil {
fmt.Fprintf(&sb, "; status code %v;", resp.StatusCode)
fmt.Fprintf(&sb, "headers: %v; body: ", resp.Header)
io.Copy(&sb, resp.Body)
}
return nil, nil, trace.Wrap(err, sb.String())
}

ty, raw, err := ws.ReadMessage()
Expand Down