Skip to content

Commit ac74c65

Browse files
authored
test(cli): fix data race in TestCreateWithRichParameters (#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

Lines changed: 14 additions & 13 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy