test: use typed atomics in test files (#25071)

Use typed atomics (atomic.Int64, atomic.Int32, etc.) in test files to prevent
mixing atomic and non-atomic access on the same value, guarantee 64-bit
alignment on 32-bit platforms, and provide a cleaner API.
This commit is contained in:
Zach
2026-05-11 07:41:17 -07:00
committed by GitHub
parent a1dbd758bc
commit 81e2be69e9
21 changed files with 115 additions and 116 deletions
+6 -6
View File
@@ -1059,10 +1059,10 @@ func TestWorkspaceBuildUsageChecker(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
var calls int64
var calls atomic.Int64
fakeUsageChecker := &fakeUsageChecker{
checkBuildUsageFunc: func(_ context.Context, _ database.Store, _ *database.TemplateVersion, _ *database.Task, _ database.WorkspaceTransition) (wsbuilder.UsageCheckResponse, error) {
atomic.AddInt64(&calls, 1)
calls.Add(1)
return wsbuilder.UsageCheckResponse{Permitted: true}, nil
},
}
@@ -1095,7 +1095,7 @@ func TestWorkspaceBuildUsageChecker(t *testing.T) {
// nolint: dogsled
_, _, _, err := uut.Build(ctx, mDB, fc, nil, audit.WorkspaceBuildBaggage{})
require.NoError(t, err)
require.EqualValues(t, 1, calls)
require.EqualValues(t, 1, calls.Load())
})
// The failure cases are mostly identical from a test perspective.
@@ -1137,10 +1137,10 @@ func TestWorkspaceBuildUsageChecker(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
var calls int64
var calls atomic.Int64
fakeUsageChecker := &fakeUsageChecker{
checkBuildUsageFunc: func(_ context.Context, _ database.Store, _ *database.TemplateVersion, _ *database.Task, _ database.WorkspaceTransition) (wsbuilder.UsageCheckResponse, error) {
atomic.AddInt64(&calls, 1)
calls.Add(1)
return c.response, c.responseErr
},
}
@@ -1158,7 +1158,7 @@ func TestWorkspaceBuildUsageChecker(t *testing.T) {
// nolint: dogsled
_, _, _, err := uut.Build(ctx, mDB, fc, nil, audit.WorkspaceBuildBaggage{})
c.assertions(t, err)
require.EqualValues(t, 1, calls)
require.EqualValues(t, 1, calls.Load())
})
}
}