Skip to content

Commit 05130db

Browse files
authored
fix: Improve closing of services in agent tests (#5355)
1 parent 92c5e97 commit 05130db

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

agent/agent_test.go

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ func TestAgent(t *testing.T) {
153153
err := session.RequestPty("xterm", 128, 128, ssh.TerminalModes{})
154154
require.NoError(t, err)
155155
ptty := ptytest.New(t)
156-
require.NoError(t, err)
157156
session.Stdout = ptty.Output()
158157
session.Stderr = ptty.Output()
159158
session.Stdin = ptty.Input()
@@ -178,7 +177,6 @@ func TestAgent(t *testing.T) {
178177
err := session.RequestPty("xterm", 128, 128, ssh.TerminalModes{})
179178
require.NoError(t, err)
180179
ptty := ptytest.New(t)
181-
require.NoError(t, err)
182180
session.Stdout = ptty.Output()
183181
session.Stderr = ptty.Output()
184182
session.Stdin = ptty.Input()
@@ -280,8 +278,8 @@ func TestAgent(t *testing.T) {
280278
require.NotContains(t, stdout.String(), wantNotMOTD, "should not show motd")
281279
})
282280

281+
//nolint:paralleltest // This test reserves a port.
283282
t.Run("LocalForwarding", func(t *testing.T) {
284-
t.Parallel()
285283
random, err := net.Listen("tcp", "127.0.0.1:0")
286284
require.NoError(t, err)
287285
_ = random.Close()
@@ -330,6 +328,7 @@ func TestAgent(t *testing.T) {
330328
defer sshClient.Close()
331329
client, err := sftp.NewClient(sshClient)
332330
require.NoError(t, err)
331+
defer client.Close()
333332
wd, err := client.Getwd()
334333
require.NoError(t, err, "get working directory")
335334
require.Equal(t, home, wd, "working directory should be home user home")
@@ -360,6 +359,7 @@ func TestAgent(t *testing.T) {
360359
defer sshClient.Close()
361360
scpClient, err := scp.NewClientBySSH(sshClient)
362361
require.NoError(t, err)
362+
defer scpClient.Close()
363363
tempFile := filepath.Join(t.TempDir(), "scp")
364364
content := "hello world"
365365
err = scpClient.CopyFile(context.Background(), strings.NewReader(content), tempFile, "0755")
@@ -501,6 +501,8 @@ func TestAgent(t *testing.T) {
501501
id := uuid.New()
502502
netConn, err := conn.ReconnectingPTY(ctx, id, 100, 100, "/bin/bash")
503503
require.NoError(t, err)
504+
defer netConn.Close()
505+
504506
bufRead := bufio.NewReader(netConn)
505507

506508
// Brief pause to reduce the likelihood that we send keystrokes while
@@ -539,6 +541,8 @@ func TestAgent(t *testing.T) {
539541
_ = netConn.Close()
540542
netConn, err = conn.ReconnectingPTY(ctx, id, 100, 100, "/bin/bash")
541543
require.NoError(t, err)
544+
defer netConn.Close()
545+
542546
bufRead = bufio.NewReader(netConn)
543547

544548
// Same output again!
@@ -629,6 +633,8 @@ func TestAgent(t *testing.T) {
629633
// After the agent is disconnected from a coordinator, it's supposed
630634
// to reconnect!
631635
coordinator := tailnet.NewCoordinator()
636+
defer coordinator.Close()
637+
632638
agentID := uuid.New()
633639
statsCh := make(chan *codersdk.AgentStats)
634640
derpMap := tailnettest.RunDERPAndSTUN(t)
@@ -650,9 +656,7 @@ func TestAgent(t *testing.T) {
650656
Client: client,
651657
Logger: slogtest.Make(t, nil).Leveled(slog.LevelInfo),
652658
})
653-
t.Cleanup(func() {
654-
_ = closer.Close()
655-
})
659+
defer closer.Close()
656660

657661
require.Eventually(t, func() bool {
658662
return coordinator.Node(agentID) != nil
@@ -665,6 +669,10 @@ func TestAgent(t *testing.T) {
665669

666670
t.Run("WriteVSCodeConfigs", func(t *testing.T) {
667671
t.Parallel()
672+
673+
coordinator := tailnet.NewCoordinator()
674+
defer coordinator.Close()
675+
668676
client := &client{
669677
t: t,
670678
agentID: uuid.New(),
@@ -673,7 +681,7 @@ func TestAgent(t *testing.T) {
673681
DERPMap: &tailcfg.DERPMap{},
674682
},
675683
statsChan: make(chan *codersdk.AgentStats),
676-
coordinator: tailnet.NewCoordinator(),
684+
coordinator: coordinator,
677685
}
678686
filesystem := afero.NewMemMapFs()
679687
closer := agent.New(agent.Options{
@@ -684,9 +692,8 @@ func TestAgent(t *testing.T) {
684692
Logger: slogtest.Make(t, nil).Leveled(slog.LevelInfo),
685693
Filesystem: filesystem,
686694
})
687-
t.Cleanup(func() {
688-
_ = closer.Close()
689-
})
695+
defer closer.Close()
696+
690697
home, err := os.UserHomeDir()
691698
require.NoError(t, err)
692699
path := filepath.Join(home, ".vscode-server", "data", "Machine", "settings.json")
@@ -749,6 +756,9 @@ func setupSSHSession(t *testing.T, options codersdk.WorkspaceAgentMetadata) *ssh
749756
})
750757
session, err := sshClient.NewSession()
751758
require.NoError(t, err)
759+
t.Cleanup(func() {
760+
_ = session.Close()
761+
})
752762
return session
753763
}
754764

@@ -767,6 +777,9 @@ func setupAgent(t *testing.T, metadata codersdk.WorkspaceAgentMetadata, ptyTimeo
767777
metadata.DERPMap = tailnettest.RunDERPAndSTUN(t)
768778
}
769779
coordinator := tailnet.NewCoordinator()
780+
t.Cleanup(func() {
781+
_ = coordinator.Close()
782+
})
770783
agentID := uuid.New()
771784
statsCh := make(chan *codersdk.AgentStats, 50)
772785
fs := afero.NewMemMapFs()

0 commit comments

Comments
 (0)