diff --git a/src/main_wpt.zig b/src/main_wpt.zig index cc3e013d..3f2396ee 100644 --- a/src/main_wpt.zig +++ b/src/main_wpt.zig @@ -70,7 +70,13 @@ pub fn main() !void { defer _ = test_arena.reset(.{ .retain_capacity = {} }); var err_out: ?[]const u8 = null; - const result = run(test_arena.allocator(), test_file, &loader, &err_out) catch |err| blk: { + const result = run( + test_arena.allocator(), + &platform, + test_file, + &loader, + &err_out, + ) catch |err| blk: { if (err_out == null) { err_out = @errorName(err); } @@ -89,7 +95,13 @@ pub fn main() !void { try writer.finalize(); } -fn run(arena: Allocator, test_file: []const u8, loader: *FileLoader, err_out: *?[]const u8) !?[]const u8 { +fn run( + arena: Allocator, + platform: *const Platform, + test_file: []const u8, + loader: *FileLoader, + err_out: *?[]const u8, +) !?[]const u8 { // document const html = blk: { const full_path = try std.fs.path.join(arena, &.{ WPT_DIR, test_file }); @@ -110,6 +122,7 @@ fn run(arena: Allocator, test_file: []const u8, loader: *FileLoader, err_out: *? var runner = try @import("testing.zig").jsRunner(arena, .{ .url = "http://127.0.0.1", .html = html, + .platform = platform, }); defer runner.deinit(); diff --git a/src/testing.zig b/src/testing.zig index f5e9c20b..f05f9023 100644 --- a/src/testing.zig +++ b/src/testing.zig @@ -19,6 +19,8 @@ const std = @import("std"); const Allocator = std.mem.Allocator; +const Platform = @import("runtime/js.zig").Platform; + pub const allocator = std.testing.allocator; pub const expectError = std.testing.expectError; pub const expect = std.testing.expect; @@ -383,6 +385,7 @@ pub const JsRunner = struct { var app = try App.init(alloc, .{ .run_mode = .serve, .tls_verify_host = false, + .platform = opts.platform, }); errdefer app.deinit(); @@ -474,6 +477,7 @@ pub const JsRunner = struct { }; const RunnerOpts = struct { + platform: ?*const Platform = null, url: []const u8 = "https://lightpanda.io/opensource-browser/", html: []const u8 = \\