Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8d7954b

Browse files
authored
fix: ignore context canceled error on server (#4128)
1 parent 67230ba commit 8d7954b

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

cli/resetpassword_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func TestResetPassword(t *testing.T) {
4747
go func() {
4848
defer close(serverDone)
4949
err = serverCmd.ExecuteContext(ctx)
50-
assert.ErrorIs(t, err, context.Canceled)
50+
assert.NoError(t, err)
5151
}()
5252
var rawURL string
5353
require.Eventually(t, func() bool {

cli/server.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,9 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error))
690690
// Trigger context cancellation for any remaining services.
691691
cancel()
692692

693+
if xerrors.Is(exitErr, context.Canceled) {
694+
return nil
695+
}
693696
return exitErr
694697
},
695698
}

cli/server_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func TestServer(t *testing.T) {
7373
})
7474
require.NoError(t, err)
7575
cancelFunc()
76-
require.ErrorIs(t, <-errC, context.Canceled)
76+
require.NoError(t, <-errC)
7777
})
7878
t.Run("BuiltinPostgres", func(t *testing.T) {
7979
t.Parallel()
@@ -101,7 +101,7 @@ func TestServer(t *testing.T) {
101101
return err == nil && rawURL != ""
102102
}, 3*time.Minute, testutil.IntervalFast, "failed to get access URL")
103103
cancelFunc()
104-
require.ErrorIs(t, <-errC, context.Canceled)
104+
require.NoError(t, <-errC)
105105
})
106106
t.Run("BuiltinPostgresURL", func(t *testing.T) {
107107
t.Parallel()
@@ -144,7 +144,7 @@ func TestServer(t *testing.T) {
144144
pty.ExpectMatch("View the Web UI: http://localhost:3000/")
145145

146146
cancelFunc()
147-
require.ErrorIs(t, <-errC, context.Canceled)
147+
require.NoError(t, <-errC)
148148
})
149149

150150
// Validate that an https scheme is prepended to a remote access URL
@@ -176,7 +176,7 @@ func TestServer(t *testing.T) {
176176
pty.ExpectMatch("View the Web UI: https://foobarbaz.mydomain")
177177

178178
cancelFunc()
179-
require.ErrorIs(t, <-errC, context.Canceled)
179+
require.NoError(t, <-errC)
180180
})
181181

182182
t.Run("NoWarningWithRemoteAccessURL", func(t *testing.T) {
@@ -205,7 +205,7 @@ func TestServer(t *testing.T) {
205205
pty.ExpectMatch("View the Web UI: https://google.com")
206206

207207
cancelFunc()
208-
require.ErrorIs(t, <-errC, context.Canceled)
208+
require.NoError(t, <-errC)
209209
})
210210

211211
t.Run("TLSBadVersion", func(t *testing.T) {
@@ -291,7 +291,7 @@ func TestServer(t *testing.T) {
291291
require.NoError(t, err)
292292

293293
cancelFunc()
294-
require.ErrorIs(t, <-errC, context.Canceled)
294+
require.NoError(t, <-errC)
295295
})
296296
// This cannot be ran in parallel because it uses a signal.
297297
//nolint:paralleltest
@@ -322,7 +322,7 @@ func TestServer(t *testing.T) {
322322
// We cannot send more signals here, because it's possible Coder
323323
// has already exited, which could cause the test to fail due to interrupt.
324324
err = <-serverErr
325-
require.ErrorIs(t, err, context.Canceled)
325+
require.NoError(t, err)
326326
})
327327
t.Run("TracerNoLeak", func(t *testing.T) {
328328
t.Parallel()
@@ -341,7 +341,7 @@ func TestServer(t *testing.T) {
341341
errC <- root.ExecuteContext(ctx)
342342
}()
343343
cancelFunc()
344-
require.ErrorIs(t, <-errC, context.Canceled)
344+
require.NoError(t, <-errC)
345345
require.Error(t, goleak.Find())
346346
})
347347
t.Run("Telemetry", func(t *testing.T) {

0 commit comments

Comments
 (0)