diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig index 69130c9603..cd48b67c8a 100644 --- a/src/bun.js/javascript.zig +++ b/src/bun.js/javascript.zig @@ -428,9 +428,9 @@ pub export fn Bun__GlobalObject__hasIPC(global: *JSC.JSGlobalObject) bool { } extern fn Bun__Process__queueNextTick1(*JSC.ZigGlobalObject, JSC.JSValue, JSC.JSValue) void; -extern fn Bun__queueFinishNapiFinalizers(?*JSC.JSGlobalObject) callconv(.C) bool; +extern fn Bun__queueFinishNapiFinalizers(?*JSC.JSGlobalObject) bool; -pub export fn Bun__isNapiFinalizerQueueEmpty(globalObject: *JSGlobalObject) callconv(JSC.conv) bool { +pub export fn Bun__isNapiFinalizerQueueEmpty(globalObject: *JSGlobalObject) bool { return globalObject.bunVM().eventLoop().napi_finalizer_queue.count == 0; } diff --git a/test/napi/node-napi-tests/test/js-native-api/common.h b/test/napi/node-napi-tests/test/js-native-api/common.h index 49cdc066ea..b4ffa154eb 100644 --- a/test/napi/node-napi-tests/test/js-native-api/common.h +++ b/test/napi/node-napi-tests/test/js-native-api/common.h @@ -4,6 +4,8 @@ #include #include // abort() +#include + // Empty value so that macros here are able to return NULL or void #define NODE_API_RETVAL_NOTHING // Intentionally blank #define @@ -129,4 +131,6 @@ static inline void add_last_status(napi_env env, #include "common-inl.h" +typedef node_api_nogc_env node_api_basic_env; + #endif // JS_NATIVE_API_COMMON_H_ diff --git a/test/napi/node-napi.test.ts b/test/napi/node-napi.test.ts index a38cdcb3c7..02662b208e 100644 --- a/test/napi/node-napi.test.ts +++ b/test/napi/node-napi.test.ts @@ -4,8 +4,8 @@ import { bunEnv, bunExe } from "harness"; import { join, dirname } from "path"; import os from "node:os"; -const jsNativeApiRoot = join(__dirname, "node-napi-tests/test/js-native-api"); -const nodeApiRoot = join(__dirname, "node-napi-tests/test/node-api"); +const jsNativeApiRoot = join(__dirname, "node-napi-tests", "test", "js-native-api"); +const nodeApiRoot = join(__dirname, "node-napi-tests", "test", "node-api"); const jsNativeApiTests = Array.from(new Glob("**/*.js").scanSync(jsNativeApiRoot)); const nodeApiTests = Array.from(new Glob("**/*.js").scanSync(nodeApiRoot)); @@ -50,10 +50,20 @@ const failingNodeApiTests = [ "test_worker_terminate/test.js", ]; +if (process.platform == "win32") { + for (const i in failingJsNativeApiTests) { + failingJsNativeApiTests[i] = failingJsNativeApiTests[i].replaceAll("/", "\\"); + } + for (const i in failingNodeApiTests) { + failingNodeApiTests[i] = failingNodeApiTests[i].replaceAll("/", "\\"); + } +} + beforeAll(async () => { const directories = jsNativeApiTests + .filter(t => !failingJsNativeApiTests.includes(t)) .map(t => join(jsNativeApiRoot, t)) - .concat(nodeApiTests.map(t => join(nodeApiRoot, t))) + .concat(nodeApiTests.filter(t => !failingNodeApiTests.includes(t)).map(t => join(nodeApiRoot, t))) .map(t => dirname(t)); const uniqueDirectories = Array.from(new Set(directories)); @@ -64,7 +74,7 @@ beforeAll(async () => { stderr: "pipe", stdout: "ignore", stdin: "inherit", - env: bunEnv, + env: { ...bunEnv, npm_config_target: "v23.2.0" }, }); await process.exited; if (process.exitCode !== 0) {