LogFilter: init with slice and silence tests

This commit is contained in:
Adrià Arrufat
2026-03-17 13:42:35 +09:00
parent d9cdd78138
commit b698e2d078
4 changed files with 10 additions and 7 deletions

View File

@@ -3522,13 +3522,16 @@ fn asUint(comptime string: anytype) std.meta.Int(
const testing = @import("../testing.zig");
test "WebApi: Page" {
const filter: testing.LogFilter = .init(.http);
const filter: testing.LogFilter = .init(&.{ .http, .js });
defer filter.deinit();
try testing.htmlRunner("page", .{});
}
test "WebApi: Frames" {
const filter: testing.LogFilter = .init(&.{.js});
defer filter.deinit();
try testing.htmlRunner("frames", .{});
}

View File

@@ -663,7 +663,7 @@ test "cdp.page: getFrameTree" {
test "cdp.page: captureScreenshot" {
const LogFilter = @import("../../testing.zig").LogFilter;
const filter: LogFilter = .init(.not_implemented);
const filter: LogFilter = .init(&.{.not_implemented});
defer filter.deinit();
var ctx = testing.context();

View File

@@ -148,7 +148,7 @@ test "MCP.router - handleMessage - synchronous unit tests" {
// 5. Parse error
{
const filter: testing.LogFilter = .init(.mcp);
const filter: testing.LogFilter = .init(&.{.mcp});
defer filter.deinit();
try handleMessage(server, aa, "invalid json");

View File

@@ -616,12 +616,12 @@ fn testHTTPHandler(req: *std.http.Server.Request) !void {
pub const LogFilter = struct {
old_filter: []const log.Scope,
/// Sets the log filter to only include the specified scope.
/// Sets the log filter to suppress the specified scope(s).
/// Returns a LogFilter that should be deinitialized to restore previous filters.
pub fn init(comptime scope: log.Scope) LogFilter {
pub fn init(comptime scopes: []const log.Scope) LogFilter {
comptime std.debug.assert(@TypeOf(scopes) == []const log.Scope);
const old_filter = log.opts.filter_scopes;
const new_filter = comptime &[_]log.Scope{scope};
log.opts.filter_scopes = new_filter;
log.opts.filter_scopes = scopes;
return .{ .old_filter = old_filter };
}