diff --git a/cli/ssh_test.go b/cli/ssh_test.go index 059df85309bb3..95370a16c4855 100644 --- a/cli/ssh_test.go +++ b/cli/ssh_test.go @@ -173,17 +173,13 @@ func TestSSH(t *testing.T) { t.Parallel() client, workspace, agentToken := setupWorkspaceForSSH(t) - _, _ = tGoContext(t, func(ctx context.Context) { - // Run this async so the SSH command has to wait for - // the build and agent to connect! - agentClient := codersdk.New(client.URL) - agentClient.SessionToken = agentToken - agentCloser := agent.New(agentClient.ListenWorkspaceAgent, &agent.Options{ - Logger: slogtest.Make(t, nil).Leveled(slog.LevelDebug), - }) - <-ctx.Done() - _ = agentCloser.Close() + + agentClient := codersdk.New(client.URL) + agentClient.SessionToken = agentToken + agentCloser := agent.New(agentClient.ListenWorkspaceAgent, &agent.Options{ + Logger: slogtest.Make(t, nil).Leveled(slog.LevelDebug), }) + defer agentCloser.Close() // Generate private key. privateKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader) @@ -204,15 +200,16 @@ func TestSSH(t *testing.T) { fd, err := l.Accept() if err != nil { if !errors.Is(err, net.ErrClosed) { - t.Logf("accept error: %v", err) + assert.NoError(t, err, "listener accept failed") } return } err = gosshagent.ServeAgent(kr, fd) if !errors.Is(err, io.EOF) { - assert.NoError(t, err) + assert.NoError(t, err, "serve agent failed") } + _ = fd.Close() } }) @@ -232,7 +229,7 @@ func TestSSH(t *testing.T) { cmd.SetErr(pty.Output()) cmdDone := tGo(t, func() { err := cmd.ExecuteContext(ctx) - assert.NoError(t, err) + assert.NoError(t, err, "ssh command failed") }) // Ensure that SSH_AUTH_SOCK is set. @@ -243,7 +240,7 @@ func TestSSH(t *testing.T) { // Ensure that ssh-add lists our key. pty.WriteLine("ssh-add -L") keys, err := kr.List() - require.NoError(t, err) + require.NoError(t, err, "list keys failed") pty.ExpectMatch(keys[0].String()) // And we're done.