diff --git a/scripts/runner.node.mjs b/scripts/runner.node.mjs index a681c27baa..8eae67979c 100755 --- a/scripts/runner.node.mjs +++ b/scripts/runner.node.mjs @@ -67,6 +67,8 @@ import { uploadArtifact, } from "./utils.mjs"; +process.on("SIGTRAP", () => {}); + let isQuiet = false; const cwd = import.meta.dirname ? dirname(import.meta.dirname) : process.cwd(); const testsPath = join(cwd, "test"); diff --git a/src/bun.js/bindings/napi.cpp b/src/bun.js/bindings/napi.cpp index a34d8e0b6c..4aee26dbc6 100644 --- a/src/bun.js/bindings/napi.cpp +++ b/src/bun.js/bindings/napi.cpp @@ -79,19 +79,6 @@ using namespace JSC; using namespace Zig; -// Every NAPI function should use this at the start. It does the following: -// - if NAPI_VERBOSE is 1, log that the function was called -// - if env is nullptr, return napi_invalid_arg -// - if there is a pending exception, return napi_pending_exception -// No do..while is used as this declares a variable that other macros need to use -#define NAPI_PREAMBLE(_env) \ - NAPI_LOG_CURRENT_FUNCTION; \ - NAPI_CHECK_ARG(_env, _env); \ - /* You should not use this throw scope directly -- if you need */ \ - /* to throw or clear exceptions, make your own scope */ \ - auto napi_preamble_throw_scope__ = DECLARE_THROW_SCOPE(_env->vm()); \ - NAPI_RETURN_IF_EXCEPTION(_env) - // Every NAPI function should use this at the start. It does the following: // - if NAPI_VERBOSE is 1, log that the function was called // - if env is nullptr, return napi_invalid_arg diff --git a/test/napi/node-napi-tests/harness.ts b/test/napi/node-napi-tests/harness.ts index 5b511ac346..f14e7cd085 100644 --- a/test/napi/node-napi-tests/harness.ts +++ b/test/napi/node-napi-tests/harness.ts @@ -9,8 +9,8 @@ export async function build(dir: string) { const child = spawn({ cmd: [bunExe(), "x", "node-gyp@11", "rebuild", "--debug", "-j", "max", "--verbose"], cwd: dir, - stderr: "pipe", - stdout: "ignore", + stderr: "ignore", + stdout: "inherit", stdin: "inherit", env: { ...bunEnv, @@ -42,8 +42,8 @@ export function run(dir: string, test: string) { const result = spawnSync({ cmd: [bunExe(), "run", test], cwd: dir, - stderr: "inherit", - stdout: "ignore", + stderr: "ignore", + stdout: "inherit", stdin: "inherit", env, }); diff --git a/test/no-validate-exceptions.txt b/test/no-validate-exceptions.txt index e13acdebc6..4beec2d888 100644 --- a/test/no-validate-exceptions.txt +++ b/test/no-validate-exceptions.txt @@ -59,7 +59,7 @@ test/js/node/http/node-http-parser.test.ts # try again later test/js/node/test/parallel/test-worker-nested-uncaught.js -# 3rd party napi +# napi test/integration/sharp/sharp.test.ts test/js/third_party/@duckdb/node-api/duckdb.test.ts test/js/third_party/@napi-rs/canvas/napi-rs-canvas.test.ts @@ -70,27 +70,52 @@ test/js/third_party/resvg/bbox.test.js test/js/third_party/rollup-v4/rollup-v4.test.ts test/napi/uv.test.ts test/napi/uv_stub.test.ts -test/napi/node-napi-tests/test/node-api/test_fatal_exception/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_typedarray/do.test.ts -test/napi/node-napi-tests/test/node-api/test_async/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_symbol/do.test.ts -test/napi/node-napi-tests/test/node-api/1_hello_world/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_instance_data/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_object/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_number/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_new_target/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_constructor/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_handle_scope/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_conversions/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_dataview/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_array/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_date/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_bigint/do.test.ts -test/napi/node-napi-tests/test/js-native-api/test_cannot_run_js/do.test.ts +test/napi/node-napi-tests/test/js-native-api/2_function_arguments/do.test.ts test/napi/node-napi-tests/test/js-native-api/3_callbacks/do.test.ts test/napi/node-napi-tests/test/js-native-api/4_object_factory/do.test.ts test/napi/node-napi-tests/test/js-native-api/5_function_factory/do.test.ts -test/napi/node-napi-tests/test/js-native-api/2_function_arguments/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_bigint/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_dataview/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_array/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_cannot_run_js/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_conversions/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_date/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_handle_scope/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_instance_data/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_object/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_general/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_new_target/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_number/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_exception/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_error/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_finalizer/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_function/do.test.ts +test/napi/node-napi-tests/test/js-native-api/7_factory_wrap/do.test.ts +test/napi/node-napi-tests/test/js-native-api/8_passing_wrapped/do.test.ts +test/napi/node-napi-tests/test/js-native-api/6_object_wrap/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_constructor/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_promise/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_properties/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_typedarray/do.test.ts +test/napi/node-napi-tests/test/node-api/1_hello_world/do.test.ts +test/napi/node-napi-tests/test/node-api/test_async/do.test.ts +test/napi/node-napi-tests/test/node-api/test_callback_scope/do.test.ts +test/napi/node-napi-tests/test/node-api/test_make_callback_recurse/do.test.ts +test/napi/node-napi-tests/test/node-api/test_general/do.test.ts +test/napi/node-napi-tests/test/node-api/test_init_order/do.test.ts +test/napi/node-napi-tests/test/node-api/test_fatal/do.test.ts +test/napi/node-napi-tests/test/node-api/test_make_callback/do.test.ts +test/napi/node-napi-tests/test/node-api/test_fatal_exception/do.test.ts +test/napi/node-napi-tests/test/node-api/test_instance_data/do.test.ts +test/napi/node-napi-tests/test/node-api/test_exception/do.test.ts +test/napi/node-napi-tests/test/node-api/test_cleanup_hook/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_reference_double_free/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_symbol/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_reference/do.test.ts +test/napi/node-napi-tests/test/js-native-api/test_string/do.test.ts +test/napi/node-napi-tests/test/node-api/test_buffer/do.test.ts +test/napi/node-napi-tests/test/node-api/test_threadsafe_function/do.test.ts +test/napi/node-napi-tests/test/node-api/test_worker_terminate_finalization/do.test.ts # normalizeCryptoAlgorithmParameters test/js/node/test/parallel/test-webcrypto-derivekey.js