Skip to content

Commit 6fab6a2

Browse files
committed
Fix logger failing when getting expected failure
1 parent 7ec20e0 commit 6fab6a2

File tree

5 files changed

+17
-10
lines changed

5 files changed

+17
-10
lines changed

coderd/coderdtest/coderdtest.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ type Options struct {
134134
ConfigSSH codersdk.SSHConfigResponse
135135

136136
SwaggerEndpoint bool
137+
138+
// LoggerIgnoreErrors causes the test logger to not fatal the test on Fatal
139+
// and not error the test on Error or Critical.
140+
LoggerIgnoreErrors bool
137141
}
138142

139143
// New constructs a codersdk client connected to an in-memory API instance.
@@ -375,7 +379,7 @@ func NewWithAPI(t testing.TB, options *Options) (*codersdk.Client, io.Closer, *c
375379
setHandler(coderAPI.RootHandler)
376380
var provisionerCloser io.Closer = nopcloser{}
377381
if options.IncludeProvisionerDaemon {
378-
provisionerCloser = NewProvisionerDaemon(t, coderAPI)
382+
provisionerCloser = NewProvisionerDaemon(t, coderAPI, options.LoggerIgnoreErrors)
379383
}
380384
client := codersdk.New(serverURL)
381385
t.Cleanup(func() {
@@ -390,7 +394,7 @@ func NewWithAPI(t testing.TB, options *Options) (*codersdk.Client, io.Closer, *c
390394
// NewProvisionerDaemon launches a provisionerd instance configured to work
391395
// well with coderd testing. It registers the "echo" provisioner for
392396
// quick testing.
393-
func NewProvisionerDaemon(t testing.TB, coderAPI *coderd.API) io.Closer {
397+
func NewProvisionerDaemon(t testing.TB, coderAPI *coderd.API, loggerIgnoreErrors bool) io.Closer {
394398
echoClient, echoServer := provisionersdk.MemTransportPipe()
395399
ctx, cancelFunc := context.WithCancel(context.Background())
396400
t.Cleanup(func() {
@@ -410,7 +414,7 @@ func NewProvisionerDaemon(t testing.TB, coderAPI *coderd.API) io.Closer {
410414
return coderAPI.CreateInMemoryProvisionerDaemon(ctx, 0)
411415
}, &provisionerd.Options{
412416
Filesystem: fs,
413-
Logger: slogtest.Make(t, nil).Named("provisionerd").Leveled(slog.LevelDebug),
417+
Logger: slogtest.Make(t, &slogtest.Options{IgnoreErrors: loggerIgnoreErrors}).Named("provisionerd").Leveled(slog.LevelDebug),
414418
JobPollInterval: 50 * time.Millisecond,
415419
UpdateInterval: 250 * time.Millisecond,
416420
ForceCancelInterval: time.Second,

coderd/workspacebuilds_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ func TestWorkspaceBuildStatus(t *testing.T) {
593593
// initial returned state is "pending"
594594
require.EqualValues(t, codersdk.WorkspaceStatusPending, workspace.LatestBuild.Status)
595595

596-
closeDaemon = coderdtest.NewProvisionerDaemon(t, api)
596+
closeDaemon = coderdtest.NewProvisionerDaemon(t, api, false)
597597
// after successful build is "running"
598598
_ = coderdtest.AwaitWorkspaceBuildJob(t, client, workspace.LatestBuild.ID)
599599

@@ -628,7 +628,7 @@ func TestWorkspaceBuildStatus(t *testing.T) {
628628
require.NoError(t, err)
629629
require.EqualValues(t, codersdk.WorkspaceStatusCanceled, workspace.LatestBuild.Status)
630630

631-
_ = coderdtest.NewProvisionerDaemon(t, api)
631+
_ = coderdtest.NewProvisionerDaemon(t, api, false)
632632
// after successful delete is "deleted"
633633
build = coderdtest.CreateWorkspaceBuild(t, client, workspace, database.WorkspaceTransitionDelete)
634634
_ = coderdtest.AwaitWorkspaceBuildJob(t, client, build.ID)

coderd/workspaces_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1636,7 +1636,10 @@ func TestWorkspaceExtend(t *testing.T) {
16361636

16371637
func TestWorkspaceWatcher(t *testing.T) {
16381638
t.Parallel()
1639-
client, closeFunc := coderdtest.NewWithProvisionerCloser(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
1639+
client, closeFunc := coderdtest.NewWithProvisionerCloser(t, &coderdtest.Options{
1640+
IncludeProvisionerDaemon: true,
1641+
LoggerIgnoreErrors: true,
1642+
})
16401643
defer closeFunc.Close()
16411644
user := coderdtest.CreateFirstUser(t, client)
16421645
authToken := uuid.NewString()

enterprise/coderd/coderdenttest/coderdenttest.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func NewWithAPI(t *testing.T, options *Options) (*codersdk.Client, io.Closer, *c
8181
setHandler(coderAPI.AGPL.RootHandler)
8282
var provisionerCloser io.Closer = nopcloser{}
8383
if options.IncludeProvisionerDaemon {
84-
provisionerCloser = coderdtest.NewProvisionerDaemon(t, coderAPI.AGPL)
84+
provisionerCloser = coderdtest.NewProvisionerDaemon(t, coderAPI.AGPL, options.LoggerIgnoreErrors)
8585
}
8686

8787
t.Cleanup(func() {

enterprise/coderd/workspacequota_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ func TestWorkspaceQuota(t *testing.T) {
4242
client, _, api := coderdenttest.NewWithAPI(t, &coderdenttest.Options{
4343
UserWorkspaceQuota: max,
4444
})
45-
coderdtest.NewProvisionerDaemon(t, api.AGPL)
46-
coderdtest.NewProvisionerDaemon(t, api.AGPL)
47-
coderdtest.NewProvisionerDaemon(t, api.AGPL)
45+
coderdtest.NewProvisionerDaemon(t, api.AGPL, false)
46+
coderdtest.NewProvisionerDaemon(t, api.AGPL, false)
47+
coderdtest.NewProvisionerDaemon(t, api.AGPL, false)
4848

4949
user := coderdtest.CreateFirstUser(t, client)
5050
coderdenttest.AddLicense(t, client, coderdenttest.LicenseOptions{

0 commit comments

Comments
 (0)