Skip to content

Commit 66f5d39

Browse files
authored
test(agent): Improve use of inv.Context() (#7696)
This will ensure tests timeout instead of hang indefinitely since `inv.Context()` is assigned a timeout by default.
1 parent 05efd64 commit 66f5d39

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

cli/agent_test.go

+11-10
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ func TestWorkspaceAgent(t *testing.T) {
5353
pty := ptytest.New(t).Attach(inv)
5454

5555
clitest.Start(t, inv)
56-
pty.ExpectMatch("starting agent")
56+
ctx := inv.Context()
57+
pty.ExpectMatchContext(ctx, "starting agent")
5758

5859
coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID)
5960

@@ -99,8 +100,7 @@ func TestWorkspaceAgent(t *testing.T) {
99100
//nolint:revive,staticcheck
100101
context.WithValue(inv.Context(), "azure-client", metadataClient),
101102
)
102-
ctx, cancelFunc := context.WithCancel(context.Background())
103-
defer cancelFunc()
103+
ctx := inv.Context()
104104
clitest.Start(t, inv)
105105
coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID)
106106
workspace, err := client.Workspace(ctx, workspace.ID)
@@ -112,7 +112,7 @@ func TestWorkspaceAgent(t *testing.T) {
112112
dialer, err := client.DialWorkspaceAgent(ctx, resources[0].Agents[0].ID, nil)
113113
require.NoError(t, err)
114114
defer dialer.Close()
115-
require.True(t, dialer.AwaitReachable(context.Background()))
115+
require.True(t, dialer.AwaitReachable(ctx))
116116
})
117117

118118
t.Run("AWS", func(t *testing.T) {
@@ -153,17 +153,18 @@ func TestWorkspaceAgent(t *testing.T) {
153153
context.WithValue(inv.Context(), "aws-client", metadataClient),
154154
)
155155
clitest.Start(t, inv)
156+
ctx := inv.Context()
156157
coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID)
157-
workspace, err := client.Workspace(inv.Context(), workspace.ID)
158+
workspace, err := client.Workspace(ctx, workspace.ID)
158159
require.NoError(t, err)
159160
resources := workspace.LatestBuild.Resources
160161
if assert.NotEmpty(t, resources) && assert.NotEmpty(t, resources[0].Agents) {
161162
assert.NotEmpty(t, resources[0].Agents[0].Version)
162163
}
163-
dialer, err := client.DialWorkspaceAgent(inv.Context(), resources[0].Agents[0].ID, nil)
164+
dialer, err := client.DialWorkspaceAgent(ctx, resources[0].Agents[0].ID, nil)
164165
require.NoError(t, err)
165166
defer dialer.Close()
166-
require.True(t, dialer.AwaitReachable(context.Background()))
167+
require.True(t, dialer.AwaitReachable(ctx))
167168
})
168169

169170
t.Run("GoogleCloud", func(t *testing.T) {
@@ -204,7 +205,7 @@ func TestWorkspaceAgent(t *testing.T) {
204205
clitest.Start(t,
205206
inv.WithContext(
206207
//nolint:revive,staticcheck
207-
context.WithValue(context.Background(), "gcp-client", metadataClient),
208+
context.WithValue(inv.Context(), "gcp-client", metadataClient),
208209
),
209210
)
210211

@@ -220,7 +221,7 @@ func TestWorkspaceAgent(t *testing.T) {
220221
dialer, err := client.DialWorkspaceAgent(ctx, resources[0].Agents[0].ID, nil)
221222
require.NoError(t, err)
222223
defer dialer.Close()
223-
require.True(t, dialer.AwaitReachable(context.Background()))
224+
require.True(t, dialer.AwaitReachable(ctx))
224225
sshClient, err := dialer.SSHClient(ctx)
225226
require.NoError(t, err)
226227
defer sshClient.Close()
@@ -269,7 +270,7 @@ func TestWorkspaceAgent(t *testing.T) {
269270
pty := ptytest.New(t).Attach(inv)
270271

271272
clitest.Start(t, inv)
272-
pty.ExpectMatch("starting agent")
273+
pty.ExpectMatchContext(inv.Context(), "starting agent")
273274

274275
resources := coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID)
275276
require.Len(t, resources, 1)

0 commit comments

Comments
 (0)