Skip to content

Commit ac74c65

Browse files
authored
test(cli): fix data race in TestCreateWithRichParameters (coder#17128)
Shared echo provisioner responses were being mutated simultaneously, this change fixes it.
1 parent a9574fb commit ac74c65

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

cli/create_test.go

+14-13
Original file line numberDiff line numberDiff line change
@@ -332,20 +332,21 @@ func TestCreateWithRichParameters(t *testing.T) {
332332
immutableParameterValue = "4"
333333
)
334334

335-
echoResponses := prepareEchoResponses([]*proto.RichParameter{
336-
{Name: firstParameterName, Description: firstParameterDescription, Mutable: true},
337-
{Name: secondParameterName, DisplayName: secondParameterDisplayName, Description: secondParameterDescription, Mutable: true},
338-
{Name: immutableParameterName, Description: immutableParameterDescription, Mutable: false},
339-
},
340-
)
335+
echoResponses := func() *echo.Responses {
336+
return prepareEchoResponses([]*proto.RichParameter{
337+
{Name: firstParameterName, Description: firstParameterDescription, Mutable: true},
338+
{Name: secondParameterName, DisplayName: secondParameterDisplayName, Description: secondParameterDescription, Mutable: true},
339+
{Name: immutableParameterName, Description: immutableParameterDescription, Mutable: false},
340+
})
341+
}
341342

342343
t.Run("InputParameters", func(t *testing.T) {
343344
t.Parallel()
344345

345346
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
346347
owner := coderdtest.CreateFirstUser(t, client)
347348
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
348-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
349+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
349350
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
350351

351352
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -385,7 +386,7 @@ func TestCreateWithRichParameters(t *testing.T) {
385386
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
386387
owner := coderdtest.CreateFirstUser(t, client)
387388
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
388-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
389+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
389390
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
390391

391392
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -447,7 +448,7 @@ func TestCreateWithRichParameters(t *testing.T) {
447448
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
448449
owner := coderdtest.CreateFirstUser(t, client)
449450
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
450-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
451+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
451452
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
452453

453454
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -488,7 +489,7 @@ func TestCreateWithRichParameters(t *testing.T) {
488489
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
489490
owner := coderdtest.CreateFirstUser(t, client)
490491
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
491-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
492+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
492493
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
493494

494495
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -524,7 +525,7 @@ func TestCreateWithRichParameters(t *testing.T) {
524525
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
525526
owner := coderdtest.CreateFirstUser(t, client)
526527
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
527-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
528+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
528529
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
529530

530531
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -549,7 +550,7 @@ func TestCreateWithRichParameters(t *testing.T) {
549550
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
550551
owner := coderdtest.CreateFirstUser(t, client)
551552
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
552-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
553+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
553554
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
554555

555556
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -603,7 +604,7 @@ func TestCreateWithRichParameters(t *testing.T) {
603604
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
604605
owner := coderdtest.CreateFirstUser(t, client)
605606
member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
606-
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses)
607+
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
607608
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
608609

609610
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)

0 commit comments

Comments
 (0)