Skip to content

Commit e24db7f

Browse files
committed
fix: ctx.Done
1 parent f86005a commit e24db7f

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

coderd/workspacebuilds_test.go

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1200,7 +1200,7 @@ func TestWorkspaceBuildDebugMode(t *testing.T) {
12001200
templateAdminClient, _ := coderdtest.CreateAnotherUser(t, adminClient, admin.OrganizationID, rbac.RoleTemplateAdmin())
12011201

12021202
// Interact as template admin
1203-
version := coderdtest.CreateTemplateVersion(t, templateAdminClient, admin.OrganizationID, &echo.Responses{
1203+
echoResponses := &echo.Responses{
12041204
Parse: echo.ParseComplete,
12051205
ProvisionPlan: echo.ProvisionComplete,
12061206
ProvisionApply: []*proto.Provision_Response{{
@@ -1229,7 +1229,8 @@ func TestWorkspaceBuildDebugMode(t *testing.T) {
12291229
Complete: &proto.Provision_Complete{},
12301230
},
12311231
}},
1232-
})
1232+
}
1233+
version := coderdtest.CreateTemplateVersion(t, templateAdminClient, admin.OrganizationID, echoResponses)
12331234
template := coderdtest.CreateTemplate(t, templateAdminClient, admin.OrganizationID, version.ID)
12341235
coderdtest.AwaitTemplateVersionJob(t, templateAdminClient, version.ID)
12351236

@@ -1256,19 +1257,30 @@ func TestWorkspaceBuildDebugMode(t *testing.T) {
12561257
require.NoError(t, err)
12571258
defer closer.Close()
12581259

1260+
var logsProcessed int
12591261
for {
1260-
log, ok := <-logs
1261-
if !ok {
1262-
break
1263-
}
1262+
select {
1263+
case <-ctx.Done():
1264+
require.Fail(t, "timeout occurred while processing logs")
1265+
return
1266+
case log, ok := <-logs:
1267+
if !ok {
1268+
goto done
1269+
}
12641270

1265-
if log.Output == "dont-want-it" {
1266-
require.Failf(t, "unexpected log message", "%s log message shouldn't be logged: %s", log.Level, log.Output)
1267-
}
1271+
logsProcessed++
12681272

1269-
if log.Output == "done" {
1270-
return
1273+
if log.Output == "dont-want-it" {
1274+
require.Failf(t, "unexpected log message", "%s log message shouldn't be logged: %s", log.Level, log.Output)
1275+
}
1276+
1277+
if log.Output == "done" {
1278+
goto done
1279+
}
12711280
}
12721281
}
1282+
1283+
done:
1284+
require.Equal(t, len(echoResponses.ProvisionApply), logsProcessed)
12731285
})
12741286
}

0 commit comments

Comments
 (0)