Skip to content

Commit 5861e51

Browse files
authored
chore: add standard test logger ignoring db canceled (#15556)
Refactors our use of `slogtest` to instantiate a "standard logger" across most of our tests. This standard logger incorporates coder/slog#217 to also ignore database query canceled errors by default, which are a source of low-severity flakes. Any test that has set non-default `slogtest.Options` is left alone. In particular, `coderdtest` defaults to ignoring all errors. We might consider revisiting that decision now that we have better tools to target the really common flaky Error logs on shutdown.
1 parent 4719d24 commit 5861e51

File tree

95 files changed

+443
-501
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+443
-501
lines changed

agent/agent_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1508,7 +1508,7 @@ func TestAgent_Lifecycle(t *testing.T) {
15081508

15091509
t.Run("ShutdownScriptOnce", func(t *testing.T) {
15101510
t.Parallel()
1511-
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
1511+
logger := testutil.Logger(t)
15121512
expected := "this-is-shutdown"
15131513
derpMap, _ := tailnettest.RunDERPAndSTUN(t)
15141514

@@ -1863,7 +1863,7 @@ func TestAgent_Dial(t *testing.T) {
18631863
func TestAgent_UpdatedDERP(t *testing.T) {
18641864
t.Parallel()
18651865

1866-
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
1866+
logger := testutil.Logger(t)
18671867

18681868
originalDerpMap, _ := tailnettest.RunDERPAndSTUN(t)
18691869
require.NotNil(t, originalDerpMap)
@@ -2019,7 +2019,7 @@ func TestAgent_Speedtest(t *testing.T) {
20192019

20202020
func TestAgent_Reconnect(t *testing.T) {
20212021
t.Parallel()
2022-
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
2022+
logger := testutil.Logger(t)
20232023
// After the agent is disconnected from a coordinator, it's supposed
20242024
// to reconnect!
20252025
coordinator := tailnet.NewCoordinator(logger)
@@ -2060,7 +2060,7 @@ func TestAgent_Reconnect(t *testing.T) {
20602060

20612061
func TestAgent_WriteVSCodeConfigs(t *testing.T) {
20622062
t.Parallel()
2063-
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
2063+
logger := testutil.Logger(t)
20642064
coordinator := tailnet.NewCoordinator(logger)
20652065
defer coordinator.Close()
20662066

agent/agentscripts/agentscripts_test.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
"github.com/stretchr/testify/require"
1515
"go.uber.org/goleak"
1616

17-
"cdr.dev/slog/sloggers/slogtest"
1817
"github.com/coder/coder/v2/agent/agentscripts"
1918
"github.com/coder/coder/v2/agent/agentssh"
2019
"github.com/coder/coder/v2/agent/agenttest"
@@ -35,7 +34,7 @@ func TestExecuteBasic(t *testing.T) {
3534
return fLogger
3635
})
3736
defer runner.Close()
38-
aAPI := agenttest.NewFakeAgentAPI(t, slogtest.Make(t, nil), nil, nil)
37+
aAPI := agenttest.NewFakeAgentAPI(t, testutil.Logger(t), nil, nil)
3938
err := runner.Init([]codersdk.WorkspaceAgentScript{{
4039
LogSourceID: uuid.New(),
4140
Script: "echo hello",
@@ -61,7 +60,7 @@ func TestEnv(t *testing.T) {
6160
cmd.exe /c echo %CODER_SCRIPT_BIN_DIR%
6261
`
6362
}
64-
aAPI := agenttest.NewFakeAgentAPI(t, slogtest.Make(t, nil), nil, nil)
63+
aAPI := agenttest.NewFakeAgentAPI(t, testutil.Logger(t), nil, nil)
6564
err := runner.Init([]codersdk.WorkspaceAgentScript{{
6665
LogSourceID: id,
6766
Script: script,
@@ -102,7 +101,7 @@ func TestTimeout(t *testing.T) {
102101
t.Parallel()
103102
runner := setup(t, nil)
104103
defer runner.Close()
105-
aAPI := agenttest.NewFakeAgentAPI(t, slogtest.Make(t, nil), nil, nil)
104+
aAPI := agenttest.NewFakeAgentAPI(t, testutil.Logger(t), nil, nil)
106105
err := runner.Init([]codersdk.WorkspaceAgentScript{{
107106
LogSourceID: uuid.New(),
108107
Script: "sleep infinity",
@@ -121,7 +120,7 @@ func TestScriptReportsTiming(t *testing.T) {
121120
return fLogger
122121
})
123122

124-
aAPI := agenttest.NewFakeAgentAPI(t, slogtest.Make(t, nil), nil, nil)
123+
aAPI := agenttest.NewFakeAgentAPI(t, testutil.Logger(t), nil, nil)
125124
err := runner.Init([]codersdk.WorkspaceAgentScript{{
126125
DisplayName: "say-hello",
127126
LogSourceID: uuid.New(),
@@ -160,7 +159,7 @@ func setup(t *testing.T, getScriptLogger func(logSourceID uuid.UUID) agentscript
160159
}
161160
}
162161
fs := afero.NewMemMapFs()
163-
logger := slogtest.Make(t, nil)
162+
logger := testutil.Logger(t)
164163
s, err := agentssh.NewServer(context.Background(), logger, prometheus.NewRegistry(), fs, nil)
165164
require.NoError(t, err)
166165
t.Cleanup(func() {

agent/agentssh/agentssh_internal_test.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ import (
1717

1818
"github.com/coder/coder/v2/pty"
1919
"github.com/coder/coder/v2/testutil"
20-
21-
"cdr.dev/slog/sloggers/slogtest"
2220
)
2321

2422
const longScript = `
@@ -36,7 +34,7 @@ func Test_sessionStart_orphan(t *testing.T) {
3634

3735
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
3836
defer cancel()
39-
logger := slogtest.Make(t, nil)
37+
logger := testutil.Logger(t)
4038
s, err := NewServer(ctx, logger, prometheus.NewRegistry(), afero.NewMemMapFs(), nil)
4139
require.NoError(t, err)
4240
defer s.Close()

agent/agentssh/agentssh_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func TestNewServer_ServeClient(t *testing.T) {
3535
t.Parallel()
3636

3737
ctx := context.Background()
38-
logger := slogtest.Make(t, nil)
38+
logger := testutil.Logger(t)
3939
s, err := agentssh.NewServer(ctx, logger, prometheus.NewRegistry(), afero.NewMemMapFs(), nil)
4040
require.NoError(t, err)
4141
defer s.Close()
@@ -76,7 +76,7 @@ func TestNewServer_ExecuteShebang(t *testing.T) {
7676
}
7777

7878
ctx := context.Background()
79-
logger := slogtest.Make(t, nil)
79+
logger := testutil.Logger(t)
8080
s, err := agentssh.NewServer(ctx, logger, prometheus.NewRegistry(), afero.NewMemMapFs(), nil)
8181
require.NoError(t, err)
8282
t.Cleanup(func() {
@@ -158,7 +158,7 @@ func TestNewServer_Signal(t *testing.T) {
158158
t.Parallel()
159159

160160
ctx := context.Background()
161-
logger := slogtest.Make(t, nil)
161+
logger := testutil.Logger(t)
162162
s, err := agentssh.NewServer(ctx, logger, prometheus.NewRegistry(), afero.NewMemMapFs(), nil)
163163
require.NoError(t, err)
164164
defer s.Close()
@@ -223,7 +223,7 @@ func TestNewServer_Signal(t *testing.T) {
223223
t.Parallel()
224224

225225
ctx := context.Background()
226-
logger := slogtest.Make(t, nil)
226+
logger := testutil.Logger(t)
227227
s, err := agentssh.NewServer(ctx, logger, prometheus.NewRegistry(), afero.NewMemMapFs(), nil)
228228
require.NoError(t, err)
229229
defer s.Close()

agent/agentssh/x11_test.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ import (
2121
"github.com/stretchr/testify/require"
2222
gossh "golang.org/x/crypto/ssh"
2323

24-
"cdr.dev/slog"
25-
"cdr.dev/slog/sloggers/slogtest"
2624
"github.com/coder/coder/v2/agent/agentssh"
2725
"github.com/coder/coder/v2/testutil"
2826
)
@@ -34,7 +32,7 @@ func TestServer_X11(t *testing.T) {
3432
}
3533

3634
ctx := context.Background()
37-
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
35+
logger := testutil.Logger(t)
3836
fs := afero.NewOsFs()
3937
s, err := agentssh.NewServer(ctx, logger, prometheus.NewRegistry(), fs, &agentssh.Config{})
4038
require.NoError(t, err)

agent/agenttest/agent.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ import (
77

88
"github.com/stretchr/testify/assert"
99

10-
"cdr.dev/slog"
11-
"cdr.dev/slog/sloggers/slogtest"
1210
"github.com/coder/coder/v2/agent"
1311
"github.com/coder/coder/v2/codersdk/agentsdk"
12+
"github.com/coder/coder/v2/testutil"
1413
)
1514

1615
// New starts a new agent for use in tests.
@@ -24,7 +23,7 @@ func New(t testing.TB, coderURL *url.URL, agentToken string, opts ...func(*agent
2423
t.Helper()
2524

2625
var o agent.Options
27-
log := slogtest.Make(t, nil).Leveled(slog.LevelDebug).Named("agent")
26+
log := testutil.Logger(t).Named("agent")
2827
o.Logger = log
2928

3029
for _, opt := range opts {

agent/apphealth_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import (
1212
"github.com/google/uuid"
1313
"github.com/stretchr/testify/require"
1414

15-
"cdr.dev/slog"
16-
"cdr.dev/slog/sloggers/slogtest"
1715
"github.com/coder/coder/v2/agent"
1816
"github.com/coder/coder/v2/agent/agenttest"
1917
"github.com/coder/coder/v2/agent/proto"
@@ -258,10 +256,10 @@ func setupAppReporter(
258256
// We use a proper fake agent API so we can test the conversion code and the
259257
// request code as well. Before we were bypassing these by using a custom
260258
// post function.
261-
fakeAAPI := agenttest.NewFakeAgentAPI(t, slogtest.Make(t, nil), nil, nil)
259+
fakeAAPI := agenttest.NewFakeAgentAPI(t, testutil.Logger(t), nil, nil)
262260

263261
go agent.NewAppHealthReporterWithClock(
264-
slogtest.Make(t, nil).Leveled(slog.LevelDebug),
262+
testutil.Logger(t),
265263
apps, agentsdk.AppHealthPoster(fakeAAPI), clk,
266264
)(ctx)
267265

agent/checkpoint_internal_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
func TestCheckpoint_CompleteWait(t *testing.T) {
1414
t.Parallel()
15-
logger := slogtest.Make(t, nil)
15+
logger := testutil.Logger(t)
1616
ctx := testutil.Context(t, testutil.WaitShort)
1717
uut := newCheckpoint(logger)
1818
err := xerrors.New("test")
@@ -35,7 +35,7 @@ func TestCheckpoint_CompleteTwice(t *testing.T) {
3535

3636
func TestCheckpoint_WaitComplete(t *testing.T) {
3737
t.Parallel()
38-
logger := slogtest.Make(t, nil)
38+
logger := testutil.Logger(t)
3939
ctx := testutil.Context(t, testutil.WaitShort)
4040
uut := newCheckpoint(logger)
4141
err := xerrors.New("test")

agent/stats_internal_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@ import (
1818

1919
"cdr.dev/slog"
2020
"cdr.dev/slog/sloggers/slogjson"
21-
"cdr.dev/slog/sloggers/slogtest"
2221
"github.com/coder/coder/v2/agent/proto"
2322
"github.com/coder/coder/v2/testutil"
2423
)
2524

2625
func TestStatsReporter(t *testing.T) {
2726
t.Parallel()
2827
ctx := testutil.Context(t, testutil.WaitShort)
29-
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
28+
logger := testutil.Logger(t)
3029
fSource := newFakeNetworkStatsSource(ctx, t)
3130
fCollector := newFakeCollector(t)
3231
fDest := newFakeStatsDest()

cli/server_internal_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ import (
1313

1414
"cdr.dev/slog"
1515
"cdr.dev/slog/sloggers/sloghuman"
16-
"cdr.dev/slog/sloggers/slogtest"
17-
1816
"github.com/coder/coder/v2/codersdk"
1917
"github.com/coder/coder/v2/testutil"
2018
"github.com/coder/serpent"
@@ -24,7 +22,7 @@ func Test_configureServerTLS(t *testing.T) {
2422
t.Parallel()
2523
t.Run("DefaultNoInsecureCiphers", func(t *testing.T) {
2624
t.Parallel()
27-
logger := slogtest.Make(t, nil)
25+
logger := testutil.Logger(t)
2826
cfg, err := configureServerTLS(context.Background(), logger, "tls12", "none", nil, nil, "", nil, false)
2927
require.NoError(t, err)
3028

@@ -251,7 +249,7 @@ func TestRedirectHTTPToHTTPSDeprecation(t *testing.T) {
251249
t.Run(tc.name, func(t *testing.T) {
252250
t.Parallel()
253251
ctx := testutil.Context(t, testutil.WaitShort)
254-
logger := slogtest.Make(t, nil)
252+
logger := testutil.Logger(t)
255253
flags := pflag.NewFlagSet("test", pflag.ContinueOnError)
256254
_ = flags.Bool("tls-redirect-http-to-https", true, "")
257255
err := flags.Parse(tc.flags)

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