Skip to content

Commit b7ef551

Browse files
sauyonclaude
andcommitted
Address review: exercise variadic args/attrs in slog Log/LogAttrs tests
Copilot review on #22004: the Log/LogAttrs test cases didn't pass any variadic args/attrs, so the Argument[..3] portion of the sink range was untested. Pass an ...any arg to slog.Log/Logger.Log and a slog.Attr to slog.LogAttrs/Logger.LogAttrs, with inline expectations asserting they're captured as logged components. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 00427d2 commit b7ef551

1 file changed

Lines changed: 19 additions & 18 deletions

File tree

  • go/ql/test/library-tests/semmle/go/concepts/LoggerCall

go/ql/test/library-tests/semmle/go/concepts/LoggerCall/slog.go

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,33 @@ import (
88
func slogTest() {
99
ctx := context.Background()
1010
var logger *slog.Logger
11+
var attr slog.Attr
1112

1213
// Methods on *slog.Logger: Debug/Info/Warn/Error(msg string, args ...any).
13-
logger.Debug(text) // $ logger=text
14-
logger.Info(text) // $ logger=text
15-
logger.Warn(text) // $ logger=text
16-
logger.Error(text) // $ logger=text
14+
logger.Debug(text) // $ logger=text
15+
logger.Info(text) // $ logger=text
16+
logger.Warn(text) // $ logger=text
17+
logger.Error(text) // $ logger=text
1718
logger.Info(text, key, v) // $ logger=text logger=key logger=v
1819

1920
// Context variants: (ctx, msg string, args ...any).
20-
logger.DebugContext(ctx, text) // $ logger=text
21-
logger.InfoContext(ctx, text) // $ logger=text
22-
logger.WarnContext(ctx, text) // $ logger=text
23-
logger.ErrorContext(ctx, text) // $ logger=text
21+
logger.DebugContext(ctx, text) // $ logger=text
22+
logger.InfoContext(ctx, text) // $ logger=text
23+
logger.WarnContext(ctx, text) // $ logger=text
24+
logger.ErrorContext(ctx, text) // $ logger=text
2425
logger.InfoContext(ctx, text, key, v) // $ logger=text logger=key logger=v
2526

2627
// Log/LogAttrs: (ctx, level, msg string, args/attrs ...).
27-
logger.Log(ctx, slog.LevelInfo, text, key, v) // $ logger=text logger=key logger=v
28-
logger.LogAttrs(ctx, slog.LevelInfo, text) // $ logger=text
28+
logger.Log(ctx, slog.LevelInfo, text, key, v) // $ logger=text logger=key logger=v
29+
logger.LogAttrs(ctx, slog.LevelInfo, text, attr) // $ logger=text logger=attr
2930

3031
// Package-level convenience functions.
31-
slog.Debug(text) // $ logger=text
32-
slog.Info(text) // $ logger=text
33-
slog.Warn(text) // $ logger=text
34-
slog.Error(text) // $ logger=text
35-
slog.Info(text, key, v) // $ logger=text logger=key logger=v
36-
slog.InfoContext(ctx, text, key, v) // $ logger=text logger=key logger=v
37-
slog.Log(ctx, slog.LevelInfo, text) // $ logger=text
38-
slog.LogAttrs(ctx, slog.LevelInfo, text) // $ logger=text
32+
slog.Debug(text) // $ logger=text
33+
slog.Info(text) // $ logger=text
34+
slog.Warn(text) // $ logger=text
35+
slog.Error(text) // $ logger=text
36+
slog.Info(text, key, v) // $ logger=text logger=key logger=v
37+
slog.InfoContext(ctx, text, key, v) // $ logger=text logger=key logger=v
38+
slog.Log(ctx, slog.LevelInfo, text, key, v) // $ logger=text logger=key logger=v
39+
slog.LogAttrs(ctx, slog.LevelInfo, text, attr) // $ logger=text logger=attr
3940
}

0 commit comments

Comments
 (0)