Thanks to visit codestin.com
Credit goes to github.com

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)