mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
Merge branch 'ben/fix-node-napi-tests' into kai/fix-node-napi-tests
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <js_native_api.h>
|
||||
#include <stdlib.h> // abort()
|
||||
|
||||
#include <js_native_api_types.h>
|
||||
|
||||
// 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_
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user