From bca3195550531bda337032bc8b5d8dae25d90172 Mon Sep 17 00:00:00 2001 From: Francis Bouvier Date: Thu, 28 Sep 2023 15:25:57 +0200 Subject: [PATCH] remove tests from main, fix tests and update jsruntime Signed-off-by: Francis Bouvier --- src/main.zig | 61 +++++++++++++------------------------------- src/run_tests.zig | 4 +-- vendor/jsruntime-lib | 2 +- 3 files changed, 21 insertions(+), 46 deletions(-) diff --git a/src/main.zig b/src/main.zig index a884781d..c3b3c9a5 100644 --- a/src/main.zig +++ b/src/main.zig @@ -4,8 +4,6 @@ const jsruntime = @import("jsruntime"); const parser = @import("netsurf.zig"); const DOM = @import("dom.zig"); -const docTestExecFn = @import("html/document.zig").testExecFn; -const nodeTestExecFn = @import("dom/node.zig").testExecFn; const socket_path = "/tmp/browsercore-server.sock"; @@ -45,24 +43,6 @@ fn execJS( } } -fn testsExecFn( - alloc: std.mem.Allocator, - js_env: *jsruntime.Env, - comptime apis: []jsruntime.API, -) !void { - - // start JS env - js_env.start(apis); - defer js_env.stop(); - - // add document object - try js_env.addObject(apis, doc, "document"); - - // run tests - try docTestExecFn(alloc, js_env, apis); - try nodeTestExecFn(alloc, js_env, apis); -} - pub fn main() !void { // generate APIs @@ -77,31 +57,26 @@ pub fn main() !void { doc = parser.documentHTMLParse(&f); // TODO: defer doc? - // // remove socket file of internal server - // // reuse_address (SO_REUSEADDR flag) does not seems to work on unix socket - // // see: https://gavv.net/articles/unix-socket-reuse/ - // // TODO: use a lock file instead - // std.os.unlink(socket_path) catch |err| { - // if (err != error.FileNotFound) { - // return err; - // } - // }; + // remove socket file of internal server + // reuse_address (SO_REUSEADDR flag) does not seems to work on unix socket + // see: https://gavv.net/articles/unix-socket-reuse/ + // TODO: use a lock file instead + std.os.unlink(socket_path) catch |err| { + if (err != error.FileNotFound) { + return err; + } + }; // alloc - // var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); - // defer arena.deinit(); - var gpa = std.heap.GeneralPurposeAllocator(.{}){}; - var bench_alloc = jsruntime.bench_allocator(gpa.allocator()); - var arena_alloc = std.heap.ArenaAllocator.init(bench_alloc.allocator()); - defer arena_alloc.deinit(); + var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); + defer arena.deinit(); - // // server - // var addr = try std.net.Address.initUnix(socket_path); - // server = std.net.StreamServer.init(.{}); - // defer server.deinit(); - // try server.listen(addr); - // std.debug.print("Listening on: {s}...\n", .{socket_path}); + // server + var addr = try std.net.Address.initUnix(socket_path); + server = std.net.StreamServer.init(.{}); + defer server.deinit(); + try server.listen(addr); + std.debug.print("Listening on: {s}...\n", .{socket_path}); - // try jsruntime.loadEnv(&arena, execJS, apis); - try jsruntime.loadEnv(&arena_alloc, testsExecFn, apis); + try jsruntime.loadEnv(&arena, execJS, apis); } diff --git a/src/run_tests.zig b/src/run_tests.zig index 8e107bf2..821c5689 100644 --- a/src/run_tests.zig +++ b/src/run_tests.zig @@ -6,7 +6,7 @@ const generate = @import("generate.zig"); const parser = @import("netsurf.zig"); const DOM = @import("dom.zig"); const docTestExecFn = @import("html/document.zig").testExecFn; -const nodeTestExecFn = @import("html/document.zig").testExecFn; +const nodeTestExecFn = @import("dom/node.zig").testExecFn; var doc: *parser.DocumentHTML = undefined; @@ -29,7 +29,7 @@ fn testsExecFn( } test { - std.debug.print("\n", .{}); + std.debug.print("\n \n", .{}); // generate tests try generate.tests(); diff --git a/vendor/jsruntime-lib b/vendor/jsruntime-lib index 4ba1cb4b..35884be6 160000 --- a/vendor/jsruntime-lib +++ b/vendor/jsruntime-lib @@ -1 +1 @@ -Subproject commit 4ba1cb4b5cc432f671bad07ea6214f6cc23cbbc6 +Subproject commit 35884be6a78aa7bc183b1b8d9c2566a7a8335e46