From e4b4719208b6cacb36f0771443ec9957bc5ecb9b Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Mon, 12 Feb 2024 12:12:42 +0100 Subject: [PATCH] wpt: defer console log display --- src/wpt/run.zig | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/wpt/run.zig b/src/wpt/run.zig index ba8c474f..6dd23562 100644 --- a/src/wpt/run.zig +++ b/src/wpt/run.zig @@ -40,12 +40,19 @@ pub fn run(arena: *std.heap.ArenaAllocator, comptime dir: []const u8, f: []const try js_env.start(alloc); defer js_env.stop(); - // add document object - try js_env.addObject(html_doc, "document"); + // display console logs + defer { + var res = evalJS(js_env, alloc, "console.join('\\n');", "console") catch unreachable; + defer res.deinit(alloc); + if (res.result.len > 0) { + std.debug.print("-- CONSOLE LOG\n{s}\n--\n", .{res.result}); + } + } - // alias global as self and window + // setup global env vars. try js_env.attachObject(try js_env.getGlobal(), "self", null); try js_env.attachObject(try js_env.getGlobal(), "window", null); + try js_env.addObject(html_doc, "document"); // thanks to the arena, we don't need to deinit res. var res: jsruntime.JSResult = undefined; @@ -114,12 +121,6 @@ pub fn run(arena: *std.heap.ArenaAllocator, comptime dir: []const u8, f: []const return res; } - // display console logs - res = try evalJS(js_env, alloc, "console.join(', ');", "console"); - if (res.result.len > 0) { - std.debug.print("-- CONSOLE LOG\n{s}\n--\n", .{res.result}); - } - // Check the final test status. res = try evalJS(js_env, alloc, "report.status;", "teststatus"); if (!res.success) {