Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit59b04c1

Browse files
authored
fix: coderdtest: increase ForceCancelInterval (#3085)
Two coderd unit tests (TestPatchCancelTemplateVersion/Success and TestPatchCancelWorkspaceBuild) implied erroneously that the job was canceled successfully.This is not the case, as these unit tests do not include a Provision_Complete response in the input to theecho provisioner. Now explicitly checking the job error and bumping the force cancel interval to be longer.Fixes#3083.
1 parente019058 commit59b04c1

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

‎coderd/coderdtest/coderdtest.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ func NewProvisionerDaemon(t *testing.T, coderAPI *coderd.API) io.Closer {
230230
Logger:slogtest.Make(t,nil).Named("provisionerd").Leveled(slog.LevelDebug),
231231
PollInterval:10*time.Millisecond,
232232
UpdateInterval:25*time.Millisecond,
233-
ForceCancelInterval:25*time.Millisecond,
233+
ForceCancelInterval:time.Second,
234234
Provisioners: provisionerd.Provisioners{
235235
string(database.ProvisionerTypeEcho):proto.NewDRPCProvisionerClient(provisionersdk.Conn(echoClient)),
236236
},

‎coderd/templateversions_test.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,9 @@ func TestPatchCancelTemplateVersion(t *testing.T) {
126126
require.ErrorAs(t,err,&apiErr)
127127
require.Equal(t,http.StatusPreconditionFailed,apiErr.StatusCode())
128128
})
129-
t.Run("Success",func(t*testing.T) {
129+
// TODO(Cian): until we are able to test cancellation properly, validating
130+
// Running -> Canceling is the best we can do for now.
131+
t.Run("Canceling",func(t*testing.T) {
130132
t.Parallel()
131133
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerD:true})
132134
user:=coderdtest.CreateFirstUser(t,client)
@@ -150,8 +152,11 @@ func TestPatchCancelTemplateVersion(t *testing.T) {
150152
require.Eventually(t,func()bool {
151153
varerrerror
152154
version,err=client.TemplateVersion(context.Background(),version.ID)
153-
require.NoError(t,err)
154-
returnversion.Job.Status==codersdk.ProvisionerJobCanceled
155+
returnassert.NoError(t,err)&&
156+
// The job will never actually cancel successfully because it will never send a
157+
// provision complete response.
158+
assert.Empty(t,version.Job.Error)&&
159+
version.Job.Status==codersdk.ProvisionerJobCanceling
155160
},5*time.Second,25*time.Millisecond)
156161
})
157162
}

‎coderd/workspacebuilds_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"time"
1010

1111
"github.com/google/uuid"
12+
"github.com/stretchr/testify/assert"
1213
"github.com/stretchr/testify/require"
1314

1415
"github.com/coder/coder/coderd/coderdtest"
@@ -228,8 +229,11 @@ func TestPatchCancelWorkspaceBuild(t *testing.T) {
228229
require.Eventually(t,func()bool {
229230
varerrerror
230231
build,err=client.WorkspaceBuild(context.Background(),build.ID)
231-
require.NoError(t,err)
232-
returnbuild.Job.Status==codersdk.ProvisionerJobCanceled
232+
returnassert.NoError(t,err)&&
233+
// The job will never actually cancel successfully because it will never send a
234+
// provision complete response.
235+
assert.Empty(t,build.Job.Error)&&
236+
build.Job.Status==codersdk.ProvisionerJobCanceling
233237
},5*time.Second,25*time.Millisecond)
234238
}
235239

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp