diff --git a/0001-Remove-unused-OpenSSL-config.patch b/0001-Remove-unused-OpenSSL-config.patch new file mode 100644 index 0000000000000000000000000000000000000000..5ad738236e3611c4137b102c62d2d1f7dbdc3f5b --- /dev/null +++ b/0001-Remove-unused-OpenSSL-config.patch @@ -0,0 +1,46 @@ +From e93d9b5fdcd8e5744de629461c03a07de2252f8f Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher +Date: Fri, 17 Apr 2020 12:59:44 +0200 +Subject: [PATCH] Remove unused OpenSSL config + +The build process will try to create these config files, even when +using the system OpenSSL and will thus fail since we strip this path +from the tarball. + +Signed-off-by: Stephen Gallagher +Signed-off-by: rpm-build +--- + node.gyp | 17 ----------------- + 1 file changed, 17 deletions(-) + +diff --git a/node.gyp b/node.gyp +index 1147495..da6ea50 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -822,23 +822,6 @@ + ], + }, + ], +- }, { +- 'variables': { +- 'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf', +- 'opensslconfig': './deps/openssl/nodejs-openssl.cnf', +- }, +- 'actions': [ +- { +- 'action_name': 'reset_openssl_cnf', +- 'inputs': [ '<(opensslconfig)', ], +- 'outputs': [ '<(opensslconfig_internal)', ], +- 'action': [ +- '<(python)', 'tools/copyfile.py', +- '<(opensslconfig)', +- '<(opensslconfig_internal)', +- ], +- }, +- ], + }], + ], + }, # node_core_target_name +-- +2.47.0 + diff --git a/0001-fips-disable-options.patch b/0001-fips-disable-options.patch new file mode 100644 index 0000000000000000000000000000000000000000..e6a084f50202d17e6af025341b07cee9bd05845e --- /dev/null +++ b/0001-fips-disable-options.patch @@ -0,0 +1,87 @@ +From 137735c4e8a1b5f9d6c2a0e3f7d8b9a1c4d5e6f7 Mon Sep 17 00:00:00 2001 +From: Jan Stanek +Date: Tue, 15 Aug 2023 14:09:00 +0200 +Subject: [PATCH] src: disable FIPS CLI options when using shared OpenSSL + +With shared OpenSSL >= 3, using --enable-fips or --force-fips can cause +a core dump / assertion failure because the FIPS provider may not be +properly loaded through OpenSSL's configuration. + +When Node.js is built with --shared-openssl, FIPS mode should be +managed at the operating system or OpenSSL configuration level. + +This patch: +- Prints an error and exits early when FIPS CLI options are used with + shared OpenSSL builds +- Makes crypto.setFips() throw ERR_CRYPTO_FIPS_SYSTEM_CONTROLLED when + attempting to change the FIPS state +- Adds a new error code ERR_CRYPTO_FIPS_SYSTEM_CONTROLLED + +Upstream discussion: https://github.com/nodejs/node/pull/48950 +--- + lib/crypto.js | 10 ++++++++++ + lib/internal/errors.js | 6 ++++++ + src/crypto/crypto_util.cc | 2 ++ + 3 files changed, 18 insertions(+) + +diff --git a/lib/crypto.js b/lib/crypto.js +index 4290989..1e647a9 100644 +--- a/lib/crypto.js ++++ b/lib/crypto.js +@@ -36,6 +36,9 @@ const { + assertCrypto(); + + const { ++ // When using shared OpenSSL, FIPS is controlled at the system level ++ ERR_CRYPTO_FIPS_SYSTEM_CONTROLLED, ++ + ERR_CRYPTO_FIPS_FORCED, + ERR_WORKER_UNSUPPORTED_OPERATION, + } = require('internal/errors').codes; +@@ -253,6 +256,13 @@ function getFips() { + } + + function setFips(val) { ++ // When built with shared OpenSSL, FIPS should only be toggled at system level ++ if (getFips() != val) { ++ throw new ERR_CRYPTO_FIPS_SYSTEM_CONTROLLED(); ++ } else { ++ return; ++ } ++ + if (getOptionValue('--force-fips')) { + if (val) return; + throw new ERR_CRYPTO_FIPS_FORCED(); +diff --git a/lib/internal/errors.js b/lib/internal/errors.js +index e6dfbc2..73f3f5a 100644 +--- a/lib/internal/errors.js ++++ b/lib/internal/errors.js +@@ -1113,6 +1113,12 @@ module.exports = { + // + // Note: Node.js specific errors must begin with the prefix ERR_ + ++// When built with --shared-openssl, FIPS must be managed at system level ++E('ERR_CRYPTO_FIPS_SYSTEM_CONTROLLED', ++ 'Cannot set FIPS mode, it is controlled at the system level. ' + ++ 'Configure FIPS via the OpenSSL configuration or the operating system crypto policy.\n', ++ Error); ++ + E('ERR_ACCESS_DENIED', + function(msg, permission = '', resource = '') { + this.permission = permission; +diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc +index 205e248..dcf2bf3 100644 +--- a/src/crypto/crypto_util.cc ++++ b/src/crypto/crypto_util.cc +@@ -86,6 +86,8 @@ bool ProcessFipsOptions() { + /* Override FIPS settings in configuration file, if needed. */ + if (per_process::cli_options->enable_fips_crypto || + per_process::cli_options->force_fips_crypto) { ++ fprintf(stderr, "ERROR: --enable-fips and --force-fips are not supported when Node.js is built with shared OpenSSL. Configure FIPS at the system level instead (e.g. via the operating system crypto policy or OpenSSL configuration).\n"); ++ return false; + #if OPENSSL_VERSION_MAJOR >= 3 + if (!ncrypto::testFipsEnabled()) return false; + return ncrypto::setFipsEnabled(true, nullptr); +-- +2.53.0 + diff --git a/0003-downstream-update-nghttp2-to-1.68.1.patch b/0003-downstream-update-nghttp2-to-1.68.1.patch new file mode 100644 index 0000000000000000000000000000000000000000..e445f8fde9699a33dd4cd3bdf4e284df25bad844 --- /dev/null +++ b/0003-downstream-update-nghttp2-to-1.68.1.patch @@ -0,0 +1,530 @@ +From 205baae16ff43539500a6f168d0d27e226bfc4f2 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Wed, 25 Mar 2026 15:36:44 +0100 +Subject: [PATCH] downstream: update nghttp2 to 1.68.1 + +This is done out of sync with upstream node, +in order to address CVE-2026-27135 in a timely manner. + +Should be dropped once upstream addresses the CVE in their own way. + +Signed-off-by: rpm-build +--- + .../nghttp2/lib/includes/nghttp2/nghttp2ver.h | 4 +- + deps/nghttp2/lib/nghttp2_frame.c | 10 + + deps/nghttp2/lib/nghttp2_int.h | 6 +- + deps/nghttp2/lib/nghttp2_session.c | 206 ++++++++++-------- + 4 files changed, 135 insertions(+), 91 deletions(-) + +diff --git a/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h b/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +index 8dfe536..95acef2 100644 +--- a/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h ++++ b/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +@@ -29,7 +29,7 @@ + * @macro + * Version number of the nghttp2 library release + */ +-#define NGHTTP2_VERSION "1.68.0" ++#define NGHTTP2_VERSION "1.68.1" + + /** + * @macro +@@ -37,6 +37,6 @@ + * release. This is a 24 bit number with 8 bits for major number, 8 bits + * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203. + */ +-#define NGHTTP2_VERSION_NUM 0x014400 ++#define NGHTTP2_VERSION_NUM 0x014401 + + #endif /* NGHTTP2VER_H */ +diff --git a/deps/nghttp2/lib/nghttp2_frame.c b/deps/nghttp2/lib/nghttp2_frame.c +index edc2aaa..264ae9d 100644 +--- a/deps/nghttp2/lib/nghttp2_frame.c ++++ b/deps/nghttp2/lib/nghttp2_frame.c +@@ -750,6 +750,16 @@ void nghttp2_frame_unpack_altsvc_payload(nghttp2_extension *frame, + uint8_t *p; + + altsvc = frame->payload; ++ ++ if (payloadlen == 0) { ++ altsvc->origin = NULL; ++ altsvc->origin_len = 0; ++ altsvc->field_value = NULL; ++ altsvc->field_value_len = 0; ++ ++ return; ++ } ++ + p = payload; + + altsvc->origin = p; +diff --git a/deps/nghttp2/lib/nghttp2_int.h b/deps/nghttp2/lib/nghttp2_int.h +index 4e3b268..d89cf15 100644 +--- a/deps/nghttp2/lib/nghttp2_int.h ++++ b/deps/nghttp2/lib/nghttp2_int.h +@@ -52,7 +52,11 @@ typedef enum { + * Unlike NGHTTP2_ERR_IGN_HTTP_HEADER, this does not invoke + * nghttp2_on_invalid_header_callback. + */ +- NGHTTP2_ERR_REMOVE_HTTP_HEADER = -106 ++ NGHTTP2_ERR_REMOVE_HTTP_HEADER = -106, ++ /* ++ * Cancel pushed stream. ++ */ ++ NGHTTP2_ERR_PUSH_CANCEL = -107, + } nghttp2_internal_error; + + #endif /* !defined(NGHTTP2_INT_H) */ +diff --git a/deps/nghttp2/lib/nghttp2_session.c b/deps/nghttp2/lib/nghttp2_session.c +index 97d7fda..0fbcc93 100644 +--- a/deps/nghttp2/lib/nghttp2_session.c ++++ b/deps/nghttp2/lib/nghttp2_session.c +@@ -3272,7 +3272,9 @@ static int session_call_on_invalid_header(nghttp2_session *session, + session, frame, nv->name->base, nv->name->len, nv->value->base, + nv->value->len, nv->flags, session->user_data); + } else { +- return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE; ++ /* If both callbacks are not set, the invalid field nv is ++ ignored. */ ++ return 0; + } + + if (rv == NGHTTP2_ERR_PAUSE || rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { +@@ -3357,6 +3359,10 @@ static uint32_t get_error_code_from_lib_error_code(int lib_error_code) { + case NGHTTP2_ERR_HTTP_HEADER: + case NGHTTP2_ERR_HTTP_MESSAGING: + return NGHTTP2_PROTOCOL_ERROR; ++ case NGHTTP2_ERR_INTERNAL: ++ return NGHTTP2_INTERNAL_ERROR; ++ case NGHTTP2_ERR_PUSH_CANCEL: ++ return NGHTTP2_CANCEL; + default: + return NGHTTP2_INTERNAL_ERROR; + } +@@ -3408,7 +3414,7 @@ static int session_handle_invalid_stream2(nghttp2_session *session, + if (rv != 0) { + return rv; + } +- if (session->callbacks.on_invalid_frame_recv_callback) { ++ if (frame && session->callbacks.on_invalid_frame_recv_callback) { + if (session->callbacks.on_invalid_frame_recv_callback( + session, frame, lib_error_code, session->user_data) != 0) { + return NGHTTP2_ERR_CALLBACK_FAILURE; +@@ -3563,7 +3569,29 @@ static int inflate_header_block(nghttp2_session *session, nghttp2_frame *frame, + + rv2 = session_call_on_invalid_header(session, frame, &nv); + if (rv2 == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { +- rv = NGHTTP2_ERR_HTTP_HEADER; ++ DEBUGF("recv: HTTP error: type=%u, id=%d, header %.*s: %.*s\n", ++ frame->hd.type, frame->hd.stream_id, (int)nv.name->len, ++ nv.name->base, (int)nv.value->len, nv.value->base); ++ ++ rv = session_call_error_callback( ++ session, NGHTTP2_ERR_HTTP_HEADER, ++ "Invalid HTTP header field was received: frame type: " ++ "%u, stream: %d, name: [%.*s], value: [%.*s]", ++ frame->hd.type, frame->hd.stream_id, (int)nv.name->len, ++ nv.name->base, (int)nv.value->len, nv.value->base); ++ ++ if (nghttp2_is_fatal(rv)) { ++ return rv; ++ } ++ ++ rv = session_handle_invalid_stream2( ++ session, subject_stream->stream_id, frame, ++ NGHTTP2_ERR_HTTP_HEADER); ++ if (nghttp2_is_fatal(rv)) { ++ return rv; ++ } ++ ++ return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE; + } else { + if (rv2 != 0) { + return rv2; +@@ -3603,13 +3631,8 @@ static int inflate_header_block(nghttp2_session *session, nghttp2_frame *frame, + return rv; + } + +- rv = +- session_handle_invalid_stream2(session, subject_stream->stream_id, +- frame, NGHTTP2_ERR_HTTP_HEADER); +- if (nghttp2_is_fatal(rv)) { +- return rv; +- } +- return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE; ++ return nghttp2_session_terminate_session(session, ++ NGHTTP2_PROTOCOL_ERROR); + } + } + if (rv == 0) { +@@ -3722,27 +3745,7 @@ static int session_after_header_block_received(nghttp2_session *session) { + } + } + if (rv != 0) { +- int32_t stream_id; +- +- if (frame->hd.type == NGHTTP2_PUSH_PROMISE) { +- stream_id = frame->push_promise.promised_stream_id; +- } else { +- stream_id = frame->hd.stream_id; +- } +- +- rv = session_handle_invalid_stream2(session, stream_id, frame, +- NGHTTP2_ERR_HTTP_MESSAGING); +- if (nghttp2_is_fatal(rv)) { +- return rv; +- } +- +- if (frame->hd.type == NGHTTP2_HEADERS && +- (frame->hd.flags & NGHTTP2_FLAG_END_STREAM)) { +- nghttp2_stream_shutdown(stream, NGHTTP2_SHUT_RD); +- /* Don't call nghttp2_session_close_stream_if_shut_rdwr +- because RST_STREAM has been submitted. */ +- } +- return 0; ++ return nghttp2_session_terminate_session(session, NGHTTP2_PROTOCOL_ERROR); + } + } + +@@ -4078,8 +4081,7 @@ static int update_remote_initial_window_size_func(void *entry, void *ptr) { + rv = nghttp2_stream_update_remote_initial_window_size( + stream, arg->new_window_size, arg->old_window_size); + if (rv != 0) { +- return nghttp2_session_add_rst_stream(arg->session, stream->stream_id, +- NGHTTP2_FLOW_CONTROL_ERROR); ++ return NGHTTP2_ERR_FLOW_CONTROL; + } + + /* If window size gets positive, push deferred DATA frame to +@@ -4105,6 +4107,8 @@ static int update_remote_initial_window_size_func(void *entry, void *ptr) { + * + * NGHTTP2_ERR_NOMEM + * Out of memory. ++ * NGHTTP2_ERR_FLOW_CONTROL ++ * Window size gets out of range. + */ + static int + session_update_remote_initial_window_size(nghttp2_session *session, +@@ -4128,8 +4132,7 @@ static int update_local_initial_window_size_func(void *entry, void *ptr) { + rv = nghttp2_stream_update_local_initial_window_size( + stream, arg->new_window_size, arg->old_window_size); + if (rv != 0) { +- return nghttp2_session_add_rst_stream(arg->session, stream->stream_id, +- NGHTTP2_FLOW_CONTROL_ERROR); ++ return NGHTTP2_ERR_FLOW_CONTROL; + } + + if (stream->window_update_queued) { +@@ -4163,6 +4166,8 @@ static int update_local_initial_window_size_func(void *entry, void *ptr) { + * + * NGHTTP2_ERR_NOMEM + * Out of memory. ++ * NGHTTP2_ERR_FLOW_CONTROL ++ * Window size gets out of range. + */ + static int + session_update_local_initial_window_size(nghttp2_session *session, +@@ -4549,9 +4554,9 @@ int nghttp2_session_on_push_promise_received(nghttp2_session *session, + session->max_incoming_reserved_streams) { + /* Currently, client does not retain closed stream, so we don't + check NGHTTP2_SHUT_RD condition here. */ +- +- rv = nghttp2_session_add_rst_stream( +- session, frame->push_promise.promised_stream_id, NGHTTP2_CANCEL); ++ rv = session_handle_invalid_stream2(session, ++ frame->push_promise.promised_stream_id, ++ NULL, NGHTTP2_ERR_PUSH_CANCEL); + if (rv != 0) { + return rv; + } +@@ -4708,8 +4713,9 @@ static int session_on_stream_window_update_received(nghttp2_session *session, + } + if (NGHTTP2_MAX_WINDOW_SIZE - frame->window_update.window_size_increment < + stream->remote_window_size) { +- return session_handle_invalid_stream(session, frame, +- NGHTTP2_ERR_FLOW_CONTROL); ++ return session_handle_invalid_connection( ++ session, frame, NGHTTP2_ERR_FLOW_CONTROL, ++ "WINDOW_UPDATE: window size overflow"); + } + stream->remote_window_size += frame->window_update.window_size_increment; + +@@ -4939,16 +4945,7 @@ int nghttp2_session_on_data_received(nghttp2_session *session, + if (session_enforce_http_messaging(session) && + (frame->hd.flags & NGHTTP2_FLAG_END_STREAM)) { + if (nghttp2_http_on_remote_end_stream(stream) != 0) { +- rv = nghttp2_session_add_rst_stream(session, stream->stream_id, +- NGHTTP2_PROTOCOL_ERROR); +- if (nghttp2_is_fatal(rv)) { +- return rv; +- } +- +- nghttp2_stream_shutdown(stream, NGHTTP2_SHUT_RD); +- /* Don't call nghttp2_session_close_stream_if_shut_rdwr because +- RST_STREAM has been submitted. */ +- return 0; ++ return nghttp2_session_terminate_session(session, NGHTTP2_PROTOCOL_ERROR); + } + } + +@@ -5006,8 +5003,8 @@ int nghttp2_session_update_recv_stream_window_size(nghttp2_session *session, + rv = adjust_recv_window_size(&stream->recv_window_size, delta_size, + stream->local_window_size); + if (rv != 0) { +- return nghttp2_session_add_rst_stream(session, stream->stream_id, +- NGHTTP2_FLOW_CONTROL_ERROR); ++ return nghttp2_session_terminate_session(session, ++ NGHTTP2_FLOW_CONTROL_ERROR); + } + /* We don't have to send WINDOW_UPDATE if the data received is the + last chunk in the incoming stream. */ +@@ -5469,6 +5466,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + busy = 1; + + rv = session_on_data_received_fail_fast(session); ++ if (nghttp2_is_fatal(rv)) { ++ return rv; ++ } ++ + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } +@@ -5489,10 +5490,6 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + break; + } + +- if (nghttp2_is_fatal(rv)) { +- return rv; +- } +- + rv = inbound_frame_handle_pad(iframe, &iframe->frame.hd); + if (rv < 0) { + rv = nghttp2_session_terminate_session_with_reason( +@@ -5576,6 +5573,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + return rv; + } + ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } ++ + on_begin_frame_called = 1; + + rv = session_process_headers_frame(session); +@@ -5590,8 +5591,8 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + } + + if (rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { +- rv = nghttp2_session_add_rst_stream( +- session, iframe->frame.hd.stream_id, NGHTTP2_INTERNAL_ERROR); ++ rv = session_handle_invalid_stream2( ++ session, iframe->frame.hd.stream_id, NULL, NGHTTP2_ERR_INTERNAL); + if (nghttp2_is_fatal(rv)) { + return rv; + } +@@ -6044,6 +6045,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + if (nghttp2_is_fatal(rv)) { + return rv; + } ++ ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } + } + } + +@@ -6107,8 +6112,8 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + } + + if (rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { +- rv = nghttp2_session_add_rst_stream( +- session, iframe->frame.hd.stream_id, NGHTTP2_INTERNAL_ERROR); ++ rv = session_handle_invalid_stream2( ++ session, iframe->frame.hd.stream_id, NULL, NGHTTP2_ERR_INTERNAL); + if (nghttp2_is_fatal(rv)) { + return rv; + } +@@ -6191,9 +6196,9 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + } + + if (rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { +- rv = nghttp2_session_add_rst_stream( +- session, iframe->frame.push_promise.promised_stream_id, +- NGHTTP2_INTERNAL_ERROR); ++ rv = session_handle_invalid_stream2( ++ session, iframe->frame.push_promise.promised_stream_id, NULL, ++ NGHTTP2_ERR_INTERNAL); + if (nghttp2_is_fatal(rv)) { + return rv; + } +@@ -6296,6 +6301,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + return rv; + } + ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } ++ + session_inbound_frame_reset(session); + + break; +@@ -6371,12 +6380,12 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + iframe->payloadleft -= hd_proclen; + + /* Use promised stream ID for PUSH_PROMISE */ +- rv = nghttp2_session_add_rst_stream( ++ rv = session_handle_invalid_stream2( + session, + iframe->frame.hd.type == NGHTTP2_PUSH_PROMISE + ? iframe->frame.push_promise.promised_stream_id + : iframe->frame.hd.stream_id, +- NGHTTP2_INTERNAL_ERROR); ++ NULL, NGHTTP2_ERR_INTERNAL); + if (nghttp2_is_fatal(rv)) { + return rv; + } +@@ -6423,6 +6432,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + if (nghttp2_is_fatal(rv)) { + return rv; + } ++ ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } + } + session_inbound_frame_reset(session); + +@@ -6598,6 +6611,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + if (nghttp2_is_fatal(rv)) { + return rv; + } ++ ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } + } else { + iframe->state = NGHTTP2_IB_IGN_HEADER_BLOCK; + } +@@ -6648,6 +6665,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + if (nghttp2_is_fatal(rv)) { + return rv; + } ++ ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } + } + + busy = 1; +@@ -6720,6 +6741,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + return rv; + } + ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } ++ + data_readlen = + inbound_frame_effective_readlen(iframe, iframe->payloadleft, readlen); + +@@ -6749,41 +6774,30 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + if (data_readlen > 0) { + if (session_enforce_http_messaging(session)) { + if (nghttp2_http_on_data_chunk(stream, (size_t)data_readlen) != 0) { +- if (session->opt_flags & NGHTTP2_OPTMASK_NO_AUTO_WINDOW_UPDATE) { +- /* Consume all data for connection immediately here */ +- rv = session_update_connection_consumed_size( +- session, (size_t)data_readlen); +- +- if (nghttp2_is_fatal(rv)) { +- return rv; +- } +- +- if (iframe->state == NGHTTP2_IB_IGN_DATA) { +- return (nghttp2_ssize)inlen; +- } +- } +- +- rv = nghttp2_session_add_rst_stream( +- session, iframe->frame.hd.stream_id, NGHTTP2_PROTOCOL_ERROR); ++ rv = nghttp2_session_terminate_session(session, ++ NGHTTP2_PROTOCOL_ERROR); + if (nghttp2_is_fatal(rv)) { + return rv; + } +- busy = 1; +- iframe->state = NGHTTP2_IB_IGN_DATA; +- break; ++ ++ return (nghttp2_ssize)inlen; + } + } + if (session->callbacks.on_data_chunk_recv_callback) { + rv = session->callbacks.on_data_chunk_recv_callback( + session, iframe->frame.hd.flags, iframe->frame.hd.stream_id, + in - readlen, (size_t)data_readlen, session->user_data); +- if (rv == NGHTTP2_ERR_PAUSE) { +- return (nghttp2_ssize)(in - first); +- } +- + if (nghttp2_is_fatal(rv)) { + return NGHTTP2_ERR_CALLBACK_FAILURE; + } ++ ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } ++ ++ if (rv == NGHTTP2_ERR_PAUSE) { ++ return (nghttp2_ssize)(in - first); ++ } + } + } + } +@@ -6797,6 +6811,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + return rv; + } + ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } ++ + session_inbound_frame_reset(session); + + break; +@@ -6863,6 +6881,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + return rv; + } + ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } ++ + if (rv != 0) { + busy = 1; + +@@ -6881,6 +6903,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + return rv; + } + ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } ++ + session_inbound_frame_reset(session); + + break; +@@ -6909,6 +6935,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + return rv; + } + ++ if (iframe->state == NGHTTP2_IB_IGN_ALL) { ++ return (nghttp2_ssize)inlen; ++ } ++ + session_inbound_frame_reset(session); + + break; +-- +2.53.0 + diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 8b026bb82f1537d476e9266ece01f26f57fd8936..0000000000000000000000000000000000000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# nodejs24 - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index d0b257937f8735603bb8cd296236c69901bffeaa..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# nodejs24 - -#### 介绍 -{**以下是 Gitee 平台说明,您可以替换此简介** -Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/i18n-btest402.js b/i18n-btest402.js new file mode 100644 index 0000000000000000000000000000000000000000..277319cdccaffc11917b10d338ea3613604fd8c7 --- /dev/null +++ b/i18n-btest402.js @@ -0,0 +1,151 @@ +// Copyright (C) 2014 IBM Corporation and Others. All Rights Reserved. +// This file is part of the Node.JS ICU enablement work +// https://github.com/joyent/node/pull/7719 +// and is under the same license. +// +// This is a very, very, very basic test of es402 +// +// URL: https://github.com/srl295/btest402 +// Author: Steven R. Loomis +// +// for a complete test, see http://test262.ecmascript.org +// +// Usage: node btest402.js + +try { + console.log("You have console.log."); +} catch(e) { + // this works on d8 + console = { log: print }; + console.log("Now you have console.log."); +} + +function runbtest() { + var summary = {}; + + try { + var i = Intl; + summary.haveIntl = true; + console.log("+ Congrats, you have the Intl object."); + } catch(e) { + console.log("You don't have the Intl object: " + e); + } + + if(summary.haveIntl) { + var locs = [ "en", "mt", "ja","tlh"]; + var d = new Date(196400000); + for ( var n=0; n 0 ) { + lsummary.haveSlo = true; + } + } catch (e) { + console.log("SLO err: " + e); + } + var dstr = "ERR"; + try { + lsummary.dstr = d.toLocaleString(loc,{month: "long",day:"numeric",weekday:"long",year:"numeric"}); + console.log(" date: (supported:"+sl+") " + lsummary.dstr); + } catch (e) { + console.log(" Date Format err: " + e); + } + try { + new Intl.v8BreakIterator(); + console.log(" Intl.v8BreakIterator:" + + Intl.v8BreakIterator.supportedLocalesOf(loc) + " Supported, first()==" + + new Intl.v8BreakIterator(loc).first() ); + lsummary.brkOk = true; + } catch ( e) { + console.log(" Intl.v8BreakIterator error (NOT part of EcmaScript402): " + e); + } + console.log(); + } + } + + // print summary + console.log(); + console.log("--------- Analysis ---------"); + stxt = ""; + if( summary.haveIntl ) { + console.log("* You have the 'Intl' object. Congratulations! You have the possibility of being EcmaScript 402 compliant."); + stxt += "Have Intl, "; + + if ( !summary.en.haveSlo ) { + stxt += "Date:no EN, "; + console.log("* English isn't a supported language by the date formatter. Perhaps the data isn't installed properly?"); + } + if ( !summary.tlh.haveSlo ) { + stxt += "Date:no 'tlh', "; + console.log("* Klingon isn't a supported language by the date formatter. It is without honor!"); + } + // now, what is it actually saying + if( summary.en.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'en', "; + console.log("* the English date format text looks bad to me. Doesn't even have the year."); + } else { + if( summary.en.dstr.indexOf("Jan") == -1) { + stxt += "Date:bad 'en', "; + console.log("* The English date format text looks bad to me. Doesn't have the right month."); + } + } + + if( summary.mt.dstr == summary.en.dstr ) { + stxt += "Date:'mt'=='en', "; + console.log("* The English and Maltese look the same to me. Probably a 'small' build."); + } else if( summary.mt.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'mt', "; + console.log("* the Maltese date format text looks bad to me. Doesn't even have the year. (This data is missing from the Chromium ICU build)"); + } else { + if( summary.mt.dstr.indexOf("Jann") == -1) { + stxt += "Date:bad 'mt', "; + console.log("* The Maltese date format text looks bad to me. Doesn't have the right month. (This data is missing from the Chromium ICU build)"); + } + } + + if ( !summary.ja.haveSlo ) { + stxt += "Date:no 'ja', "; + console.log("* Japanese isn't a supported language by the date formatter. Could be a 'small' build."); + } else { + if( summary.ja.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'ja', "; + console.log("* the Japanese date format text looks bad to me. Doesn't even have the year."); + } else { + if( summary.ja.dstr.indexOf("日") == -1) { + stxt += "Date:bad 'ja', "; + console.log("* The Japanese date format text looks bad to me."); + } + } + } + if ( summary.en.brkOk ) { + stxt += "FYI: v8Brk:have 'en', "; + console.log("* You have Intl.v8BreakIterator support. (Note: not part of ES402.)"); + } + } else { + console.log("* You don't have the 'Intl' object. You aren't EcmaScript 402 compliant."); + stxt += " NO Intl. "; + } + + // 1-liner. + console.log(); + console.log("----------------"); + console.log( "SUMMARY:" + stxt ); +} + +var dorun = true; + +try { + if(btest402_noautorun) { + dorun = false; + } +} catch(e) {} + +if(dorun) { + console.log("Running btest.."); + runbtest(); +} diff --git a/nodejs.pc.in b/nodejs.pc.in new file mode 100644 index 0000000000000000000000000000000000000000..f83ddd1cf7dc012ceb9fa30fe4e1ef47bb12b9e2 --- /dev/null +++ b/nodejs.pc.in @@ -0,0 +1,9 @@ +prefix=@PREFIX@ +includedir=@INCLUDEDIR@ +libdir=@LIBDIR@ + +Name: @PKGCONFNAME@ +Description: JavaScript Runtime +Version: @NODEJS_VERSION@ +Libs: -L${libdir} -lnode +Cflags: -I${includedir}/node diff --git a/nodejs24.spec b/nodejs24.spec new file mode 100644 index 0000000000000000000000000000000000000000..331c9ecce16a7f1e46dc2c67449926d19f4caa0d --- /dev/null +++ b/nodejs24.spec @@ -0,0 +1,629 @@ +%bcond_without bootstrap +%bcond_without bundled_merve +%bcond_without bundled_undici +%bcond_with bundled_zlib +%if %{with bootstrap} +%bcond_without bundled_sqlite +%else +%bcond_with bundled_sqlite +%endif +%if %{with bootstrap} +%bcond_without bundled +%else +%bcond_with bundled +%endif + +# LTO is currently broken on Node.js builds at the system level; +# Node.js will enable LTO selectively via --enable-lto in configure. +%global _lto_cflags %{nil} + +%global nodejs_major 24 +%global nodejs_minor 14 +%global nodejs_patch 0 +%global nodejs_soversion 137 +%global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} +%global nodejs_datadir %{_datarootdir}/node-%{nodejs_major} +%global icudatadir %{nodejs_datadir}/icudata +%global nodejs_common_sitelib %{_prefix}/lib/node_modules +%global nodejs_private_sitelib %{_prefix}/lib/node_modules_%{nodejs_major} + +# Version from node-v24.14.0/deps/ada/ada.h +%global ada_version 3.4.2 +# Version from node-v24.14.0/deps/cares/include/ares_version.h +%global c_ares_version 1.34.6 +# Version from node-v24.14.0/deps/histogram/include/hdr/hdr_histogram_version.h +%global histogram_version 0.11.9 +# Version from node-v24.14.0/tools/icu/current_ver.dep +%global icu_major 78 +%global icu_minor 2 +%global icu_version %{icu_major}.%{icu_minor} +# Version from node-v24.14.0/deps/uv/include/uv/version.h +%global libuv_version 1.51.0 +# Version from node-v24.14.0/deps/llhttp/include/llhttp.h +%global llhttp_version 9.3.0 +# Version from node-v24.14.0/deps/merve/merve.h +%global merve_version 1.0.0 +# Version from node-v24.14.0/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h (post downstream patch) +%global nghttp2_version 1.68.1 +# Version from node-v24.14.0/deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h +%global nghttp3_version 1.6.0 +# Version from node-v24.14.0/deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h +%global ngtcp2_version 1.11.0 +# Version from node-v24.14.0/lib/punycode.js +%global punycode_version 2.1.0 +# Version from node-v24.14.0/deps/undici/src/package.json +%global undici_version 7.21.0 +# Version from node-v24.14.0/deps/npm/package.json +%global npm_version 11.9.0 +# Version from node-v24.14.0/deps/sqlite/sqlite3.h +%global sqlite_version 3.51.2 +# Version from node-v24.14.0/deps/uvwasi/include/uvwasi.h +%global uvwasi_version 0.0.23 +# Version from node-v24.14.0/deps/v8/include/v8-version.h +%global v8_major 13 +%global v8_minor 6 +%global v8_build 233 +%global v8_patch 17 +%global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} +# Version from node-v24.14.0/deps/zlib/zlib.h +%global zlib_version 1.3.1 + +Summary: JavaScript runtime +Name: nodejs24 +Version: %{nodejs_version} +Release: 1%{?dist} +# These macros depend on %%{release} and must be defined after Release: +%global nodejs_release %{release} +%global nodejs_envr %{nodejs_version}-%{nodejs_release} +%global npm_release %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} +%global npm_envr %{npm_version}-%{npm_release} +%global v8_release %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} + +License: Apache-2.0 AND Artistic-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BlueOak-1.0.0 AND CC-BY-3.0 AND CC0-1.0 AND ISC AND MIT +URL: https://nodejs.org + +# Main source tarball – see https://nodejs.org/dist for upstream releases +Source0: node-v%{nodejs_version}-stripped.tar.gz +# Full ICU database data +Source1: https://github.com/unicode-org/icu/releases/download/release-%{icu_version}/icu4c-%{icu_version}-data-bin-b.zip +Source2: https://github.com/unicode-org/icu/releases/download/release-%{icu_version}/icu4c-%{icu_version}-data-bin-l.zip +# Distribution configuration files +Source3: nodejs.pc.in +Source4: v8.pc.in +Source5: npmrc.in +# Check section tests +Source10: test-runner.sh +Source11: test-should-pass.txt +Source20: i18n-btest402.js + +Patch3000: 0001-Remove-unused-OpenSSL-config.patch +Patch3001: 0001-fips-disable-options.patch +Patch3002: 0003-downstream-update-nghttp2-to-1.68.1.patch + +ExclusiveArch: %{nodejs_arches} + +BuildRequires: chrpath +BuildRequires: jq +BuildRequires: unzip +BuildRequires: nodejs-packaging +BuildRequires: gcc >= 10.0, gcc-c++ >= 10.0, pkgconf, ninja-build +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-jinja2 +BuildRequires: brotli-devel +BuildRequires: openssl >= 3.0.2 +BuildRequires: openssl-devel >= 3.0.2 +%if !%{with bundled_zlib} +BuildRequires: zlib-devel +%endif +%if !%{with bundled_sqlite} +BuildRequires: pkgconfig(sqlite3) >= 3.45.0 +%endif +%if %{without bundled} +BuildRequires: libuv-devel >= %{libuv_version} +%endif +%if %{without bundled_merve} +BuildRequires: nodejs-merve +%endif +%if %{without bundled_undici} +BuildRequires: nodejs-undici +%endif + +Requires: ca-certificates +Requires: nodejs24-libs = %{nodejs_envr} +Recommends: nodejs24-docs = %{nodejs_envr} +Recommends: nodejs24-full-i18n = %{nodejs_envr} +Recommends: nodejs24-npm >= %{npm_envr} + +Provides: nodejs(abi) = %{nodejs_soversion}, nodejs(abi%{nodejs_major}) = %{nodejs_soversion} +Provides: nodejs(engine) = %{nodejs_version} +Provides: bundled(nghttp2) = %{nghttp2_version} +Provides: bundled(nghttp3) = %{nghttp3_version} +Provides: bundled(ngtcp2) = %{ngtcp2_version} +Provides: bundled(llhttp) = %{llhttp_version} +Provides: bundled(c-ares) = %{c_ares_version} +Provides: bundled(v8) = %{v8_version} +Provides: bundled(icu) = %{icu_version} +Provides: bundled(uvwasi) = %{uvwasi_version} +Provides: bundled(histogram) = %{histogram_version} +Provides: bundled(ada) = %{ada_version} +Provides: nodejs-punycode = %{punycode_version} +Provides: npm(punycode) = %{punycode_version} + +# Node.js conflicts with the 'node' package from ham-radio group +Conflicts: node <= 0.3.2-12 + +%if %{with bundled_zlib} +Provides: bundled(zlib) = %{zlib_version} +%endif +%if %{with bundled_sqlite} +Provides: bundled(sqlite) = %{sqlite_version} +%endif +%if %{with bundled} +Provides: bundled(libuv) = %{libuv_version} +%else +Requires: libuv >= %{libuv_version} +%endif +%if %{with bundled_merve} +Provides: bundled(nodejs-merve) = %{merve_version} +%else +Requires: nodejs-merve +%endif +%if %{with bundled_undici} +Provides: bundled(nodejs-undici) = %{undici_version} +%else +Requires: nodejs-undici +%endif + +%description +Node.js is a platform built on Chrome's JavaScript runtime +for easily building fast, scalable network applications. +Node.js uses an event-driven, non-blocking I/O model that +makes it lightweight and efficient, perfect for data-intensive +real-time applications that run across distributed devices. + + +%package devel +Summary: JavaScript runtime – development headers +Requires: nodejs24 = %{nodejs_envr} +Requires: nodejs24-libs = %{nodejs_envr} +Requires: nodejs-packaging +Requires: openssl-devel +Requires: brotli-devel +%if !%{with bundled_zlib} +Requires: zlib-devel +%endif +%if %{without bundled} +Requires: libuv-devel +%endif +# Note: -devel sub-packages of different streams conflict with each other, +# as the headers cannot be easily namespaced (would break node-gyp search path). +Provides: nodejs-devel = %{nodejs_envr} +Provides: alternative-for(nodejs-devel) = %{nodejs_envr} +Conflicts: alternative-for(nodejs-devel) +Conflicts: nodejs-devel-pkg + +%description devel +Development headers for the Node.js JavaScript runtime. + + +%package -n v8-%{v8_major}.%{v8_minor}-devel +Summary: v8 – development headers +Version: %{v8_version} +Release: %{v8_release} + +Requires: nodejs24-devel = %{nodejs_envr} +Requires: nodejs24-libs = %{nodejs_envr} +Provides: v8-devel = %{v8_version}-%{v8_release} +Conflicts: v8-devel +Conflicts: v8-314-devel + +%description -n v8-%{v8_major}.%{v8_minor}-devel +Development headers for the v8 runtime. + + +%package libs +Summary: Node.js and v8 libraries +Provides: v8 = %{v8_version}-%{v8_release} +Provides: libv8.so.%{v8_major}()(64bit) = %{v8_version} +Provides: libv8_libbase.so.%{v8_major}()(64bit) = %{v8_version} +Provides: libv8_libplatform.so.%{v8_major}()(64bit) = %{v8_version} +Provides: nodejs-libs = %{nodejs_envr} + +%description libs +Libraries to support Node.js and provide stable v8 interfaces. + + +%package full-i18n +Summary: Non-English locale data for Node.js +Requires: nodejs24 = %{nodejs_envr} + +%description full-i18n +Optional data files to provide full ICU support for Node.js. +Remove this package to save space if non-English locales are not needed. + + +%package docs +Summary: Node.js API documentation +BuildArch: noarch +Requires: nodejs24 = %{nodejs_envr} +Provides: nodejs-docs = %{nodejs_envr} + +%description docs +The API documentation for the Node.js JavaScript runtime. + + +%package npm +Summary: Node.js Package Manager +Version: %{npm_version} +Release: %{npm_release} + +BuildArch: noarch +Requires: nodejs24 = %{nodejs_envr} +Recommends: nodejs24-docs = %{nodejs_envr} +Provides: npm(npm) = %{npm_version} +Provides: nodejs24-npm = %{npm_envr} + +%description npm +npm is a package manager for node.js. You can use it to install and publish +your node programs. It manages dependencies and does other cool stuff. + + +%prep +%autosetup -p1 -n node-v%{nodejs_version} +# Remove de-vendored dependencies +readonly -a devendored_paths=( + deps/v8/third_party/jinja2 tools/inspector_protocol/jinja2 + deps/brotli + %{?!with_bundled:deps/uv} + %{?!with_bundled_merve:deps/merve} + %{?!with_bundled_undici:deps/undici} + %{?!with_bundled_sqlite:deps/sqlite} + %{?!with_bundled_zlib:deps/zlib} +) +rm -rf "${devendored_paths[@]}" + +# Use system python throughout the whole sources +readonly -a potential_python_scripts=( + $(grep --recursive --files-with-matches --max-count=1 python) +) +%py3_shebang_fix "${potential_python_scripts[@]}" + + +%build +# Additional build flags +readonly -a extra_cflags=( + # Decrease debuginfo verbosity; otherwise the linker will run out of memory when linking v8 + -g1 + # Build with libuv compatibility defines + -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 + # Do not use OpenSSL Engine API + -DOPENSSL_NO_ENGINE + # There is a bug in either torque or gcc causing segfault on some arches with -O2; + # -O3 works fine so use it like upstream + -O3 + # v8 segfaults when Identical Code Folding is enabled + # https://github.com/nodejs/node/issues/47865 + -fno-ipa-icf +) +# Configuration flags +readonly -a configure_flags=( + # Basic build options + --verbose --ninja + # Use FHS and build separate libnode.so + --prefix=%{_prefix} --shared --libdir=%{_lib} + # Use system OpenSSL + --shared-openssl + --openssl-is-fips + --openssl-conf-name=openssl_conf + --openssl-use-def-ca-store + # Link with system libraries where appropriate + --shared-brotli + %{?!with_bundled_zlib:--shared-zlib} + %{?!with_bundled_sqlite:--shared-sqlite} + %{?!with_bundled:--shared-libuv} +%if %{without bundled_merve} + --shared-builtin-merve/lexer-path=%{nodejs_common_sitelib}/merve/lexer.js + --shared-builtin-merve/dist/lexer-path=%{nodejs_common_sitelib}/merve/dist/lexer.js +%endif +%if %{without bundled_undici} + --shared-builtin-undici/undici-path=%{nodejs_common_sitelib}/undici/loader.js +%endif + # Enable LTO where possible + --enable-lto + # Compile with small icu, extendable via full-i18n subpackage + --with-intl=small-icu --with-icu-default-data-dir=%{icudatadir} + # Do not ship corepack + --without-corepack + # Use local headers for native addons when available + --use-prefix-to-find-headers +) + +# https://github.com/nodejs/build/issues/4099 +%ifarch loongarch64 +export CFLAGS="${CFLAGS} ${extra_cflags[*]}" CXXFLAGS="${CXXFLAGS} ${extra_cflags[*]} -DHWY_BROKEN_EMU128=0" +%else +export CFLAGS="${CFLAGS} ${extra_cflags[*]}" CXXFLAGS="${CXXFLAGS} ${extra_cflags[*]}" +%endif +%python3 configure.py "${configure_flags[@]}" +%ninja_build -C out/Release + + +%install +# Fill in values in configuration file templates +# usage: mkconfig [additional sed options] config_file +mkconfig() { + local -ra replace_opts=( + -e 's;@INCLUDEDIR@;%{_includedir};g' + -e 's;@LIBDIR@;%{_libdir};g' + -e 's;@NODEJS_VERSION@;%{nodejs_version};g' + -e 's;@PREFIX@;%{_prefix};g' + -e 's;@PYTHON3@;%{python3};g' + -e 's;@SYSCONFDIR@;%{_sysconfdir};g' + -e 's;@V8_VERSION@;%{v8_version};g' + ) + sed --regexp-extended "${replace_opts[@]}" "$@" +} + +# === Base installation +%{python3} tools/install.py install --dest-dir="${RPM_BUILD_ROOT}" --prefix="%{_prefix}" + +# Correct the main binary permissions and remove RPATH +chmod 0755 "${RPM_BUILD_ROOT}%{_bindir}/node" +chrpath --delete "${RPM_BUILD_ROOT}%{_bindir}/node" + +# Provide library symlinks +pushd "${RPM_BUILD_ROOT}%{_libdir}" +ln -srf libnode.so.%{nodejs_soversion} libnode.so +for soname in libv8{,_libbase,_libplatform}; do + ln -srf libnode.so.%{nodejs_soversion} "${soname}.so.%{v8_major}.%{v8_minor}" + ln -srf libnode.so.%{nodejs_soversion} "${soname}.so" +done +popd + +# Massage includedir – provide compatibility symlinks for v8 headers +pushd "${RPM_BUILD_ROOT}%{_includedir}" +for header in node/libplatform node/v8*.h node/cppgc; do + ln -srf "${header}" "$(basename "${header}")" +done +# config.gypi is platform-dependent and would conflict between arches +mv node/config.gypi node/config-%{_arch}.gypi +popd + +# Install node-gyp configuration files +install -p -Dt "${RPM_BUILD_ROOT}%{nodejs_datadir}" common.gypi + +# Create pkg-config files +readonly PKGCONFDIR="${RPM_BUILD_ROOT}%{_libdir}/pkgconfig" +mkdir -p "${PKGCONFDIR}" +mkconfig -e 's;@PKGCONFNAME@;nodejs-%{nodejs_major};g' \ + <%{SOURCE3} >"${PKGCONFDIR}/nodejs-%{nodejs_major}.pc" +mkconfig -e 's;@PKGCONFNAME@;v8-%{v8_major}.%{v8_minor};g' \ + <%{SOURCE4} >"${PKGCONFDIR}/v8-%{v8_major}.%{v8_minor}.pc" + +# Install documentation +mkdir -p "${RPM_BUILD_ROOT}%{_pkgdocdir}/html" +cp -pr doc/* "${RPM_BUILD_ROOT}%{_pkgdocdir}/html" +rm -f "${RPM_BUILD_ROOT}%{_pkgdocdir}/html/node.1" + +# Debugger support files from v8 – move to the expected documentation directory +pushd "${RPM_BUILD_ROOT}%{_defaultdocdir}" +mv -t "${RPM_BUILD_ROOT}%{_pkgdocdir}" node/gdbinit node/lldb_commands.py +popd + +# === Full ICU data installation +if test "$(%{python3} -Ic 'import sys; print(sys.byteorder)')" = "little"; then + readonly icu_source='%{SOURCE2}' icu_data_file='icudt%{icu_major}l.dat' +else + readonly icu_source='%{SOURCE1}' icu_data_file='icudt%{icu_major}b.dat' +fi +readonly icu_data_dir="${RPM_BUILD_ROOT}%{icudatadir}" +readonly icu_doc_dir="full-icu" +unzip -od "${icu_data_dir}" "${icu_source}" "${icu_data_file}" +unzip -od "${icu_doc_dir}" "${icu_source}" -x "${icu_data_file}" + +# === NPM installation and tweaks +declare NPM_DIR="${RPM_BUILD_ROOT}%{nodejs_common_sitelib}/npm" +# Correct permissions: remove executable bits except from npm bin scripts +find "${NPM_DIR}" \ + -not -path "${NPM_DIR}/bin/*" \ + -not -path "${NPM_DIR}/node_modules/node-gyp/bin/node-gyp.js" \ + -not -path "${NPM_DIR}/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp" \ + -type f -executable \ + -execdir chmod -x '{}' + + +# Remove project-specific .npmrc; replace with distro-wide configuration +rm -f "${NPM_DIR}/.npmrc" +mkconfig <%{SOURCE5} >"${NPM_DIR}/npmrc" + +# Install HTML documentation +mkdir -p "${RPM_BUILD_ROOT}%{_pkgdocdir}/npm/" +cp -prt "${RPM_BUILD_ROOT}%{_pkgdocdir}/npm/" deps/npm/docs +rm -rf "${NPM_DIR}/docs" +ln -srf "${RPM_BUILD_ROOT}%{_pkgdocdir}/npm/docs" "${NPM_DIR}/docs" + +# Install man pages +mkdir -p "${RPM_BUILD_ROOT}%{_mandir}" +cp -prt "${RPM_BUILD_ROOT}%{_mandir}" deps/npm/man/* +rm -rf "${NPM_DIR}/man" +ln -srf "${RPM_BUILD_ROOT}%{_mandir}" "${NPM_DIR}/man" + +# === Adjustments for parallel-stream coexistence +# Rename the main binary to versioned form +mv "${RPM_BUILD_ROOT}%{_bindir}/node" "${RPM_BUILD_ROOT}%{_bindir}/node-%{nodejs_major}" + +# Make the sitelib private +mv "${RPM_BUILD_ROOT}%{nodejs_common_sitelib}" "${RPM_BUILD_ROOT}%{nodejs_private_sitelib}" +declare NPM_DIR="${RPM_BUILD_ROOT}%{nodejs_private_sitelib}/npm" + +# Adjust npm scripts to use the renamed interpreter +readonly SHEBANG_ERE='^#!/usr/bin/(env\s+)?node\b' +readonly SHEBANG_FIX='#!%{_bindir}/node-%{nodejs_major}' +readonly -a npm_bin_dirs=("${NPM_DIR}/bin" "${NPM_DIR}/node_modules") +find "${npm_bin_dirs[@]}" -type f \ +| xargs grep --extended-regexp --files-with-matches "${SHEBANG_ERE}" \ +| xargs sed --regexp-extended --in-place "s;${SHEBANG_ERE};${SHEBANG_FIX};" + +# Fix shell scripts that call 'node' as a bare command +readonly -a known_shell_scripts=( + "${NPM_DIR}/bin/node-gyp-bin/node-gyp" + "${NPM_DIR}/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp" +) +sed --regexp-extended --in-place \ + 's;\bnode(\s);%{_bindir}/node-%{nodejs_major}\1;' "${known_shell_scripts[@]}" + +# Replace npm bindir symlinks with versioned ones +relink_bin() { + local -r basename="${1?No link basename provided!}" + local -r source="${2?No link source provided!}" + + ln -srf "${source}" "${RPM_BUILD_ROOT}%{_bindir}/${basename}-%{nodejs_major}" + rm -f "${RPM_BUILD_ROOT}%{_bindir}/${basename}" +} +relink_bin npm "${NPM_DIR}/bin/npm-cli.js" +relink_bin npx "${NPM_DIR}/bin/npx-cli.js" + +# Move man pages to versioned directory +readonly VERSIONED_MANDIR="${RPM_BUILD_ROOT}%{nodejs_datadir}/man" +mkdir -p "${VERSIONED_MANDIR}" +mv -t "${VERSIONED_MANDIR}" "${RPM_BUILD_ROOT}%{_mandir}"/man? +# Compress manually so rpm will (re-)create valid symlinks +readonly COMPRESS=${COMPRESS:-gzip -9 -n} +find "${VERSIONED_MANDIR}" -type f -name '*.[123456789]' -execdir ${COMPRESS} '{}' + +ln -srfn "${VERSIONED_MANDIR}" "${NPM_DIR}/man" +# - create symlinks for the versioned binaries +mkdir -p "${RPM_BUILD_ROOT}%{_mandir}/man1" +ln -srf "${VERSIONED_MANDIR}/man1/node.1.gz" "${RPM_BUILD_ROOT}%{_mandir}/man1/node-%{nodejs_major}.1.gz" +ln -srf "${VERSIONED_MANDIR}/man1/npm.1.gz" "${RPM_BUILD_ROOT}%{_mandir}/man1/npm-%{nodejs_major}.1.gz" +ln -srf "${VERSIONED_MANDIR}/man1/npx.1.gz" "${RPM_BUILD_ROOT}%{_mandir}/man1/npx-%{nodejs_major}.1.gz" + + +%check +export LD_LIBRARY_PATH="${RPM_BUILD_ROOT}%{_libdir}:${LD_LIBRARY_PATH}" + +# "aliases" to the just-build binaries +node() { + "${RPM_BUILD_ROOT}%{_bindir}/node-%{nodejs_major}" \ + --icu-data-dir="${RPM_BUILD_ROOT}%{icudatadir}" \ + "$@" +} +npm() { + node "${RPM_BUILD_ROOT}%{_bindir}/npm-%{nodejs_major}" "$@" +} + +ln -sfn "${RPM_BUILD_ROOT}%{_includedir}/node/config-%{_arch}.gypi" \ + "${RPM_BUILD_ROOT}%{_includedir}/node/config.gypi" +pushd test/sqlite/test_sqlite_extensions +"${RPM_BUILD_ROOT}%{_bindir}/node-%{nodejs_major}" \ + "${RPM_BUILD_ROOT}%{nodejs_private_sitelib}/npm/node_modules/node-gyp/bin/node-gyp.js" \ + rebuild \ + --nodedir="${RPM_BUILD_ROOT}%{_prefix}" +popd +rm -f "${RPM_BUILD_ROOT}%{_includedir}/node/config.gypi" + +# === Sanity check for important versions +node -e 'require("assert").equal(process.versions.node, "%{nodejs_version}")' +node -e 'require("assert").equal(process.versions.v8.replace(/-node\.\d+$/, ""), "%{v8_version}")' +node -e 'require("assert").equal(process.versions.ares.replace(/-DEV$/, ""), "%{c_ares_version}")' +node --no-deprecation -e 'require("assert").equal(require("punycode").version, "%{punycode_version}")' + +npm version --json | jq --exit-status '.npm == "%{npm_version}"' + +# === Custom and/or devendored parts sanity checks +# - full i18n support is available +node '%{SOURCE20}' +# - npm update notifier is disabled +npm config list --json | jq --exit-status '.["update-notifier"] == false' + +# === Upstream test suite +sed -i \ + -e 's|^parallel/test-tls-client-getephemeralkeyinfo\.js$|# &|' \ + -e 's|^parallel/test-tls-session-cache\.js$|# &|' \ + '%{SOURCE11}' +%ifarch loongarch64 +# v8 perf map output format does not match loongarch64 builtin address layout +sed -i \ + -e 's|^v8-updates/test-linux-perf-logger\.js$|# &|' \ + '%{SOURCE11}' +%endif +bash '%{SOURCE10}' "${RPM_BUILD_ROOT}%{_bindir}/node-%{nodejs_major}" test/ '%{SOURCE11}' + + +%pretrans -p +path = "/usr/lib/node_modules" +st = posix.stat(path) +if st and st.type == "link" then + os.remove(path) +end + + +%files +%doc README.md CHANGELOG.md GOVERNANCE.md onboarding.md +%license LICENSE +%dir %{nodejs_datadir}/ +%dir %{nodejs_datadir}/man/ +%dir %{nodejs_datadir}/man/man1/ +%dir %{nodejs_private_sitelib}/ +%{_bindir}/node-%{nodejs_major} +%{nodejs_datadir}/man/man1/node.1* +%{_mandir}/man1/node-%{nodejs_major}.1* + +%files libs +%license LICENSE +%{_libdir}/libnode.so.%{nodejs_soversion} +%{_libdir}/libv8.so.%{v8_major}.%{v8_minor} +%{_libdir}/libv8_libbase.so.%{v8_major}.%{v8_minor} +%{_libdir}/libv8_libplatform.so.%{v8_major}.%{v8_minor} + +%files devel +%license LICENSE +%dir %{nodejs_datadir}/ +%{_includedir}/node/ +%{_libdir}/libnode.so +%{_libdir}/pkgconfig/nodejs-%{nodejs_major}.pc +%{_pkgdocdir}/gdbinit +%{_pkgdocdir}/lldb_commands.py +%{nodejs_datadir}/common.gypi + + +%files -n v8-%{v8_major}.%{v8_minor}-devel +%license LICENSE +%{_includedir}/cppgc +%{_includedir}/libplatform +%{_includedir}/v8*.h +%{_libdir}/libv8.so +%{_libdir}/libv8_libbase.so +%{_libdir}/libv8_libplatform.so +%{_libdir}/pkgconfig/v8-%{v8_major}.%{v8_minor}.pc + +%files full-i18n +%doc full-icu/icu4c-%{icu_version}-data-bin-?-README.md +%license full-icu/LICENSE +%dir %{nodejs_datadir}/ +%{nodejs_datadir}/icudata/ + +%files npm +%doc deps/npm/README.md +%license deps/npm/LICENSE +%dir %{nodejs_datadir}/ +%dir %{nodejs_private_sitelib}/ +%{_bindir}/npm-%{nodejs_major} +%{_bindir}/npx-%{nodejs_major} +%{_mandir}/man1/npm-%{nodejs_major}.1* +%{_mandir}/man1/npx-%{nodejs_major}.1* +%{nodejs_datadir}/man +%{nodejs_private_sitelib}/npm/ +%exclude %{nodejs_datadir}/man/man1/node*.1* + +%files docs +%doc doc/README.md +%license LICENSE +%dir %{_pkgdocdir} +%{_pkgdocdir}/html/ +%{_pkgdocdir}/npm/ + +%changelog +* Sun Apr 19 2026 dorsoli - 24.14.0-1 +- [Type] sync +- [DESC] initial build for Node.js 24 LTS +- addresses CVE-2026-27135 via downstream nghttp2 1.68.1 patch diff --git a/npmrc.in b/npmrc.in new file mode 100644 index 0000000000000000000000000000000000000000..28381f85a4122f1822760bfb98b44a0cd7eb1cc3 --- /dev/null +++ b/npmrc.in @@ -0,0 +1,7 @@ +# This is the distribution-level configuration file for npm. +# To configure npm on a system level, use the globalconfig below (defaults to @SYSCONFDIR@/npmrc). +# vim:set filetype=dosini: + +globalconfig=@SYSCONFDIR@/npmrc +prefix=/usr/local +update-notifier=false diff --git a/sources b/sources new file mode 100644 index 0000000000000000000000000000000000000000..49d0b003d6f78e80aff01d7d376c5d5870c3f998 --- /dev/null +++ b/sources @@ -0,0 +1,3 @@ +SHA512 (node-v24.14.0-stripped.tar.gz) = 76995f86994525a76e542b43f31a6acb21be55ef1cf744f0fd8b91d4edd42295906506bc6f7a27a98ee24a9e8c8b9118788d04c957c28a3c89bdccfc47983f26 +SHA512 (icu4c-78.2-data-bin-b.zip) = 032a1e519bf92dfa7936ef85ebed697550dbcb4e32c6ecd28ffecb158a403eeff6c0a3545b2551eba73f288e31693be6880e202a38cd86c129dffa395e8ab625 +SHA512 (icu4c-78.2-data-bin-l.zip) = c0b46de115332940d3276763904caa6257eb516edce4382632f4b96a5b010fee4cb06a5e10ef5eee2f881515c1ee8277d9ae59015f6de6fe1d175b9d00dbb1ca diff --git a/test-runner.sh b/test-runner.sh new file mode 100755 index 0000000000000000000000000000000000000000..dc84920606a5663c1f7bcd9bb44806c22c0c874e --- /dev/null +++ b/test-runner.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +NODE_BIN="$1" +PARENT_TEST_FOLDER="$2" +TEST_LIST_FILE="$3" + +# At most 10 min per test +TIMEOUT_DURATION=600 +# Exit code +FINAL_RESULT=0 +ARCH=$(uname -m) + +echo "Started test run:" +# Run the list of test +while IFS= read -r test_line; do + # ignore commented lines + if [[ "$test_line" =~ ^# ]]; then + continue + fi + # If test has specified ARCH which it should be skipped + # Extract it + TEST_PATH=$(echo "$test_line" | awk '{print $1}') + IGNORE_ARCHES=$(echo "$test_line" |\ + awk '{for (i=2; i<=NF; i++) printf "%s ", $i; print ""}') + + # Skip test for specified ARCH + for ARCH_IGNORE in $IGNORE_ARCHES; do + if [[ "$ARCH_IGNORE" == "$ARCH" ]]; then + echo "Skipping test, current arch is in ignore: $TEST_PATH ($ARCH_IGNORE)" + continue 2 + fi + done + + # Construct test path + TEST_SCRIPT="$PARENT_TEST_FOLDER/$TEST_PATH" + + if [ ! -f "$TEST_SCRIPT" ]; then + echo "Test script not found: $TEST_SCRIPT" + continue + fi + + TEST_OUTPUT=$(timeout "$TIMEOUT_DURATION" "$NODE_BIN" "$TEST_SCRIPT" 2>&1) + TEST_RESULT=$? + + # Handle test result + if [ $TEST_RESULT -ne 0 ]; then + FINAL_RESULT=1 + if [ $TEST_RESULT -eq 124 ]; then + echo "Test timed out: $TEST_SCRIPT" + else + echo "Test failed: $TEST_SCRIPT" + fi + echo "Test failure message:" + echo "$TEST_OUTPUT" + fi +done < "$TEST_LIST_FILE" + +if [ $FINAL_RESULT -eq 0 ]; then + echo "All tests succesfully passed." +fi +exit $FINAL_RESULT diff --git a/test-should-pass.txt b/test-should-pass.txt new file mode 100644 index 0000000000000000000000000000000000000000..5be7fa8487fc4cba3249e141c538d6beae43b2c6 --- /dev/null +++ b/test-should-pass.txt @@ -0,0 +1,2741 @@ +# List of supported tests +# +# Architectures which are to be ignored are listed after the test +# for example: abort/test-abort-fatal-error.js i686 +# won't be runned for i686 architecture +# +# Each exception should be explained with a comment +# containing date and a short description of the problem +# +wasm-allocation/test-wasm-allocation.js +node-api/test_threadsafe_function/uncaught_exception.js +pummel/test-heapsnapshot-near-heap-limit-by-api.js +pummel/test-heapdump-fs-promise.js +pummel/test-net-pingpong.js +pummel/test-watch-file.js +pummel/test-heapdump-vm-script.js +pummel/test-http-many-keep-alive-connections.js +pummel/test-net-timeout.js +pummel/test-keep-alive.js +pummel/test-net-write-callbacks.js +pummel/test-structuredclone-jstransferable.js +pummel/test-buffer-large-size-buffer-alloc-unsafe-slow.js +pummel/test-fs-watch-file.js +pummel/test-heapdump-http2.js +pummel/test-process-cpuUsage.js +pummel/test-buffer-large-size-buffer-alloc-unsafe.js +pummel/test-string-decoder-large-buffer.js +pummel/test-fs-read-file-sync-utf8-memory.js +pummel/test-tls-throttle.js +pummel/test-heapsnapshot-near-heap-limit.js +pummel/test-https-large-response.js +pummel/test-heapdump-shadow-realm.js +pummel/test-fs-watch-non-recursive.js +pummel/test-net-timeout2.js +pummel/test-child-process-spawn-loop.js +pummel/test-heapdump-tls.js +pummel/test-heapdump-inspector.js +pummel/test-crypto-dh-hash.js +pummel/test-crypto-dh-keys.js +pummel/test-heapdump-worker.js +pummel/test-worker-take-heapsnapshot.js +pummel/test-heapdump-urlpattern.js +pummel/test-fs-watch-system-limit.js +pummel/test-heapdump-zlib.js +pummel/test-process-hrtime.js +pummel/test-heapdump-env.js +pummel/test-buffer-large-size-slowbuffer.js +pummel/test-heapsnapshot-near-heap-limit-bounded.js +pummel/test-stream-pipe-multi.js +pummel/test-buffer-large-size-buffer-alloc.js +pummel/test-heapsnapshot-near-heap-limit-big.js +pummel/test-fs-readfile-tostring-fail.js +pummel/test-vm-memleak.js +pummel/test-heapdump-dns.js +pummel/test-dh-regr.js +pummel/test-fs-watch-file-slow.js +pummel/test-net-many-clients.js +pummel/test-webcrypto-derivebits-pbkdf2.js +pummel/test-buffer-large-size-buffer-write.js +pummel/test-tls-server-large-request.js +pummel/test-vm-race.js +pummel/test-http-upload-timeout.js +pummel/test-net-pause.js +pummel/test-https-no-reader.js +pummel/test-regress-GH-892.js +pummel/test-next-tick-infinite-calls.js +pummel/test-fs-largefile.js +pummel/test-net-pingpong-delay.js +pummel/test-blob-slice-with-large-size.js +pummel/test-timers.js +module-hooks/test-module-hooks-load-context-merged.js +module-hooks/test-module-hooks-resolve-short-circuit-required-start.js +module-hooks/test-module-hooks-builtin-require.js +module-hooks/test-module-hooks-resolve-load-require-inline-typescript-override.js +module-hooks/test-module-hooks-load-chained.js +module-hooks/test-module-hooks-load-detection.js +module-hooks/test-module-hooks-load-buffers.js +module-hooks/test-module-hooks-load-invalid.js +module-hooks/test-module-hooks-require-wasm.js +module-hooks/test-module-hooks-load-url-change-require.js +module-hooks/test-module-hooks-resolve-builtin-on-disk-require.js +module-hooks/test-module-hooks-load-mock.js +module-hooks/test-module-hooks-resolve-builtin-builtin-require.js +module-hooks/test-module-hooks-load-builtin-require.js +module-hooks/test-module-hooks-load-esm-mock.js +module-hooks/test-module-hooks-resolve-context-merged.js +module-hooks/test-module-hooks-resolve-load-require-inline-typescript.js +module-hooks/test-module-hooks-load-short-circuit-required-start.js +module-hooks/test-module-hooks-resolve-short-circuit-required-middle.js +module-hooks/test-module-hooks-load-short-circuit-required-middle.js +module-hooks/test-module-hooks-resolve-short-circuit.js +module-hooks/test-module-hooks-resolve-context-optional.js +module-hooks/test-module-hooks-load-context-optional.js +module-hooks/test-module-hooks-preload.js +module-hooks/test-module-hooks-load-short-circuit.js +module-hooks/test-module-hooks-resolve-invalid.js +module-hooks/test-module-hooks-load-esm.js +async-hooks/hook-checks.js +async-hooks/init-hooks.js +async-hooks/test-async-exec-resource-http.js +async-hooks/test-async-local-storage-socket.js +async-hooks/test-async-local-storage-gcable.js +async-hooks/test-destroy-not-blocked.js +async-hooks/test-pipewrap.js +async-hooks/test-enable-disable.js +async-hooks/test-nexttick-default-trigger.js +async-hooks/test-emit-before-after.js +async-hooks/test-async-local-storage-enter-with.js +async-hooks/test-emit-init.js +async-hooks/test-unhandled-exception-valid-ids.js +async-hooks/test-fseventwrap.js +async-hooks/test-async-local-storage-thenable.js +async-hooks/test-ttywrap.readstream.js +async-hooks/test-graph.shutdown.js +async-hooks/test-graph.pipeconnect.js +async-hooks/test-http-agent-handle-reuse-serial.js +async-hooks/test-embedder.api.async-resource.js +async-hooks/test-improper-unwind.js +async-hooks/test-disable-in-init.js +async-hooks/test-getnameinforeqwrap.js +async-hooks/test-late-hook-enable.js +async-hooks/test-writewrap.js +async-hooks/test-filehandle-no-reuse.js +async-hooks/test-querywrap.js +async-hooks/test-crypto-randomBytes.js +async-hooks/test-tlswrap.js +async-hooks/test-statwatcher.js +async-hooks/test-net-get-connections.js +async-hooks/test-async-local-storage-http.js +async-hooks/test-graph.fsreq-readFile.js +async-hooks/test-async-local-storage-enable-disable.js +async-hooks/test-async-local-storage-tlssocket.js +async-hooks/test-async-local-storage-dgram.js +async-hooks/test-embedder.api.async-resource.runInAsyncScope.js +async-hooks/test-udpsendwrap.js +async-hooks/test-async-await.js +async-hooks/test-httpparser.response.js +async-hooks/test-graph.tcp.js +async-hooks/test-promise.chain-promise-before-init-hooks.js +async-hooks/test-async-local-storage-errors.js +async-hooks/test-async-local-storage-async-await.js +async-hooks/test-timers.setInterval.js +async-hooks/test-http-agent-handle-reuse-parallel.js +async-hooks/test-async-wrap-providers.js +async-hooks/test-graph.timeouts.js +async-hooks/test-promise.js +async-hooks/test-async-local-storage-async-functions.js +async-hooks/test-graph.tls-write.js +async-hooks/test-httpparser-reuse.js +async-hooks/test-graph.statwatcher.js +async-hooks/verify-graph.js +async-hooks/test-graph.intervals.js +async-hooks/test-graph.pipe.js +async-hooks/test-getaddrinforeqwrap.js +async-hooks/test-improper-order.js +async-hooks/test-async-local-storage-misc-stores.js +async-hooks/test-emit-before-on-destroyed.js +async-hooks/test-async-local-storage-stream-finished.js +async-hooks/test-emit-after-on-destroyed.js +async-hooks/test-unhandled-rejection-context.js +async-hooks/test-fsreqcallback-access.js +async-hooks/test-async-local-storage-nested.js +async-hooks/test-graph.http.js +async-hooks/test-udpwrap.js +async-hooks/test-embedder.api.async-resource-no-type.js +async-hooks/test-graph.tls-write-12.js +async-hooks/test-async-local-storage-promises.js +async-hooks/test-async-exec-resource-match.js +async-hooks/test-async-exec-resource-http-32060.js +async-hooks/test-shutdownwrap.js +async-hooks/test-crypto-pbkdf2.js +async-hooks/test-async-local-storage-no-mix-contexts.js +async-hooks/test-httpparser.request.js +async-hooks/test-async-local-storage-args.js +async-hooks/test-signalwrap.js +async-hooks/test-immediate.js +async-hooks/test-no-assert-when-disabled.js +async-hooks/test-pipeconnectwrap.js +async-hooks/test-fsreqcallback-readFile.js +async-hooks/test-promise.promise-before-init-hooks.js +async-hooks/test-tcpwrap.js +async-hooks/test-callback-error.js +async-hooks/test-zlib.zlib-binding.deflate.js +async-hooks/test-timers.setTimeout.js +async-hooks/test-async-exec-resource-http-agent.js +async-hooks/test-queue-microtask.js +async-hooks/test-async-local-storage-http-agent.js +async-hooks/test-enable-in-init.js +wasi/test-wasi-not-started.js +wasi/test-wasi-exitcode.js +wasi/test-wasi-worker-terminate.js +wasi/test-wasi-stdio.js +wasi/test-return-on-exit.js +wasi/test-wasi.js +wasi/test-wasi-poll.js +wasi/test-wasi-options-validation.js +wasi/test-wasi-initialize-validation.js +wasi/test-wasi-start-validation.js +wasi/test-wasi-symlinks.js +wasi/test-wasi-io.js +addons/openssl-client-cert-engine/test.js +addons/register-signal-handler/test.js +addons/symlinked-module/submodule.js +addons/openssl-key-engine/test.js +addons/openssl-test-engine/test.js +sqlite/test_sqlite_extensions/test.js +sequential/test-single-executable-application-snapshot.js +sequential/test-require-cache-without-stat.js +sequential/test-tls-psk-client.js +sequential/test-tls-connect.js +sequential/test-http2-settings-flood.js +sequential/test-module-loading.js +sequential/test-debugger-pid.js +sequential/test-single-executable-application-snapshot-worker.js +sequential/test-gc-http-client-timeout.js +sequential/test-dgram-implicit-bind-failure.js +sequential/test-child-process-exit.js +sequential/test-net-server-bind.js +sequential/test-dgram-bind-shared-ports.js +sequential/test-gc-http-client.js +sequential/test-timers-block-eventloop.js +sequential/test-debugger-custom-port.js +sequential/test-repl-timeout-throw.js +sequential/test-cpu-prof-dir-worker.js +sequential/test-worker-fshandles-open-close-on-termination.js +sequential/test-cluster-net-listen-ipv6only-rr.js +sequential/test-cpu-prof-invalid-options.js +sequential/test-net-localport.js +sequential/test-http2-ping-flood.js +sequential/test-process-warnings.js +sequential/test-inspector-port-cluster.js +sequential/test-net-better-error-messages-port.js +sequential/test-child-process-execsync.js +sequential/test-net-connect-handle-econnrefused.js +sequential/test-net-server-listen-ipv6-link-local.js +sequential/test-cluster-send-handle-large-payload.js +sequential/test-buffer-creation-regression.js +sequential/test-diagnostic-dir-heap-prof.js +sequential/test-pipe.js +sequential/test-tls-session-timeout.js +sequential/test-http-keep-alive-large-write.js +sequential/test-http-server-keep-alive-timeout-slow-server.js +sequential/test-net-connect-local-error.js +sequential/test-deprecation-flags.js +sequential/test-debugger-debug-brk.js +sequential/test-fs-watch.js +sequential/test-cpu-prof-name.js +sequential/test-http-econnrefused.js +sequential/test-heapdump-flag.js +sequential/test-gc-http-client-onerror.js +sequential/test-cluster-net-listen-ipv6only-none.js +sequential/test-debug-prompt.js +sequential/test-dgram-pingpong.js +sequential/test-heapdump.js +sequential/test-net-server-address.js +sequential/test-http-keepalive-maxsockets.js +sequential/test-http2-timeout-large-write.js +sequential/test-write-heapsnapshot-options.js +sequential/test-single-executable-application-assets-raw.js +sequential/test-cluster-inspect-brk.js +sequential/test-cpu-prof-worker-argv.js +sequential/test-cpu-prof-dir-relative.js +sequential/test-cpu-prof-dir-and-name.js +sequential/test-performance-eventloopdelay.js +sequential/test-stream2-fs.js +sequential/test-get-heapsnapshot-options.js +sequential/test-http-regr-gh-2928.js +sequential/test-resolution-inspect-brk.js +sequential/test-net-response-size.js +sequential/test-crypto-timing-safe-equal.js +sequential/test-child-process-emfile.js +sequential/test-fs-readdir-recursive.js +sequential/test-net-reconnect-error.js +sequential/test-single-executable-application-disable-experimental-sea-warning.js +sequential/test-cpu-prof-exit.js +sequential/test-process-title.js +sequential/test-vm-timeout-escape-promise-module-2.js +sequential/test-cpu-prof-dir-absolute.js +sequential/test-cli-syntax-file-not-found.js +sequential/test-heapdump-flag-custom-dir.js +sequential/test-vm-timeout-rethrow.js +sequential/test-net-connect-econnrefused.js +sequential/test-error-serdes.js +sequential/test-net-GH-5504.js +sequential/test-stream2-stderr-sync.js +sequential/test-cpu-prof-default.js +sequential/test-async-wrap-getasyncid.js +sequential/test-fs-opendir-recursive.js +sequential/test-child-process-pass-fd.js +sequential/test-diagnostic-dir-cpu-prof.js +sequential/test-single-executable-application-empty.js +sequential/test-https-connect-localport.js +sequential/test-worker-eventlooputil.js +sequential/test-util-debug.js +sequential/test-http2-large-file.js +sequential/test-worker-fshandles-error-on-termination.js +sequential/test-http-server-request-timeouts-mixed.js +sequential/test-https-server-keep-alive-timeout.js +sequential/test-http2-timeout-large-write-file.js +sequential/test-next-tick-error-spin.js +sequential/test-single-executable-application.js +sequential/test-fs-stat-sync-overflow.js +sequential/test-tls-lookup.js +sequential/test-vm-break-on-sigint.js +sequential/test-cli-syntax-good.js +sequential/test-worker-prof.js +sequential/test-http-server-keep-alive-timeout-slow-client-headers.js +sequential/test-cli-syntax-require.js +sequential/test-debugger-invalid-args.js +sequential/test-cpu-prof-drained.js +sequential/test-worker-heapsnapshot-options.js +sequential/test-cli-syntax-bad.js +sequential/test-cpu-prof-kill.js +sequential/test-http2-max-session-memory.js +sequential/test-single-executable-application-snapshot-and-code-cache.js +sequential/test-net-listen-shared-ports.js +sequential/test-perf-hooks.js +sequential/test-single-executable-application-assets.js +sequential/test-timers-set-interval-excludes-callback-duration.js +sequential/test-single-executable-application-use-code-cache.js +sequential/test-init.js +abort/test-addon-register-signal-handler.js +abort/test-worker-abort-uncaught-exception.js +abort/test-zlib-invalid-internals-usage.js +abort/test-addon-uv-handle-leak.js +abort/test-process-abort-exitcode.js +abort/test-abort-uncaught-exception.js +abort/test-http-parser-consume.js +abort/test-signal-handler.js +abort/test-abort-fatal-error.js +es-module/test-require-module-default-extension.js +es-module/test-require-module-cached-tla.js +es-module/test-require-module-detect-entry-point-aou.js +es-module/test-require-module-conditional-exports.js +es-module/test-require-module-cycle-esm-esm-cjs-esm.js +es-module/test-require-module-dynamic-import-2.js +es-module/test-require-module-with-detection.js +es-module/test-dynamic-import-script-lifetime.js +es-module/test-loaders-hidden-from-users.js +es-module/test-esm-long-path-win.js +es-module/test-require-module-defined-esmodule.js +es-module/test-esm-repl.js +es-module/test-require-module-error-catching.js +es-module/test-esm-loader-cache-clearing.js +es-module/test-wasm-web-api.js +es-module/test-esm-error-cache.js +es-module/test-require-module-tla-retry-require.js +es-module/test-wasm-simple.js +es-module/test-import-preload-require-cycle.js +es-module/test-vm-main-context-default-loader-eval.js +es-module/test-vm-contextified-script-leak.js +es-module/test-vm-compile-function-leak.js +es-module/test-disable-require-module-with-detection.js +es-module/test-esm-undefined-cjs-global-like-variables.js +es-module/test-esm-unknown-extension.js +es-module/test-esm-dynamic-import-attribute.js +es-module/test-esm-cjs-exports.js +es-module/test-require-module-warning.js +es-module/test-require-module-tla-retry-import-2.js +es-module/test-require-module-tla-nested.js +es-module/test-require-module-cycle-cjs-esm-esm.js +es-module/test-vm-compile-function-lineoffset.js +es-module/test-require-module-retry-import-evaluating.js +es-module/test-cjs-legacyMainResolve.js +es-module/test-esm-url-extname.js +es-module/test-require-module-dynamic-import-1.js +es-module/test-esm-data-urls.js +es-module/test-require-module-preload.js +es-module/test-esm-type-field-errors.js +es-module/test-esm-symlink.js +es-module/test-esm-repl-imports.js +es-module/test-esm-symlink-main.js +es-module/test-require-module-twice.js +es-module/test-vm-synthetic-module-leak.js +es-module/test-esm-windows.js +es-module/test-cjs-prototype-pollution.js +es-module/test-require-module-dynamic-import-4.js +es-module/test-require-node-modules-warning.js +es-module/test-require-module-cycle-esm-cjs-esm-esm.js +es-module/test-esm-preserve-symlinks.js +es-module/test-cjs-esm-warn.js +es-module/test-esm-dynamic-import.js +es-module/test-require-module-errors.js +es-module/test-cjs-legacyMainResolve-permission.js +es-module/test-esm-loader-search.js +es-module/test-esm-type-field-errors-2.js +es-module/test-require-module-tla-resolved.js +es-module/test-vm-source-text-module-leak.js +es-module/test-require-module-cycle-esm-esm-cjs-esm-esm.js +es-module/test-require-module-feature-detect.js +es-module/test-require-module-implicit.js +es-module/test-require-module-tla-execution.js +es-module/test-esm-invalid-data-urls.js +es-module/test-esm-import-attributes-errors.js +es-module/test-require-module-tla-unresolved.js +es-module/test-require-module-dont-detect-cjs.js +es-module/test-require-module-tla-rejected.js +es-module/test-esm-symlink-type.js +es-module/test-esm-preserve-symlinks-main.js +es-module/test-esm-dynamic-import-commonjs.js +es-module/test-vm-main-context-default-loader.js +es-module/test-require-module-transpiled.js +es-module/test-require-module-detect-entry-point.js +es-module/test-require-module-dynamic-import-3.js +es-module/test-esm-cjs-main.js +es-module/test-require-module-tla-print-execution.js +es-module/test-require-module.js +es-module/test-esm-dynamic-import-mutating-fs.js +es-module/test-esm-invalid-pjson.js +es-module/test-wasm-memory-out-of-bound.js +es-module/test-require-module-synchronous-rejection-handling.js +es-module/test-require-module-tla-retry-import.js +es-module/test-esm-cjs-builtins.js +es-module/test-require-module-retry-import-errored.js +es-module/test-require-module-cycle-esm-cjs-esm.js +es-module/test-esm-import-attributes-validation.js +es-module/test-esm-loader-modulemap.js +es-module/test-esm-encoded-path-native.js +es-module/test-require-module-conditional-exports-module.js +wpt/test-events.js +wpt/test-file.js +wpt/test-wasm-webapi.js +wpt/test-microtask-queuing.js +wpt/test-domexception.js +wpt/test-webstorage.js +wpt/test-user-timing.js +wpt/test-streams.js +wpt/test-atob.js +wpt/test-abort.js +wpt/test-broadcastchannel.js +wpt/test-urlpattern.js +wpt/test-resource-timing.js +wpt/test-hr-time.js +wpt/test-compression.js +wpt/test-performance-timeline.js +wpt/test-url.js +wpt/test-structured-clone.js +wpt/test-encoding.js +wpt/test-blob.js +wpt/test-console.js +wpt/test-timers.js +v8-updates/test-trace-gc-flag.js +v8-updates/test-linux-perf-logger.js +v8-updates/test-linux-perf.js +common/globals.js +common/hijackstdio.js +common/arraystream.js +common/heap.js +common/inspector-helper.js +common/udp.js +common/benchmark.js +common/fixtures.js +common/dns.js +common/http2.js +common/internet.js +common/sea.js +common/tmpdir.js +common/process-exit-code-cases.js +common/tick.js +common/index.js +common/debugger.js +common/crypto.js +common/child_process.js +common/gc.js +common/report.js +common/snapshot.js +common/proxy-server.js +common/prof.js +common/test-error-reporter.js +common/cpu-prof.js +common/countdown.js +common/shared-lib-util.js +common/wpt.js +common/measure-memory.js +common/wasi.js +common/net.js +common/assertSnapshot.js +common/v8.js +common/tls.js +benchmark/test-benchmark-source-map.js +benchmark/test-benchmark-querystring.js +benchmark/test-benchmark-websocket.js +benchmark/test-benchmark-assert.js +benchmark/test-benchmark-worker.js +benchmark/test-benchmark-blob.js +benchmark/test-benchmark-dns.js +benchmark/test-benchmark-vm.js +benchmark/test-benchmark-http.js +benchmark/test-benchmark-child-process.js +benchmark/test-benchmark-validators.js +benchmark/test-benchmark-module.js +benchmark/test-benchmark-esm.js +benchmark/test-benchmark-path.js +benchmark/test-benchmark-tls.js +benchmark/test-benchmark-webstreams.js +benchmark/test-benchmark-process.js +benchmark/test-benchmark-net.js +benchmark/test-benchmark-mime.js +benchmark/test-benchmark-string_decoder.js +benchmark/test-benchmark-http2.js +benchmark/test-benchmark-async-hooks.js +benchmark/test-benchmark-domain.js +benchmark/test-benchmark-misc.js +benchmark/test-benchmark-buffer.js +benchmark/test-benchmark-os.js +benchmark/test-benchmark-cluster.js +benchmark/test-benchmark-timers.js +benchmark/test-benchmark-streams.js +benchmark/test-benchmark-v8.js +benchmark/test-benchmark-util.js +benchmark/test-benchmark-url.js +benchmark/test-benchmark-dgram.js +benchmark/test-benchmark-zlib.js +benchmark/test-benchmark-events.js +benchmark/test-bechmark-readline.js +benchmark/test-benchmark-es.js +message/util_inspect_error.js +message/util-inspect-error-cause.js +message/node_run_non_existent.js +message/console_assert.js +message/max_tick_depth.js +parallel/test-dns-multi-channel.js +parallel/test-tls-no-sslv23.js +parallel/test-http-write-head-2.js +parallel/test-http-server-request-timeout-delayed-body.js +parallel/test-bootstrap-modules.js +parallel/test-stream-readable-end-destroyed.js +parallel/test-assert-deep.js +parallel/test-http-server-non-utf8-header.js +parallel/test-child-process-exit-code.js +parallel/test-whatwg-webstreams-adapters-to-readablestream.js +parallel/test-inspector-break-when-eval.js +parallel/test-buffer-readint.js +parallel/test-compile-cache-api-env.js +parallel/test-debugger-backtrace.js +parallel/test-promise-unhandled-issue-43655.js +parallel/test-event-emitter-special-event-names.js +parallel/test-compile-cache-typescript-transform.js +parallel/test-fs-stream-construct-compat-error-read.js +parallel/test-stream-readable-reading-readingMore.js +parallel/test-child-process-execfilesync-maxbuf.js +parallel/test-domain-timer.js +parallel/test-http-outgoing-writableFinished.js +parallel/test-runner-custom-assertions.js +parallel/test-util-types-exists.js +parallel/test-zlib-const.js +parallel/test-stream2-compatibility.js +parallel/test-dgram-create-socket-handle.js +parallel/test-client-request-destroy.js +parallel/test-async-hooks-enable-recursive.js +parallel/test-console-assign-undefined.js +parallel/test-timers-linked-list.js +parallel/test-https-agent-getname.js +parallel/test-cluster-child-index-net.js +parallel/test-http-early-hints-invalid-argument.js +parallel/test-http2-multiheaders.js +parallel/test-http2-compat-serverresponse-createpushresponse.js +parallel/test-buffer-parent-property.js +parallel/test-vm-preserves-property.js +parallel/test-tls-delayed-attach-error.js +parallel/test-http2-client-data-end.js +parallel/test-filehandle-readablestream.js +parallel/test-permission-child-process-inherit-flags.js +parallel/test-net-write-after-close.js +parallel/test-performanceobserver.js +parallel/test-http-client-timeout-connect-listener.js +parallel/test-stream-auto-destroy.js +parallel/test-require-delete-array-iterator.js +parallel/test-http2-session-settings.js +parallel/test-cluster-worker-constructor.js +parallel/test-worker-invalid-workerdata.js +parallel/test-dgram-send-address-types.js +parallel/test-cluster-eaddrinuse.js +parallel/test-repl-preprocess-top-level-await.js +parallel/test-internal-modules.js +parallel/test-http-agent-uninitialized.js +parallel/test-net-better-error-messages-port-hostname.js +parallel/test-inspector-port-zero-cluster.js +parallel/test-event-emitter-listeners.js +parallel/test-worker-terminate-source-map.js +parallel/test-http-client-timeout.js +parallel/test-stream-readable-from-web-termination.js +parallel/test-cluster-disconnect-race.js +parallel/test-net-isipv4.js +parallel/test-require-resolve-invalid-paths.js +parallel/test-module-create-require-multibyte.js +parallel/test-buffer-sharedarraybuffer.js +parallel/test-whatwg-url-custom-searchparams-sort.js +parallel/test-async-hooks-http-agent-destroy.js +parallel/test-http-timeout-client-warning.js +parallel/test-microtask-queue-integration.js +parallel/test-stream2-objects.js +parallel/test-http-set-timeout.js +parallel/test-worker-message-port-transfer-duplicate.js +parallel/test-v8-stats.js +parallel/test-diagnostics-channel-http-server-start.js +parallel/test-webcrypto-wrap-unwrap.js +parallel/test-cluster-disconnect-before-exit.js +parallel/test-http2-sensitive-headers.js +parallel/test-whatwg-url-custom-searchparams-inspect.js +parallel/test-cluster-worker-destroy.js +parallel/test-http2-respond-file-filehandle.js +parallel/test-heap-prof-dir-name.js +parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js +parallel/test-event-emitter-listeners-side-effects.js +parallel/test-module-nodemodulepaths.js +parallel/test-dgram-multicast-set-interface.js +parallel/test-net-listen-exclusive-random-ports.js +parallel/test-urlpattern-invalidthis.js +parallel/test-http2-compat-serverrequest-pause.js +parallel/test-worker-message-port-jstransferable-nested-untransferable.js +parallel/test-whatwg-writablestream.js +parallel/test-http-response-status-message.js +parallel/test-async-wrap-uncaughtexception.js +parallel/test-net-dns-lookup-skip.js +parallel/test-http-dont-set-default-headers-with-set-header.js +parallel/test-socket-write-after-fin-error.js +parallel/test-event-emitter-remove-listeners.js +parallel/test-http-pause.js +parallel/test-net-socket-timeout.js +parallel/test-http-request-smuggling-content-length.js +parallel/test-stream-base-prototype-accessors-enumerability.js +parallel/test-crypto-keygen-async-rsa.js +parallel/test-stream-pipeline-uncaught.js +parallel/test-vm-attributes-property-not-on-sandbox.js +parallel/test-fs-writefile-with-fd.js +parallel/test-webcrypto-derivekey-cfrg.js +parallel/test-console-with-frozen-intrinsics.js +parallel/test-net-connect-options-path.js +parallel/test-http-client-abort3.js +parallel/test-http2-compat-serverresponse-drain.js +parallel/test-whatwg-events-eventtarget-this-of-listener.js +parallel/test-fs-watch-recursive-assert-leaks.js +parallel/test-child-process-advanced-serialization.js +parallel/test-release-changelog.js +parallel/test-path-parse-format.js +parallel/test-net-pingpong.js +parallel/test-tls-server-failed-handshake-emits-clienterror.js +parallel/test-internal-async-context-frame-disable.js +parallel/test-http2-write-finishes-after-stream-destroy.js +parallel/test-http-agent-scheduling.js +parallel/test-fs-stream-construct-compat-graceful-fs.js +parallel/test-inspector-exit-worker-in-wait-for-connection2.js +parallel/test-http-host-headers.js +parallel/test-cluster-disconnect-leak.js +parallel/test-whatwg-url-custom-inspect.js +parallel/test-child-process-spawnsync-maxbuf.js +parallel/test-stream-pipe-objectmode-to-non-objectmode.js +parallel/test-diagnostics-channel-tracing-channel-promise.js +parallel/test-internal-assert.js +parallel/test-process-default.js +parallel/test-http-outgoing-end-types.js +parallel/test-fs-read-zero-length.js +parallel/test-nodeeventtarget.js +parallel/test-promise-unhandled-error.js +parallel/test-process-ppid.js +parallel/test-worker-voluntarily-exit-followed-by-throw.js +parallel/test-http-dont-set-default-headers.js +parallel/test-trace-events-metadata.js +parallel/test-async-hooks-constructor.js +parallel/test-debugger-break.js +parallel/test-eslint-duplicate-requires.js +parallel/test-worker-process-argv.js +parallel/test-vm-function-redefinition.js +parallel/test-crypto-worker-thread.js +parallel/test-process-constrained-memory.js +parallel/test-dgram-deprecation-error.js +parallel/test-messaging-marktransfermode.js +parallel/test-common-must-not-call.js +parallel/test-fs-rm.js +parallel/test-http-dns-error.js +parallel/test-trace-events-bootstrap.js +parallel/test-repl-uncaught-exception-async.js +parallel/test-timers-dispose.js +parallel/test-disable-sigusr1.js +parallel/test-whatwg-readablebytestream.js +parallel/test-timers-setimmediate-infinite-loop.js +parallel/test-webcrypto-derivebits-ecdh.js +parallel/test-file.js +parallel/test-vm-measure-memory.js +parallel/test-inspector-stress-http.js +parallel/test-trace-exit-stack-limit.js +parallel/test-fs-whatwg-url.js +parallel/test-fs-writev-sync.js +parallel/test-http2-respond-file-fd-range.js +parallel/test-tls-timeout-server-2.js +parallel/test-stdin-hang.js +parallel/test-debugger-watch-validation.js +parallel/test-stream-readable-error-end.js +parallel/test-http-response-cork.js +parallel/test-http-zero-length-write.js +parallel/test-stream-pipe-error-unhandled.js +parallel/test-crypto-keygen-async-explicit-elliptic-curve.js +parallel/test-vm-global-property-interceptors.js +parallel/test-http-client-set-timeout-after-end.js +parallel/test-net-server-listen-remove-callback.js +parallel/test-http-response-add-header-after-sent.js +parallel/test-whatwg-encoding-custom-textdecoder-api-invalid-label.js +parallel/test-errors-systemerror-stackTraceLimit-deleted-and-Error-sealed.js +parallel/test-domain-multi.js +parallel/test-http-client-override-global-agent.js +parallel/test-http-client-abort-keep-alive-queued-unix-socket.js +parallel/test-diagnostics-channel-http2-server-stream-finish.js +parallel/test-crypto-default-shake-lengths.js +parallel/test-http-client-parse-error.js +parallel/test-quic-internal-setcallbacks.js +parallel/test-process-euid-egid.js +parallel/test-stdio-closed.js +parallel/test-whatwg-events-customevent.js +parallel/test-event-emitter-add-listeners.js +parallel/test-tls-connect-pipe.js +parallel/test-zlib.js +parallel/test-child-process-recv-handle.js +parallel/test-crypto-keygen-async-named-elliptic-curve.js +parallel/test-tls-ticket-invalid-arg.js +parallel/test-net-connect-memleak.js +parallel/test-http-server.js +parallel/test-crypto-cipheriv-decipheriv.js +parallel/test-dgram-send-callback-buffer.js +parallel/test-http-keep-alive-timeout-custom.js +parallel/test-stream-duplex-writable-finished.js +parallel/test-path-dirname.js +parallel/test-inspector-runtime-evaluate-with-timeout.js +parallel/test-domain-no-error-handler-abort-on-uncaught-2.js +parallel/test-fs-write-file-flush.js +parallel/test-http2-perf_hooks.js +parallel/test-fs-make-callback.js +parallel/test-async-hooks-worker-asyncfn-terminate-4.js +parallel/test-fs-watch-recursive-add-file-to-new-folder.js +parallel/test-stream-typedarray.js +parallel/test-buffer-inheritance.js +parallel/test-async-hooks-disable-gc-tracking.js +parallel/test-module-run-main-monkey-patch.js +parallel/test-string-decoder-fuzz.js +parallel/test-http-conn-reset.js +parallel/test-pipe-stream.js +parallel/test-url-parse-query.js +parallel/test-ref-unref-return.js +parallel/test-async-hooks-execution-async-resource-await.js +parallel/test-buffer-write.js +parallel/test-worker-stack-overflow-stack-size.js +parallel/test-tls-multi-key.js +parallel/test-http2-compat-client-upload-reject.js +parallel/test-fs-rename-type-check.js +parallel/test-repl-eval-error-after-close.js +parallel/test-fs-promises-writefile-typedarray.js +parallel/test-zlib-close-after-error.js +parallel/test-tls-client-renegotiation-13.js +parallel/test-common-countdown.js +parallel/test-global-console-exists.js +parallel/test-fs-watch-recursive-add-file-to-existing-subfolder.js +parallel/test-child-process-spawnsync-timeout.js +parallel/test-console-tty-colors.js +parallel/test-timers-promises.js +parallel/test-http-set-header-chain.js +parallel/test-tls-client-getephemeralkeyinfo.js +parallel/test-http-server-capture-rejections.js +parallel/test-timers-unenroll-unref-interval.js +parallel/test-fs-symlink-dir-junction.js +parallel/test-http-connect.js +parallel/test-http-response-multiheaders.js +parallel/test-stream-write-drain.js +parallel/test-repl-null-thrown.js +parallel/test-http2-goaway-delayed-request.js +parallel/test-util-text-decoder.js +parallel/test-domain-stack-empty-in-process-uncaughtexception.js +parallel/test-permission-warning-flags.js +parallel/test-tls-connect-hwm-option.js +parallel/test-require-resolve-opts-paths-relative.js +parallel/test-whatwg-webstreams-transfer.js +parallel/test-fs-readfile-zero-byte-liar.js +parallel/test-dgram-sendto.js +parallel/test-stringbytes-external.js +parallel/test-http-agent-abort-controller.js +parallel/test-stream-await-drain-writers-in-synchronously-recursion-write.js +parallel/test-stream-transform-constructor-set-methods.js +parallel/test-inspector-async-hook-setup-at-signal.js +parallel/test-buffer-writefloat.js +parallel/test-timers-uncaught-exception.js +parallel/test-fs-promises-file-handle-writeFile.js +parallel/test-http-unix-socket.js +parallel/test-next-tick-fixed-queue-regression.js +parallel/test-tls-request-timeout.js +parallel/test-zlib-brotli.js +parallel/test-domain-error-types.js +parallel/test-inspector-esm.js +parallel/test-repl-tab-complete-buffer.js +parallel/test-crypto-keygen.js +parallel/test-snapshot-dns-resolve-localhost-promise.js +parallel/test-primitive-timer-leak.js +parallel/test-whatwg-url-custom-setters.js +parallel/test-zlib-random-byte-pipes.js +parallel/test-dns-memory-error.js +parallel/test-http-server-destroy-socket-on-client-error.js +parallel/test-permission-fs-require.js +parallel/test-cluster-kill-infinite-loop.js +parallel/test-http2-info-headers-errors.js +parallel/test-whatwg-events-event-constructors.js +parallel/test-event-emitter-prepend.js +parallel/test-http-client-reject-unexpected-agent.js +parallel/test-diagnostics-channel-module-import.js +parallel/test-cluster-http-pipe.js +parallel/test-zlib-from-gzip-with-trailing-garbage.js +parallel/test-stream-pipe-same-destination-twice.js +parallel/test-buffer-equals.js +parallel/test-fs-promises-file-handle-dispose.js +parallel/test-http2-too-many-streams.js +parallel/test-set-process-debug-port.js +parallel/test-debugger-pid.js +parallel/test-eslint-documented-deprecation-codes.js +parallel/test-snapshot-worker.js +parallel/test-tls-client-allow-partial-trust-chain.js +parallel/test-fs-promises-writefile-with-fd.js +parallel/test-http-server-keep-alive-max-requests-null.js +parallel/test-http2-large-writes-session-memory-leak.js +parallel/test-process-umask-mask.js +parallel/test-http-status-reason-invalid-chars.js +parallel/test-http2-compat-serverrequest-trailers.js +parallel/test-worker-message-port-multiple-sharedarraybuffers.js +parallel/test-stream-unpipe-event.js +parallel/test-http-incoming-message-connection-setter.js +parallel/test-cli-node-options.js +parallel/test-http-abort-client.js +parallel/test-https-localaddress.js +parallel/test-domain-with-abort-on-uncaught-exception.js +parallel/test-dgram-send-callback-recursive.js +parallel/test-fs-stream-destroy-emit-error.js +parallel/test-zlib-object-write.js +parallel/test-stream-duplex-props.js +parallel/test-stream-decoder-objectmode.js +parallel/test-child-process-fork-exec-argv.js +parallel/test-http-outgoing-properties.js +parallel/test-fs-read-promises-optional-params.js +parallel/test-http-response-writehead-returns-this.js +parallel/test-worker-arraybuffer-zerofill.js +parallel/test-http2-compat-expect-continue.js +parallel/test-inspector-exception.js +parallel/test-runner-aliases.js +parallel/test-https-agent-create-connection.js +parallel/test-buffer-constructor-deprecation-error.js +parallel/test-stream-flatMap.js +parallel/test-http2-misc-util.js +parallel/test-crypto-gcm-implicit-short-tag.js +parallel/test-repl-preview-without-inspector.js +parallel/test-http-client-check-http-token.js +parallel/test-http-set-cookies.js +parallel/test-http-socket-encoding-error.js +parallel/test-dgram-ipv6only.js +parallel/test-repl-preview.js +parallel/test-http2-unbound-socket-proxy.js +parallel/test-trace-events-category-used.js +parallel/test-crypto-dh-odd-key.js +parallel/test-ttywrap-invalid-fd.js +parallel/test-buffer-fill.js +parallel/test-process-exit-code.js +parallel/test-worker-exit-from-uncaught-exception.js +parallel/test-debugger-sb-before-load.js +parallel/test-require-empty-main.js +parallel/test-vm-set-property-proxy.js +parallel/test-worker-message-not-serializable.js +parallel/test-repl-unsupported-option.js +parallel/test-dns-setserver-when-querying.js +parallel/test-async-hooks-promise-enable-disable.js +parallel/test-whatwg-url-custom-tostringtag.js +parallel/test-webcrypto-getRandomValues.js +parallel/test-v8-getheapsnapshot-twice.js +parallel/test-fs-write-file-invalid-path.js +parallel/test-module-wrap.js +parallel/test-webcrypto-derivekey.js +parallel/test-stream-writable-destroy.js +parallel/test-fs-promises-file-handle-sync.js +parallel/test-http-debug.js +parallel/test-sqlite-statement-sync.js +parallel/test-worker-message-port-wasm-module.js +parallel/test-vm-sigint-existing-handler.js +parallel/test-next-tick-ordering.js +parallel/test-fs-rmdir-recursive-warns-on-file.js +parallel/test-webcrypto-export-import-cfrg.js +parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js +parallel/test-cli-syntax-piped-bad.js +parallel/test-net-connect-nodelay.js +parallel/test-diagnostics-channel-net.js +parallel/test-no-addons-resolution-condition.js +parallel/test-event-emitter-method-names.js +parallel/test-net-write-arguments.js +parallel/test-repl-inspector.js +parallel/test-repl-programmatic-history.js +parallel/test-vm-set-proto-null-on-globalthis.js +parallel/test-net-isip.js +parallel/test-module-circular-symlinks.js +parallel/test-process-emitwarning.js +parallel/test-child-process-fork-dgram.js +parallel/test-trace-events-file-pattern.js +parallel/test-stream-readable-invalid-chunk.js +parallel/test-crypto-keygen-missing-oid.js +parallel/test-crypto-oneshot-hash.js +parallel/test-process-external-stdio-close.js +parallel/test-http-max-headers-count.js +parallel/test-http-client-timeout-with-data.js +parallel/test-dns-lookup-promises-options-deprecated.js +parallel/test-tls-connect-timeout-option.js +parallel/test-tls-cnnic-whitelist.js +parallel/test-fs-write-stream-throw-type-error.js +parallel/test-data-url.js +parallel/test-worker-error-stack-getter-throws.js +parallel/test-net-connect-options-port.js +parallel/test-fs-internal-assertencoding.js +parallel/test-worker-execargv.js +parallel/test-domain-promise.js +parallel/test-http-server-connections-checking-leak.js +parallel/test-cli-permission-deny-fs.js +parallel/test-common-gc.js +parallel/test-async-local-storage-enter-with.js +parallel/test-http-incoming-matchKnownFields.js +parallel/test-http2-respond-file-compat.js +parallel/test-heap-prof-basic.js +parallel/test-inspector-reported-host.js +parallel/test-https-server-request-timeout.js +parallel/test-http-agent-uninitialized-with-handle.js +parallel/test-http-highwatermark.js +parallel/test-promise-hook-on-before.js +parallel/test-console-issue-43095.js +parallel/test-async-wrap-promise-after-enabled.js +parallel/test-http-pipeline-assertionerror-finish.js +parallel/test-heap-prof-exit.js +parallel/test-repl-editor.js +parallel/test-child-process-cwd.js +parallel/test-http2-server-unknown-protocol.js +parallel/test-http-request-host-header.js +parallel/test-vm-parse-abort-on-uncaught-exception.js +parallel/test-net-server-unref-persistent.js +parallel/test-readline-reopen.js +parallel/test-v8-flag-type-check.js +parallel/test-http-client-invalid-path.js +parallel/test-crypto-dh-constructor.js +parallel/test-cli-permission-multiple-allow.js +parallel/test-dgram-address.js +parallel/test-tls-ip-servername-deprecation.js +parallel/test-tls-connect-simple.js +parallel/test-http-byteswritten.js +parallel/test-http-timeout.js +parallel/test-tls-destroy-stream.js +parallel/test-icu-transcode.js +parallel/test-global-encoder.js +parallel/test-domain-throw-error-then-throw-from-uncaught-exception-handler.js +parallel/test-dgram-send-empty-array.js +parallel/test-domain-load-after-set-uncaught-exception-capture.js +parallel/test-child-process-stdio-inherit.js +parallel/test-http-connect-req-res.js +parallel/test-repl-save-load-load-dir.js +parallel/test-stream-readable-didRead.js +parallel/test-worker-process-env.js +parallel/test-fs-existssync-false.js +parallel/test-async-hooks-disable-during-promise.js +parallel/test-v8-serdes.js +parallel/test-inspector-module.js +parallel/test-global-webstreams.js +parallel/test-worker-unsupported-path.js +parallel/test-vm-options-validation.js +parallel/test-stream-pipeline-queued-end-in-destroy.js +parallel/test-async-hooks-prevent-double-destroy.js +parallel/test-stream-pipe-flow.js +parallel/test-http2-compat-serverresponse-finished.js +parallel/test-crypto-dh-shared.js +parallel/test-tls-max-send-fragment.js +parallel/test-child-process-silent.js +parallel/test-handle-wrap-close-abort.js +parallel/test-http2-status-code-invalid.js +parallel/test-http-dump-req-when-res-ends.js +parallel/test-tls-root-certificates.js +parallel/test-fs-watch-recursive-validate.js +parallel/test-http2-origin.js +parallel/test-net-isipv6.js +parallel/test-http2-client-request-listeners-warning.js +parallel/test-querystring-multichar-separator.js +parallel/test-whatwg-writablestream-close.js +parallel/test-process-exit-from-before-exit.js +parallel/test-process-available-memory.js +parallel/test-stream-set-default-hwm.js +parallel/test-http2-res-writable-properties.js +parallel/test-repl-tab-complete-computed-props.js +parallel/test-stream-passthrough-drain.js +parallel/test-heapsnapshot-near-heap-limit-worker.js +parallel/test-fs-promises.js +parallel/test-dgram-socket-buffer-size.js +parallel/test-util-inspect-long-running.js +parallel/test-permission-fs-symlink.js +parallel/test-fs-realpath-pipe.js +parallel/test-child-process-validate-stdio.js +parallel/test-process-kill-pid.js +parallel/test-async-local-storage-bind.js +parallel/test-url-parse-format.js +parallel/test-stream-toWeb-allows-server-response.js +parallel/test-debugger-clear-breakpoints.js +parallel/test-fs-promises-watch.js +parallel/test-child-process-server-close.js +parallel/test-stream-add-abort-signal.js +parallel/test-http-no-read-no-dump.js +parallel/test-compile-cache-permission-disallowed.js +parallel/test-net-socket-destroy-twice.js +parallel/test-fs-readfilesync-enoent.js +parallel/test-events-once.js +parallel/test-tls-keyengine-invalid-arg-type.js +parallel/test-net-listen-invalid-port.js +parallel/test-dgram-connect-send-callback-buffer-length.js +parallel/test-stdio-pipe-stderr.js +parallel/test-env-newprotomethod-remove-unnecessary-prototypes.js +parallel/test-util-format.js +parallel/test-trace-env-stack.js +parallel/test-worker-sharedarraybuffer-from-worker-thread.js +parallel/test-http-date-header.js +parallel/test-internal-validators-validateoneof.js +parallel/test-https-autoselectfamily.js +parallel/test-event-emitter-check-listener-leaks.js +parallel/test-zlib-flush-flags.js +parallel/test-repl-sigint.js +parallel/test-http2-connect-method-extended-cant-turn-off.js +parallel/test-debugger-unavailable-port.js +parallel/test-accessor-properties.js +parallel/test-crypto-webcrypto-aes-decrypt-tag-too-small.js +parallel/test-https-timeout-server.js +parallel/test-compile-cache-typescript-strip-sourcemaps.js +parallel/test-stream3-pause-then-read.js +parallel/test-crypto-keygen-async-elliptic-curve-jwk-ec.js +parallel/test-http-url.parse-basic.js +parallel/test-http-contentLength0.js +parallel/test-http2-stream-client.js +parallel/test-stream-readable-resumeScheduled.js +parallel/test-disable-proto-delete.js +parallel/test-http-outgoing-proto.js +parallel/test-arm-math-illegal-instruction.js +parallel/test-child-process-ipc.js +parallel/test-http2-compat-serverresponse-statusmessage-property.js +parallel/test-uv-binding-constant.js +parallel/test-http-client-timeout-event.js +parallel/test-domain-intercept.js +parallel/test-stream-transform-callback-twice.js +parallel/test-crypto-key-objects-messageport.js +parallel/test-emit-after-uncaught-exception.js +parallel/test-cli-eval.js +parallel/test-http-double-content-length.js +parallel/test-child-process-destroy.js +parallel/test-async-wrap-destroyid.js +parallel/test-webstorage.js +parallel/test-http-1.0-keep-alive.js +parallel/test-domain-fs-enoent-stream.js +parallel/test-http-outgoing-end-multiple.js +parallel/test-pipe-abstract-socket.js +parallel/test-worker-event.js +parallel/test-buffer-compare-offset.js +parallel/test-crypto-keygen-async-elliptic-curve-jwk.js +parallel/test-domain-no-error-handler-abort-on-uncaught-9.js +parallel/test-dgram-close-is-not-callback.js +parallel/test-https-agent-session-injection.js +parallel/test-process-setgroups.js +parallel/test-http-readable-data-event.js +parallel/test-fs-watch-stop-async.js +parallel/test-inspector-open-coverage.js +parallel/test-cluster-send-socket-to-worker-http-server.js +parallel/test-http2-compat-serverrequest.js +parallel/test-http-max-http-headers.js +parallel/test-repl-tab-complete-require.js +parallel/test-net-socket-ready-without-cb.js +parallel/test-tls-get-ca-certificates-extra-subset.js +parallel/test-vm-codegen.js +parallel/test-child-process-fork-no-shell.js +parallel/test-sigint-infinite-loop.js +parallel/test-promise-hook-create-hook.js +parallel/test-http2-dont-override.js +parallel/test-child-process-default-options.js +parallel/test-worker-cleanexit-with-moduleload.js +parallel/test-http-request-large-payload.js +parallel/test-http-outgoing-buffer.js +parallel/test-https-server-options-incoming-message.js +parallel/test-freelist.js +parallel/test-http2-server-push-stream.js +parallel/test-cluster-rr-domain-listen.js +parallel/test-https-foafssl.js +parallel/test-http2-client-destroy.js +parallel/test-crypto-dh-errors.js +parallel/test-zlib-dictionary.js +parallel/test-fs-write-file-buffer.js +parallel/test-http2-compat-serverresponse-close.js +parallel/test-http2-large-write-destroy.js +parallel/test-http2-server-setLocalWindowSize.js +parallel/test-worker-heap-statistics.js +parallel/test-shadow-realm.js +parallel/test-repl-require-self-referential.js +parallel/test-worker-stdio-flush-inflight.js +parallel/test-fs-write-reuse-callback.js +parallel/test-net-server-nodelay.js +parallel/test-net-listen-handle-in-cluster-1.js +parallel/test-http-agent-timeout-option.js +parallel/test-timers-socket-timeout-removes-other-socket-unref-timer.js +parallel/test-http-buffer-sanity.js +parallel/test-path-extname.js +parallel/test-stream-writable-aborted.js +parallel/test-tls-finished.js +parallel/test-webcrypto-random.js +parallel/test-http-status-code.js +parallel/test-vm-harmony-symbols.js +parallel/test-http-agent-null.js +parallel/test-http2-socket-proxy-handler-for-has.js +parallel/test-path-relative.js +parallel/test-domain-set-uncaught-exception-capture-after-load.js +parallel/test-zlib-zstd-pledged-src-size.js +parallel/test-child-process-stdio.js +parallel/test-repl-completion-on-getters-disabled.js +parallel/test-worker-console-listeners.js +parallel/test-net-pipe-connect-errors.js +parallel/test-snapshot-error.js +parallel/test-http-outgoing-renderHeaders.js +parallel/test-child-process-send-type-error.js +parallel/test-compile-cache-success.js +parallel/test-http-timeout-overflow.js +parallel/test-zlib-brotli-from-string.js +parallel/test-timers-immediate-queue-throw.js +parallel/test-http2-server-close-idle-connection.js +parallel/test-cli-eval-event.js +parallel/test-http-chunked-304.js +parallel/test-debugger-heap-profiler.js +parallel/test-debug-process.js +parallel/test-process-exception-capture-errors.js +parallel/test-stream-duplex-readable-end.js +parallel/test-child-process-stdout-ipc.js +parallel/test-process-threadCpuUsage-worker-threads.js +parallel/test-http2-status-code.js +parallel/test-tls-client-abort2.js +parallel/test-v8-global-setter.js +parallel/test-module-parent-setter-deprecation.js +parallel/test-net-options-lookup.js +parallel/test-http2-close-while-writing.js +parallel/test-preload-self-referential.js +parallel/test-socketaddress.js +parallel/test-util-callbackify.js +parallel/test-http-outgoing-first-chunk-singlebyte-encoding.js +parallel/test-http2-sent-headers.js +parallel/test-http2-util-asserts.js +parallel/test-http-1.0.js +parallel/test-performance-nodetiming.js +parallel/test-net-large-string.js +parallel/test-http2-compat-serverrequest-host.js +parallel/test-async-local-storage-deep-stack.js +parallel/test-dgram-connect-send-multi-string-array.js +parallel/test-stream2-pipe-error-handling.js +parallel/test-http-server-keep-alive-timeout.js +parallel/test-zlib-zero-byte.js +parallel/test-tls-snicallback-error.js +parallel/test-eslint-async-iife-no-unused-result.js +parallel/test-readline.js +parallel/test-fs-append-file-sync.js +parallel/test-stream-transform-hwm0.js +parallel/test-inspector-network-content-type.js +parallel/test-http-client-agent-abort-close-event.js +parallel/test-internal-fs.js +parallel/test-fs-readfilesync-pipe-large.js +parallel/test-crypto-randomfillsync-regression.js +parallel/test-http-keepalive-request.js +parallel/test-zlib-flush-drain.js +parallel/test-stream-drop-take.js +parallel/test-http2-server-timeout.js +parallel/test-tls-ecdh-auto.js +parallel/test-performance-eventlooputil.js +parallel/test-stream-readable-strategy-option.js +parallel/test-http2-util-assert-valid-pseudoheader.js +parallel/test-console-table.js +parallel/test-http2-connect-tls-with-delay.js +parallel/test-http-url.parse-only-support-http-https-protocol.js +parallel/test-net-local-address-port.js +parallel/test-vm-context-property-forwarding.js +parallel/test-permission-no-addons.js +parallel/test-tls-wrap-no-abort.js +parallel/test-http-agent-timeout.js +parallel/test-windows-failed-heap-allocation.js +parallel/test-dgram-connect-send-multi-buffer-copy.js +parallel/test-fs-write-buffer.js +parallel/test-v8-take-coverage.js +parallel/test-http-catch-uncaughtexception.js +parallel/test-dgram-oob-buffer.js +parallel/test-debugger-preserve-breaks.js +parallel/test-fs-write-buffer-large.js +parallel/test-crypto-default-shake-lengths-oneshot.js +parallel/test-runner-test-fullname.js +parallel/test-tls-pfx-authorizationerror.js +parallel/test-runner-reporters.js +parallel/test-vm-module-errors.js +parallel/test-tls-get-ca-certificates-system-without-flag.js +parallel/test-stream-writable-decoded-encoding.js +parallel/test-repl-uncaught-exception-evalcallback.js +parallel/test-http-max-header-size-per-stream.js +parallel/test-repl-domain.js +parallel/test-promise-swallowed-event.js +parallel/test-sqlite-named-parameters.js +parallel/test-tls-session-cache.js +parallel/test-dgram-send-callback-multi-buffer-empty-address.js +parallel/test-worker-cleanexit-with-js.js +parallel/test-stream2-basic.js +parallel/test-https-argument-of-creating.js +parallel/test-diagnostics-channel-tracing-channel-has-subscribers.js +parallel/test-http2-stream-destroy-event-order.js +parallel/test-fs-mkdir-recursive-eaccess.js +parallel/test-tls-get-ca-certificates-error.js +parallel/test-runner-todo-skip-tests.js +parallel/test-net-socket-timeout-unref.js +parallel/test-permission-fs-read.js +parallel/test-http-localaddress-bind-error.js +parallel/test-net-end-without-connect.js +parallel/test-heap-prof-exec-argv.js +parallel/test-util-primordial-monkeypatching.js +parallel/test-crypto-keygen-key-objects.js +parallel/test-http-server-stale-close.js +parallel/test-repl-autocomplete.js +parallel/test-crypto-scrypt.js +parallel/test-internal-util-classwrapper.js +parallel/test-child-process-kill.js +parallel/test-internal-process-binding.js +parallel/test-fs-read-stream-autoClose.js +parallel/test-security-revert-unknown.js +parallel/test-http-client-read-in-error.js +parallel/test-events-listener-count-with-listener.js +parallel/test-inspector-vm-global-accessors-getter-sideeffect.js +parallel/test-stream-ispaused.js +parallel/test-timers-max-duration-warning.js +parallel/test-diagnostics-channel-tracing-channel-promise-error.js +parallel/test-cluster-ipc-throw.js +parallel/test-http2-util-nghttp2error.js +parallel/test-timers-immediate-promisified.js +parallel/test-worker-safe-getters.js +parallel/test-net-listen-close-server.js +parallel/test-http2-allow-http1.js +parallel/test-http-destroyed-socket-write2.js +parallel/test-stream-end-of-streams.js +parallel/test-stream-readable-with-unimplemented-_read.js +parallel/test-http-client-timeout-on-connect.js +parallel/test-dgram-send-callback-buffer-length-empty-address.js +parallel/test-http-client-encoding.js +parallel/test-internal-util-normalizeencoding.js +parallel/test-stream-construct.js +parallel/test-vm-measure-memory-multi-context.js +parallel/test-assert-fail-deprecation.js +parallel/test-process-uid-gid.js +parallel/test-https-set-timeout-server.js +parallel/test-http2-server-startup.js +parallel/test-handle-wrap-hasref.js +parallel/test-util-getcallsite.js +parallel/test-http-request-agent.js +parallel/test-process-env-sideeffects.js +parallel/test-stream2-readable-wrap-error.js +parallel/test-find-package-json.js +parallel/test-tls-client-resume.js +parallel/test-buffer-failed-alloc-typed-arrays.js +parallel/test-http-missing-header-separator-lf.js +parallel/test-tls-get-ca-certificates-bundled-subset.js +parallel/test-promise-unhandled-warn-no-hook.js +parallel/test-http-client-abort-response-event.js +parallel/test-bash-completion.js +parallel/test-console-clear.js +parallel/test-repl-envvars.js +parallel/test-stream-pipeline-duplex.js +parallel/test-http2-compat-expect-handling.js +parallel/test-listen-fd-detached-inherit.js +parallel/test-net-socket-setnodelay.js +parallel/test-require-node-prefix.js +parallel/test-cluster-dgram-2.js +parallel/test-corepack-version.js +parallel/test-stream-readable-data.js +parallel/test-math-random.js +parallel/test-domain-no-error-handler-abort-on-uncaught-6.js +parallel/test-crypto-lazy-transform-writable.js +parallel/test-child-process-net-reuseport.js +parallel/test-errors-systemerror.js +parallel/test-fs-fmap.js +# 2026-03-25: Breaking update of nghttp2 to 1.68.1 +#parallel/test-http2-reset-flood.js +parallel/test-worker-mjs-workerdata.js +parallel/test-net-connect-buffer2.js +parallel/test-http-response-statuscode.js +parallel/test-http-client-abort-keep-alive-destroy-res.js +parallel/test-event-emitter-listener-count.js +parallel/test-http2-premature-close.js +parallel/test-tls-connect-given-socket.js +parallel/test-async-hooks-run-in-async-scope-caught-exception.js +parallel/test-worker-message-port-transfer-target.js +parallel/test-readline-carriage-return-between-chunks.js +parallel/test-streams-highwatermark.js +parallel/test-stream-once-readable-pipe.js +parallel/test-console-no-swallow-stack-overflow.js +parallel/test-fs-write-stream-err.js +parallel/test-child-process-internal.js +parallel/test-listen-fd-cluster.js +parallel/test-spawn-cmd-named-pipe.js +parallel/test-http2-client-priority-before-connect.js +parallel/test-stdout-stderr-write.js +parallel/test-debugger-breakpoint-exists.js +parallel/test-fs-sir-writes-alot.js +parallel/test-dgram-connect-send-callback-multi-buffer.js +parallel/test-fs-readdir-stack-overflow.js +parallel/test-http-chunked-smuggling.js +parallel/test-stream-readable-hwm-0.js +parallel/test-whatwg-webstreams-adapters-streambase.js +parallel/test-startup-empty-regexp-statics.js +parallel/test-http2-respond-file-fd-invalid.js +# 2026-03-25: Breaking update of nghttp2 to 1.68.1 +#parallel/test-http2-misbehaving-flow-control.js +parallel/test-cluster-rr-ref.js +parallel/test-domain-no-error-handler-abort-on-uncaught-0.js +parallel/test-fs-read-offset-null.js +parallel/test-http-agent-remove.js +parallel/test-module-wrapper.js +parallel/test-process-beforeexit-throw-exit.js +parallel/test-http2-compat-write-head-after-close.js +parallel/test-https-server-close-destroy-timeout.js +parallel/test-https-eof-for-eom.js +parallel/test-heap-prof-interval.js +parallel/test-cluster-dgram-reuse.js +parallel/test-fs-watch-file-enoent-after-deletion.js +parallel/test-net-connect-options-ipv6.js +parallel/test-buffer-pending-deprecation.js +parallel/test-source-map-api.js +parallel/test-fs-watch-recursive-add-file-with-url.js +parallel/test-http-client-incomingmessage-destroy.js +parallel/test-http-req-close-robust-from-tampering.js +parallel/test-permission-fs-windows-path.js +parallel/test-fs-readdir-ucs2.js +parallel/test-https-abortcontroller.js +parallel/test-http-upgrade-binary.js +parallel/test-http-agent-domain-reused-gc.js +parallel/test-webcrypto-sign-verify.js +parallel/test-buffer-compare.js +parallel/test-path.js +parallel/test-promise-unhandled-silent.js +parallel/test-timers-refresh-in-callback.js +parallel/test-promise-hook-on-resolve.js +parallel/test-http-agent-maxtotalsockets.js +parallel/test-error-format-list.js +parallel/test-http2-head-request.js +parallel/test-permission-fs-read-entrypoint.js +parallel/test-fs-truncate-sync.js +parallel/test-http2-respond-file-error-pipe-offset.js +parallel/test-http-client-abort-destroy.js +parallel/test-tls-client-default-ciphers.js +parallel/test-whatwg-encoding-custom-textdecoder-streaming.js +parallel/test-http-client-abort-unix-socket.js +parallel/test-stream-push-order.js +parallel/test-worker-message-port-move.js +parallel/test-http-client-with-create-connection.js +parallel/test-http2-respond-file.js +parallel/test-preload.js +parallel/test-http2-respond-nghttperrors.js +parallel/test-require-mjs.js +parallel/test-internal-fs-syncwritestream.js +parallel/test-http2-create-client-secure-session.js +parallel/test-trace-events-async-hooks-dynamic.js +parallel/test-file-write-stream4.js +parallel/test-tick-processor-version-check.js +parallel/test-http2-window-size.js +parallel/test-http2-respond-file-404.js +parallel/test-diagnostics-channel-symbol-named.js +parallel/test-tls-key-mismatch.js +parallel/test-http-server-write-end-after-end.js +parallel/test-stream-write-destroy.js +parallel/test-http-client-insecure-http-parser-error.js +parallel/test-stream-destroy-event-order.js +parallel/test-diagnostics-channel-http2-client-stream-finish.js +parallel/test-runner-extraneous-async-activity.js +parallel/test-heap-prof-loop-drained.js +parallel/test-error-prepare-stack-trace.js +parallel/test-vm-timeout-escape-promise-2.js +parallel/test-permission-fs-traversal-path.js +parallel/test-net-socket-close-after-end.js +parallel/test-stream-unshift-empty-chunk.js +parallel/test-net-autoselectfamily-attempt-timeout-default-value.js +parallel/test-timers-to-primitive.js +parallel/test-tls-exportkeyingmaterial.js +parallel/test-dgram-close-signal.js +parallel/test-heap-prof-name.js +parallel/test-http2-altsvc.js +parallel/test-net-remote-address-port.js +parallel/test-process-env-tz.js +parallel/test-http-proxy.js +parallel/test-crypto-dh-leak.js +parallel/test-tls-server-parent-constructor-options.js +parallel/test-http-client-headers-array.js +parallel/test-net-bytes-read.js +parallel/test-http2-multistream-destroy-on-read-tls.js +parallel/test-buffer-tostring-4gb.js +parallel/test-cluster-process-disconnect.js +parallel/test-tls-cert-chains-in-ca.js +parallel/test-disable-proto-throw.js +parallel/test-zlib-params.js +parallel/test-http2-pipe-named-pipe.js +parallel/test-require-process.js +parallel/test-eval.js +parallel/test-worker-terminate-null-handler.js +parallel/test-http-client-spurious-aborted.js +parallel/test-http-agent-false.js +parallel/test-quic-internal-endpoint-stats-state.js +parallel/test-tls-alert.js +parallel/test-tls-legacy-pfx.js +parallel/test-inspector-not-blocked-on-idle.js +parallel/test-eslint-prefer-common-mustnotcall.js +parallel/test-performance-measure.js +parallel/test-http2-too-many-headers.js +parallel/test-fs-writev-promises.js +parallel/test-tls-get-ca-certificates-default.js +parallel/test-child-process-can-write-to-stdout.js +parallel/test-net-normalize-args.js +parallel/test-tls-clientcertengine-unsupported.js +parallel/test-http-header-owstext.js +parallel/test-buffer-copy.js +parallel/test-vm-measure-memory-lazy.js +parallel/test-dns-get-server.js +parallel/test-webcrypto-sign-verify-hmac.js +parallel/test-domain-run.js +parallel/test-fs-write-stream-file-handle-2.js +parallel/test-async-local-storage-snapshot.js +parallel/test-http2-write-callbacks.js +parallel/test-child-process-spawn-timeout-kill-signal.js +parallel/test-stdout-stderr-reading.js +parallel/test-promise-reject-callback-exception.js +parallel/test-webcrypto-encrypt-decrypt-aes.js +parallel/test-fs-promises-write-optional-params.js +parallel/test-net-listening.js +parallel/test-domain-bind-timeout.js +parallel/test-fs-readdir-types.js +parallel/test-http2-respond-with-file-connection-abort.js +parallel/test-process-getgroups.js +parallel/test-stream-pipe-cleanup.js +parallel/test-http2-malformed-altsvc.js +parallel/test-http-chunk-extensions-limit.js +parallel/test-broadcastchannel-custom-inspect.js +parallel/test-stream-writableState-uncorked-bufferedRequestCount.js +parallel/test-net-better-error-messages-listen.js +parallel/test-http2-client-upload-reject.js +parallel/test-debugger-exceptions.js +parallel/test-fs-mkdtempDisposableSync.js +parallel/test-dns-resolveany-bad-ancount.js +parallel/test-inspector-strip-types.js +parallel/test-mime-api.js +parallel/test-webcrypto-derivebits-hkdf.js +parallel/test-http-many-ended-pipelines.js +parallel/test-performanceobserver-gc.js +parallel/test-worker-crypto-sign-transfer-result.js +parallel/test-repl-autolibs.js +parallel/test-whatwg-encoding-custom-textdecoder-ignorebom.js +parallel/test-stream-readable-emit-readable-short-stream.js +parallel/test-beforeexit-event-exit.js +parallel/test-net-stream.js +parallel/test-stream-big-packet.js +parallel/test-vm-indexed-properties.js +parallel/test-cluster-worker-exit.js +parallel/test-dgram-send-error.js +parallel/test-net-autoselectfamily-commandline-option.js +parallel/test-console-count.js +parallel/test-repl-definecommand.js +parallel/test-worker-esm-missing-main.js +parallel/test-timers-user-call.js +parallel/test-tls-connect-secure-context.js +parallel/test-debugger-low-level.js +parallel/test-http2-https-fallback.js +parallel/test-fs-write-stream-autoclose-option.js +parallel/test-http-remove-header-stays-removed.js +parallel/test-structuredClone-domexception.js +parallel/test-module-multi-extensions.js +parallel/test-dgram-udp4.js +parallel/test-fs-mkdir-mode-mask.js +parallel/test-tls-invoke-queued.js +parallel/test-promise-unhandled-silent-no-hook.js +parallel/test-http2-server-close-callback.js +parallel/test-http2-server-rfc-9113-server.js +parallel/test-net-connect-abort-controller.js +parallel/test-worker-message-type-unknown.js +parallel/test-net-timeout-no-handle.js +parallel/test-dgram-connect-send-empty-array.js +parallel/test-config-json-schema.js +parallel/test-readline-input-onerror.js +parallel/test-http-pipe-fs.js +parallel/test-webstreams-pipeline.js +parallel/test-url-is-url-internal.js +parallel/test-http-incoming-message-options.js +parallel/test-http-outgoing-message-write-callback.js +parallel/test-async-local-storage-exit-does-not-leak.js +parallel/test-fs-read-type.js +parallel/test-async-hooks-worker-asyncfn-terminate-2.js +parallel/test-vm-new-script-new-context.js +parallel/test-whatwg-encoding-custom-interop.js +parallel/test-webstreams-finished.js +parallel/test-net-during-close.js +parallel/test-event-emitter-once.js +parallel/test-stream-writable-final-async.js +parallel/test-fs-open-no-close.js +parallel/test-path-glob.js +# 2026-03-25: Breaking update of nghttp2 to 1.68.1 +#parallel/test-http2-multi-content-length.js +parallel/test-timers-process-tampering.js +parallel/test-url-relative.js +parallel/test-messageevent-brandcheck.js +parallel/test-eslint-prefer-util-format-errors.js +parallel/test-net-child-process-connect-reset.js +parallel/test-worker-nearheaplimit-deadlock.js +parallel/test-http2-max-concurrent-streams.js +parallel/test-http2-padding-aligned.js +parallel/test-diagnostics-channel-tracing-channel-sync-early-exit.js +parallel/test-http2-invalid-last-stream-id.js +parallel/test-tls-ecdh.js +parallel/test-process-cpuUsage.js +parallel/test-dgram-send-empty-packet.js +parallel/test-permission-fs-absolute-path.js +parallel/test-stream-readableListening-state.js +parallel/test-fs-readfile-pipe.js +parallel/test-listen-fd-detached.js +parallel/test-fs-watch-recursive-update-file.js +parallel/test-http-perf_hooks.js +parallel/test-vm-function-declaration.js +parallel/test-env-var-no-warnings.js +parallel/test-child-process-spawn-shell.js +parallel/test-runner-root-duration.js +parallel/test-http-socket-error-listeners.js +parallel/test-child-process-send-returns-boolean.js +parallel/test-net-socket-write-error.js +parallel/test-punycode.js +parallel/test-worker-vm-context-terminate.js +parallel/test-https-agent-session-reuse.js +parallel/test-stream-objectmode-undefined.js +# 2026-03-25: Breaking update of nghttp2 to 1.68.1 +#parallel/test-http2-client-unescaped-path.js +parallel/test-dns-perf_hooks.js +parallel/test-tls-connect-abort-controller.js +parallel/test-whatwg-url-custom-searchparams-foreach.js +parallel/test-vm-context-dont-contextify.js +parallel/test-readline-promises-tab-complete.js +parallel/test-cluster-server-restart-none.js +parallel/test-https-truncate.js +parallel/test-dgram-custom-lookup.js +parallel/test-http2-compat-serverresponse-headers-send-date.js +parallel/test-assert-deep-with-error.js +parallel/test-fs-promises-file-handle-close-errors.js +parallel/test-repl-reverse-search.js +parallel/test-child-process-uid-gid.js +parallel/test-assert-partial-deep-equal.js +parallel/test-http-automatic-headers.js +parallel/test-http2-create-client-session.js +parallel/test-http2-connect-options.js +parallel/test-http2-generic-streams.js +parallel/test-stream-readable-destroy.js +parallel/test-stream-error-once.js +parallel/test-permission-allow-wasi-cli.js +parallel/test-stream-writable-constructor-set-methods.js +parallel/test-next-tick.js +parallel/test-http2-ping.js +parallel/test-abort-controller-any-timeout.js +parallel/test-tty-stdin-pipe.js +parallel/test-http2-invalidheaderfields-client.js +parallel/test-events-static-geteventlisteners.js +parallel/test-https-agent-servername.js +parallel/test-http-invalid-path-chars.js +parallel/test-next-tick-when-exiting.js +parallel/test-http-response-multi-content-length.js +parallel/test-net-sync-cork.js +parallel/test-file-write-stream5.js +parallel/test-repl-context.js +parallel/test-dgram-recv-error.js +parallel/test-http-blank-header.js +parallel/test-crypto-keygen-async-encrypted-private-key.js +parallel/test-inspector-network-http.js +parallel/test-http-invalid-urls.js +parallel/test-zlib-write-after-close.js +parallel/test-net-server-listen-options.js +parallel/test-worker-exit-code.js +parallel/test-snapshot-coverage.js +parallel/test-whatwg-url-custom-searchparams-delete.js +parallel/test-console-not-call-toString.js +parallel/test-net-autoselectfamily-default.js +parallel/test-webcrypto-cryptokey-workers.js +parallel/test-stream-readable-readable-then-resume.js +parallel/test-zlib-write-after-flush.js +parallel/test-event-emitter-set-max-listeners-side-effects.js +parallel/test-http-response-splitting.js +parallel/test-https-client-reject.js +parallel/test-fs-watchfile.js +parallel/test-vm-timeout-escape-promise.js +parallel/test-util-inspect.js +parallel/test-cli-syntax-piped-good.js +parallel/test-buffer-over-max-length.js +parallel/test-domain-async-id-map-leak.js +parallel/test-dns-channel-cancel.js +parallel/test-console-self-assign.js +parallel/test-net-better-error-messages-path.js +parallel/test-cluster-basic.js +parallel/test-stream3-cork-end.js +parallel/test-http2-large-write-close.js +parallel/test-http-outgoing-destroyed.js +parallel/test-buffer-writeuint.js +parallel/test-internal-util-helpers.js +parallel/test-promises-warning-on-unhandled-rejection.js +parallel/test-worker-stack-overflow.js +parallel/test-net-listen-twice.js +parallel/test-fs-rmdir-recursive-sync-warns-on-file.js +parallel/test-http-server-reject-chunked-with-content-length.js +parallel/test-http2-onping.js +parallel/test-net-writable.js +parallel/test-dns-default-order-ipv4.js +parallel/test-timers-next-tick.js +parallel/test-net-server-unref.js +parallel/test-v8-coverage.js +parallel/test-diagnostics-channel-http.js +parallel/test-console-async-write-error.js +parallel/test-vm-strict-mode.js +parallel/test-fs-rmdir-recursive.js +parallel/test-diagnostics-channel-tracing-channel-callback-early-exit.js +parallel/test-stream-readable-unpipe-resume.js +parallel/test-tcp-wrap-listen.js +parallel/test-domain-no-error-handler-abort-on-uncaught-8.js +parallel/test-socket-writes-before-passed-to-tls-socket.js +parallel/test-performance-gc.js +parallel/test-cluster-worker-kill-signal.js +parallel/test-process-execve-abort.js +parallel/test-whatwg-url-custom-global.js +parallel/test-fileurltopathbuffer.js +parallel/test-stream-wrap-encoding.js +parallel/test-tls-get-ca-certificates-extra.js +parallel/test-icu-data-dir.js +parallel/test-process-raw-debug.js +parallel/test-cluster-send-deadlock.js +parallel/test-http2-compat-serverresponse-flushheaders.js +parallel/test-buffer-from.js +parallel/test-inspect-address-in-use.js +parallel/test-internal-util-weakreference.js +parallel/test-force-repl.js +parallel/test-event-emitter-symbols.js +parallel/test-os-eol.js +parallel/test-https-socket-options.js +parallel/test-http-server-close-idle.js +parallel/test-net-socket-connect-invalid-autoselectfamily.js +parallel/test-cluster-primary-error.js +parallel/test-tls-wrap-econnreset.js +parallel/test-http2-removed-header-stays-removed.js +parallel/test-tls-interleave.js +parallel/test-http-server-clear-timer.js +parallel/test-http-information-processing.js +parallel/test-stream-readable-aborted.js +parallel/test-trace-events-v8.js +parallel/test-http-response-no-headers.js +parallel/test-http-dummy-characters-smuggling.js +parallel/test-http-client-timeout-agent.js +parallel/test-http-server-request-timeout-upgrade.js +parallel/test-readline-emit-keypress-events.js +parallel/test-worker-nested-on-process-exit.js +parallel/test-tls-socket-snicallback-without-server.js +parallel/test-dgram-create-socket-handle-fd.js +parallel/test-http-client-abort2.js +parallel/test-common-expect-warning.js +parallel/test-repl-import-referrer.js +parallel/test-util-isDeepStrictEqual.js +parallel/test-worker-message-port-arraybuffer.js +parallel/test-http-server-multiheaders.js +parallel/test-http-keepalive-free.js +parallel/test-performance-global.js +parallel/test-tls-socket-close.js +parallel/test-pipe-outgoing-message-data-emitted-after-ended.js +parallel/test-fs-util-validateoffsetlength.js +parallel/test-fs-fsync.js +parallel/test-crypto-keygen-key-object-without-encoding.js +parallel/test-http-outgoing-finish-writable.js +parallel/test-tls-socket-destroy.js +parallel/test-util-deprecate.js +parallel/test-cluster-disconnect-unshared-udp.js +parallel/test-diagnostics-channel-http2-client-stream-start.js +parallel/test-repl-clear-immediate-crash.js +parallel/test-tls-external-accessor.js +parallel/test-http2-max-settings.js +parallel/test-dgram-connect-send-default-host.js +parallel/test-webcrypto-util.js +parallel/test-domain-top-level-error-handler-throw.js +parallel/test-timers-unref.js +parallel/test-repl-tab.js +parallel/test-stream-uint8array.js +parallel/test-tls-disable-renegotiation.js +parallel/test-dns-lookupService.js +parallel/test-net-socket-connect-without-cb.js +parallel/test-child-process-stdio-big-write-end.js +parallel/test-fs-fchmod.js +parallel/test-http2-binding.js +parallel/test-snapshot-typescript.js +parallel/test-child-process-exec-timeout-kill.js +parallel/test-repl-throw-null-or-undefined.js +parallel/test-repl-array-prototype-tempering.js +parallel/test-tls-reuse-host-from-socket.js +parallel/test-async-hooks-vm-gc.js +parallel/test-child-process-ipc-next-tick.js +parallel/test-fs-truncate-clear-file-zero.js +parallel/test-promise-unhandled-flag.js +parallel/test-inspect-support-for-node_options.js +parallel/test-assert-calltracker-getCalls.js +parallel/test-pending-deprecation.js +parallel/test-http-client-default-headers-exist.js +parallel/test-http-set-max-idle-http-parser.js +parallel/test-crypto-dh-stateless.js +parallel/test-timers-refresh.js +parallel/test-cluster-dgram-1.js +parallel/test-internal-socket-list-receive.js +parallel/test-stream-reduce.js +parallel/test-child-process-fork-close.js +parallel/test-dgram-abort-closed.js +parallel/test-http-write-head.js +parallel/test-fs-realpath-buffer-encoding.js +parallel/test-crypto-subtle-cross-realm.js +parallel/test-child-process-stdout-flush-exit.js +parallel/test-vm-createcacheddata.js +parallel/test-http2-session-gc-while-write-scheduled.js +parallel/test-internal-module-require.js +parallel/test-worker-abort-on-uncaught-exception-terminate.js +parallel/test-stream-pipeline.js +parallel/test-module-loading-globalpaths.js +parallel/test-fs-readfile-pipe-large.js +parallel/test-http-client-close-with-default-agent.js +parallel/test-buffer-indexof.js +parallel/test-child-process-stdio-overlapped.js +parallel/test-async-hooks-top-level-clearimmediate.js +parallel/test-dns-setlocaladdress.js +parallel/test-url-fileurltopath.js +parallel/test-shadow-realm-gc-module.js +parallel/test-diagnostics-channel-module-require-error.js +parallel/test-http-server-request-timeout-keepalive.js +parallel/test-snapshot-basic.js +parallel/test-crypto-prime.js +parallel/test-v8-deserialize-buffer.js +parallel/test-stream3-cork-uncork.js +parallel/test-runner-misc.js +parallel/test-compile-cache-api-permission.js +parallel/test-http-url.parse-path.js +parallel/test-net-socket-local-address.js +parallel/test-fs-mkdir.js +parallel/test-fs-watch-recursive-sync-write.js +parallel/test-http2-server-settimeout-no-callback.js +parallel/test-http2-compat-serverresponse-headers-after-destroy.js +parallel/test-permission-wasi.js +parallel/test-trace-events-binding.js +parallel/test-worker-track-unmanaged-fds.js +parallel/test-repl-require-context.js +parallel/test-repl-pretty-stack-custom-writer.js +parallel/test-async-hooks-enable-before-promise-resolve.js +parallel/test-http-client-get-url.js +parallel/test-tls-transport-destroy-after-own-gc.js +parallel/test-stream2-readable-wrap-destroy.js +parallel/test-internal-net-isLoopback.js +parallel/test-tls-client-reject-12.js +parallel/test-fs-read-file-sync-hostname.js +parallel/test-mime-whatwg.js +parallel/test-eslint-non-ascii-character.js +parallel/test-tls-psk-errors.js +parallel/test-repl-tab-complete-no-warn.js +parallel/test-inspector-inspect-brk-node.js +parallel/test-timers-this.js +parallel/test-repl-save-load-load-non-existent.js +parallel/test-zlib-flush-write-sync-interleaved.js +parallel/test-cluster-disconnect-idle-worker.js +parallel/test-require-invalid-package.js +parallel/test-http-client-close-event.js +parallel/test-fs-read-optional-params.js +parallel/test-http-server-options-incoming-message.js +parallel/test-child-process-stdin-ipc.js +parallel/test-tls-env-bad-extra-ca.js +parallel/test-assert-calltracker-report.js +parallel/test-http2-session-graceful-close.js +parallel/test-whatwg-events-add-event-listener-options-signal.js +parallel/test-cluster-child-index-dgram.js +parallel/test-tls-reinitialize-listeners.js +parallel/test-zlib-failed-init.js +parallel/test-datetime-change-notify.js +parallel/test-repl-strict-mode-previews.js +parallel/test-http2-propagate-session-destroy-code.js +parallel/test-https-pfx.js +parallel/test-stream-readable-hwm-0-async.js +parallel/test-tls-junk-server.js +parallel/test-tls-client-resume-12.js +parallel/test-repl-use-global.js +parallel/test-path-normalize.js +parallel/test-crypto-domains.js +parallel/test-cluster-worker-isdead.js +parallel/test-delayed-require.js +parallel/test-stdin-script-child.js +parallel/test-http2-stream-removelisteners-after-close.js +parallel/test-stdin-pause-resume.js +parallel/test-child-process-spawn-controller.js +parallel/test-http-req-res-close.js +parallel/test-fs-syncwritestream.js +parallel/test-worker-unsupported-things.js +parallel/test-http2-compat-errors.js +parallel/test-https-options-boolean-check.js +parallel/test-promise-unhandled-throw-handler.js +parallel/test-promise-hook-on-after.js +parallel/test-module-globalpaths-nodepath.js +parallel/test-worker-process-cwd.js +parallel/test-tls-secure-context-usage-order.js +parallel/test-shadow-realm-module.js +parallel/test-http2-respond-file-204.js +parallel/test-inspector-close-worker.js +parallel/test-worker-ref.js +parallel/test-inspector-has-inspector-false.js +parallel/test-repl-inspect-defaults.js +parallel/test-querystring.js +parallel/test-fs-rmdir-type-check.js +parallel/test-child-process-exec-abortcontroller-promisified.js +parallel/test-runner-typechecking.js +parallel/test-crypto-keygen-no-rsassa-pss-params.js +parallel/test-tls-empty-sni-context.js +parallel/test-exception-handler2.js +parallel/test-zlib-destroy-pipe.js +parallel/test-wrap-js-stream-duplex.js +parallel/test-runner-mocking.js +parallel/test-repl-load-multiline-from-history.js +parallel/test-http2-client-onconnect-errors.js +parallel/test-worker-stdio-from-preload-module.js +parallel/test-vm-access-process-env.js +parallel/test-tls-close-event-after-write.js +parallel/test-net-eaddrinuse.js +parallel/test-cluster-eaccess.js +parallel/test-performance-nodetiming-uvmetricsinfo.js +parallel/test-snapshot-argv1.js +parallel/test-tls-client-renegotiation-limit.js +parallel/test-http2-server-shutdown-before-respond.js +parallel/test-domain-thrown-error-handler-stack.js +parallel/test-fs-writestream-open-write.js +parallel/test-worker-heap-snapshot.js +parallel/test-process-env-allowed-flags-are-documented.js +parallel/test-https-timeout-server-2.js +parallel/test-http2-priority-cycle-.js +parallel/test-tls-check-server-identity.js +parallel/test-process-getactiveresources.js +parallel/test-fs-buffer.js +parallel/test-tls-ca-concat.js +parallel/test-buffer-tostring-rangeerror.js +parallel/test-stream-pipeline-listeners.js +parallel/test-http2-compat-serverresponse-statuscode.js +parallel/test-inspector-network-data-sent.js +parallel/test-repl-end-emits-exit.js +parallel/test-repl-tab-complete-import.js +parallel/test-async-hooks-http-parser-destroy.js +parallel/test-tls-connect-stream-writes.js +parallel/test-zlib-deflate-constructors.js +parallel/test-child-process-stdio-merge-stdouts-into-cat.js +parallel/test-domain-uncaught-exception.js +parallel/test-tls-ticket.js +parallel/test-child-process-send-keep-open.js +parallel/test-fs-read-stream-encoding.js +parallel/test-warn-sigprof.js +parallel/test-x509-escaping.js +parallel/test-stream2-decode-partial.js +parallel/test-cluster-accept-fail.js +parallel/test-http-parser.js +parallel/test-stream-duplex-from.js +parallel/test-repl-save-load-save-without-name.js +parallel/test-repl-custom-eval-previews.js +parallel/test-path-zero-length-strings.js +parallel/test-http-outgoing-finished.js +parallel/test-http2-update-settings.js +parallel/test-https-server-options-server-response.js +parallel/test-net-bytes-written-large.js +parallel/test-tls-on-empty-socket.js +parallel/test-whatwg-url-custom-searchparams-getall.js +parallel/test-http-server-connection-list-when-close.js +parallel/test-crypto-keygen-duplicate-deprecated-option.js +parallel/test-os-userinfo-handles-getter-errors.js +parallel/test-fs-buffertype-writesync.js +parallel/test-http2-invalidheaderfield.js +parallel/test-http-header-obstext.js +parallel/test-zlib-no-stream.js +parallel/test-async-hooks-execution-async-resource.js +parallel/test-domain-multiple-errors.js +parallel/test-process-execve-worker-threads.js +parallel/test-compile-cache-api-flush.js +parallel/test-https-connecting-to-http.js +parallel/test-repl-unexpected-token-recoverable.js +parallel/test-abortsignal-cloneable.js +parallel/test-diagnostics-channel-safe-subscriber-errors.js +parallel/test-cluster-dgram-bind-fd.js +parallel/test-repl-tab-complete-files.js +parallel/test-net-dns-custom-lookup.js +parallel/test-vm-proxy-failure-CP.js +parallel/test-tls-timeout-server.js +parallel/test-http2-trailers-after-session-close.js +parallel/test-async-hooks-fatal-error.js +parallel/test-event-emitter-error-monitor.js +parallel/test-dgram-close-in-listening.js +parallel/test-cli-node-print-help.js +parallel/test-asyncresource-bind.js +parallel/test-http-outgoing-message-inheritance.js +parallel/test-http2-client-write-empty-string.js +parallel/test-stream-readable-next-no-null.js +parallel/test-module-symlinked-peer-modules.js +parallel/test-http-head-response-has-no-body.js +parallel/test-module-prototype-mutation.js +parallel/test-stream-events-prepend.js +parallel/test-domain-from-timer.js +parallel/test-inspector-connect-to-main-thread.js +parallel/test-process-emit.js +parallel/test-signal-unregister.js +parallel/test-readline-undefined-columns.js +parallel/test-compile-cache-updated-file.js +parallel/test-net-listen-after-destroying-stdin.js +parallel/test-http-transfer-encoding-repeated-chunked.js +parallel/test-http2-client-shutdown-before-connect.js +parallel/test-permission-allow-child-process-cli.js +parallel/test-v8-startup-snapshot-api.js +parallel/test-trace-events-dynamic-enable-workers-disabled.js +parallel/test-dgram-connect-send-empty-buffer.js +parallel/test-eslint-documented-errors.js +parallel/test-tls-passphrase.js +parallel/test-http-chunked.js +parallel/test-dns-resolveany.js +parallel/test-fs-write-file.js +parallel/test-set-incoming-message-header.js +parallel/test-assert-fail.js +parallel/test-tls-wrap-econnreset-pipe.js +parallel/test-webcrypto-encrypt-decrypt-rsa.js +parallel/test-worker-terminate-microtask-loop.js +parallel/test-cluster-worker-init.js +parallel/test-eventemitter-asyncresource.js +parallel/test-stream2-finish-pipe.js +parallel/test-http2-client-set-priority.js +parallel/test-buffer-of-no-deprecation.js +parallel/test-stream-readable-flow-recursion.js +parallel/test-worker-message-port-drain.js +parallel/test-child-process-exec-any-shells-windows.js +parallel/test-net-perf_hooks.js +parallel/test-stream-finished.js +parallel/test-diagnostics-channel-process.js +parallel/test-messageport-hasref.js +parallel/test-tz-version.js +parallel/test-tls-socket-default-options.js +parallel/test-fs-readv-promisify.js +parallel/test-webstream-readable-from.js +parallel/test-process-setsourcemapsenabled.js +parallel/test-inspector-debug-end.js +parallel/test-worker-http2-generic-streams-terminate.js +parallel/test-assert-typedarray-deepequal.js +parallel/test-fs-copyfile.js +parallel/test-net-reconnect.js +parallel/test-tls-buffersize.js +parallel/test-require-json.js +parallel/test-http-parser-multiple-execute.js +parallel/test-buffer-set-inspect-max-bytes.js +parallel/test-net-connect-reset-after-destroy.js +parallel/test-fs-write-stream-change-open.js +parallel/test-fs-filehandle-use-after-close.js +parallel/test-heap-prof-sigint.js +parallel/test-cluster-fork-stdio.js +parallel/test-child-process-send-cb.js +parallel/test-event-emitter-errors.js +parallel/test-fs-promises-readfile-with-fd.js +parallel/test-repl-options.js +parallel/test-stream-transform-objectmode-falsey-value.js +parallel/test-http2-compat-aborted.js +parallel/test-internal-socket-list-send.js +parallel/test-path-basename.js +parallel/test-fs-opendir.js +parallel/test-cppheap-stats.js +parallel/test-snapshot-config.js +parallel/test-http2-autoselect-protocol.js +parallel/test-trace-events-net.js +parallel/test-http2-compat-serverresponse-settimeout.js +parallel/test-fs-write-no-fd.js +parallel/test-tls-zero-clear-in.js +parallel/test-worker-syntax-error-file.js +parallel/test-http-header-overflow.js +parallel/test-http-keep-alive-timeout.js +parallel/test-tls-env-extra-ca-no-crypto.js +parallel/test-inspector-async-context-brk.js +parallel/test-eventtarget-memoryleakwarning.js +parallel/test-diagnostic-channel-http-response-created.js +parallel/test-cluster-worker-handle-close.js +parallel/test-trace-events-api-worker-disabled.js +parallel/test-internal-util-decorate-error-stack.js +parallel/test-net-connect-options-invalid.js +parallel/test-stream-pipe-after-end.js +parallel/test-whatwg-url-custom-searchparams-has.js +parallel/test-net-server-close.js +parallel/test-whatwg-url-canparse.js +parallel/test-dgram-bind-socket-close-before-lookup.js +parallel/test-snapshot-stack-trace-limit-mutation.js +parallel/test-fs-promises-exists.js +parallel/test-http2-trailers.js +parallel/test-repl-top-level-await.js +parallel/test-buffer-slow.js +parallel/test-tls-sni-server-client.js +parallel/test-net-server-reset.js +parallel/test-http-server-timeouts-validation.js +parallel/test-diagnostics-channel-tracing-channel-sync-error.js +parallel/test-cluster-disconnect-with-no-workers.js +parallel/test-shadow-realm-gc.js +parallel/test-http-client-request-options.js +parallel/test-dgram-setTTL.js +parallel/test-net-persistent-ref-unref.js +parallel/test-console-instance.js +parallel/test-fs-watch-abort-signal.js +parallel/test-fs-realpath-on-substed-drive.js +parallel/test-dns-channel-cancel-promise.js +parallel/test-tls-multi-pfx.js +parallel/test-http2-perform-server-handshake.js +parallel/test-readable-from-web-enqueue-then-close.js +parallel/test-force-repl-with-eval.js +parallel/test-http2-server-errors.js +parallel/test-worker-terminate-http2-respond-with-file.js +parallel/test-child-process-spawnsync-shell.js +parallel/test-crypto-pbkdf2.js +parallel/test-http-transfer-encoding-smuggling.js +parallel/test-whatwg-readablebytestream-bad-buffers-and-views.js +parallel/test-querystring-escape.js +parallel/test-buffer-zero-fill.js +parallel/test-http-server-close-all.js +parallel/test-domain-emit-error-handler-stack.js +parallel/test-eslint-prefer-assert-iferror.js +parallel/test-tls-destroy-stream-12.js +parallel/test-vm-module-link.js +parallel/test-http2-compat-method-connect.js +parallel/test-process-abort.js +parallel/test-dgram-bind.js +parallel/test-child-process-exec-stdout-stderr-data-string.js +parallel/test-vm-is-context.js +parallel/test-whatwg-url-custom-deepequal.js +parallel/test-zlib-flush.js +parallel/test-worker-process-env-shared.js +parallel/test-http-information-headers.js +parallel/test-child-process-detached.js +parallel/test-fs-promises-writefile.js +parallel/test-crypto-keygen-rfc8017-a-2-3.js +parallel/test-stream-catch-rejections.js +parallel/test-worker-uncaught-exception.js +parallel/test-http-write-head-after-set-header.js +parallel/test-tls-alert-handling.js +parallel/test-console-log-throw-primitive.js +parallel/test-pipe-abstract-socket-http.js +parallel/test-cluster-disconnect-unshared-tcp.js +parallel/test-tls-set-encoding.js +parallel/test-runner-enable-source-maps-issue.js +parallel/test-trace-events-promises.js +parallel/test-tls-close-notify.js +parallel/test-fs-readfile-unlink.js +parallel/test-diagnostics-channel-tracing-channel-sync-run-stores.js +parallel/test-fs-close.js +parallel/test-worker-message-transfer-port-mark-as-untransferable.js +parallel/test-http2-respond-with-fd-errors.js +parallel/test-crypto-keygen-async-encrypted-private-key-der.js +parallel/test-timers-interval-throw.js +parallel/test-dns-setservers-type-check.js +parallel/test-path-isabsolute.js +parallel/test-fs-chmod.js +parallel/test-compile-cache-typescript-esm.js +parallel/test-timers-timeout-promisified.js +parallel/test-cli-node-options-disallowed.js +parallel/test-net-connect-options-allowhalfopen.js +parallel/test-webstreams-compose.js +parallel/test-http-max-header-size.js +parallel/test-process-env-symbols.js +parallel/test-repl-custom-eval.js +parallel/test-repl-syntax-error-handling.js +parallel/test-child-process-fork-and-spawn.js +parallel/test-stream-pipe-deadlock.js +parallel/test-stream2-unpipe-drain.js +parallel/test-blob-createobjecturl.js +parallel/test-zlib-brotli-16GB.js +parallel/test-process-next-tick.js +parallel/test-diagnostic-channel-http-request-created.js +parallel/test-repl-tab-complete.js +parallel/test-v8-collect-gc-profile.js +parallel/test-assert.js +parallel/test-timers-unrefed-in-beforeexit.js +parallel/test-repl-uncaught-exception-standalone.js +parallel/test-vm-getters.js +parallel/test-vm-syntax-error-message.js +parallel/test-domain-nested-throw.js +parallel/test-buffer-slice.js +parallel/test-runner-option-validation.js +parallel/test-https-connect-address-family.js +parallel/test-tls-fast-writing.js +parallel/test-timers-reset-process-domain-on-throw.js +parallel/test-http-url.parse-https.request.js +parallel/test-child-process-fork-getconnections.js +parallel/test-net-client-bind-twice.js +parallel/test-fs-fchown.js +parallel/test-inspector-open.js +parallel/test-worker.js +parallel/test-cluster-setup-primary.js +parallel/test-sqlite-timeout.js +parallel/test-vm-global-identity.js +parallel/test-net-persistent-keepalive.js +parallel/test-http-uncaught-from-request-callback.js +parallel/test-intl-v8BreakIterator.js +parallel/test-h2-large-header-cause-client-to-hangup.js +parallel/test-repl-save-load-editor-mode.js +parallel/test-http-server-headers-timeout-interrupted-headers.js +parallel/test-stdin-child-proc.js +parallel/test-fs-read-stream-pos.js +parallel/test-buffer-tostring.js +parallel/test-worker-message-port-message-port-transferring.js +parallel/test-http-request-method-delete-payload.js +parallel/test-err-name-deprecation.js +parallel/test-stream-base-typechecking.js +parallel/test-http-parser-memory-retention.js +parallel/test-fs-append-file.js +parallel/test-repl-empty.js +parallel/test-diagnostics-channel-tracing-channel-promise-early-exit.js +parallel/test-fs-read-stream.js +parallel/test-stream2-push.js +parallel/test-https-localaddress-bind-error.js +parallel/test-stdout-close-catch.js +parallel/test-diagnostics-channel-http2-client-stream-error.js +parallel/test-sqlite-session.js +parallel/test-stream2-readable-non-empty-end.js +parallel/test-stream-readable-object-multi-push-async.js +parallel/test-tls-socket-constructor-alpn-options-parsing.js +parallel/test-repl-cli-eval.js +parallel/test-fs-non-number-arguments-throw.js +parallel/test-http-response-setheaders.js +parallel/test-process-env-ignore-getter-setter.js +parallel/test-trace-events-worker-metadata-with-name.js +parallel/test-dsa-fips-invalid-key.js +parallel/test-http-client-timeout-option-with-agent.js +parallel/test-directory-import.js +parallel/test-http2-misbehaving-multiplex.js +parallel/test-validators.js +parallel/test-http2-session-stream-state.js +parallel/test-startup-large-pages.js +parallel/test-worker-workerdata-messageport.js +parallel/test-tls-psk-circuit.js +parallel/test-repl-tab-complete-custom-completer.js +parallel/test-worker-messaging-errors-handler.js +parallel/test-stream-writable-change-default-encoding.js +parallel/test-tls-server-verify.js +parallel/test-http-server-async-dispose.js +parallel/test-net-socket-destroy-send.js +parallel/test-runner-filetest-location.js +parallel/test-assert-checktag.js +parallel/test-error-aggregateTwoErrors.js +parallel/test-tls-cert-regression.js +parallel/test-worker-workerdata-sharedarraybuffer.js +parallel/test-process-constants-noatime.js +parallel/test-assert-first-line.js +parallel/test-http-autoselectfamily.js +parallel/test-blob.js +parallel/test-require-dot.js +parallel/test-event-emitter-num-args.js +parallel/test-quic-internal-endpoint-options.js +parallel/test-tls-peer-certificate-encoding.js +parallel/test-crypto-keygen-invalid-parameter-encoding-ec.js +parallel/test-http-res-write-after-end.js +parallel/test-compile-cache-api-success.js +parallel/test-quic-internal-endpoint-listen-defaults.js +parallel/test-preload-print-process-argv.js +parallel/test-trace-events-worker-metadata.js +parallel/test-fs-readfile.js +parallel/test-http2-serve-file.js +parallel/test-inspector-waiting-for-disconnect.js +parallel/test-shadow-realm-globals.js +parallel/test-http2-compat-write-early-hints-invalid-argument-type.js +parallel/test-worker-memory.js +parallel/test-tls-client-auth.js +parallel/test-fs-write-stream-close-without-callback.js +parallel/test-domain-nested.js +parallel/test-net-autoselectfamily-attempt-timeout-cli-option.js +parallel/test-fs-existssync-memleak-longpath.js +parallel/test-cluster-bind-twice.js +parallel/test-repl-harmony.js +parallel/test-domain-no-error-handler-abort-on-uncaught-5.js +parallel/test-whatwg-url-properties.js +parallel/test-crypto-hash-stream-pipe.js +parallel/test-child-process-exec-timeout-not-expired.js +parallel/test-inspector-exit-worker-in-wait-for-connection.js +parallel/test-zlib-truncated.js +parallel/test-dgram-send-callback-multi-buffer.js +parallel/test-readline-line-separators.js +parallel/test-internal-async-context-frame-enabled.js +parallel/test-repl-pretty-custom-stack.js +parallel/test-inspector-enabled.js +parallel/test-worker-message-port-message-before-close.js +parallel/test-vm-syntax-error-stderr.js +parallel/test-tls-hello-parser-failure.js +parallel/test-microtask-queue-run.js +parallel/test-http-request-join-authorization-headers.js +parallel/test-http-abort-queued.js +parallel/test-worker-relative-path-double-dot.js +parallel/test-whatwg-url-custom-searchparams-set.js +parallel/test-timers-timeout-to-interval.js +parallel/test-repl-unsafe-array-iteration.js +parallel/test-crypto-hmac.js +parallel/test-inspector-worker-target.js +parallel/test-https-agent-unref-socket.js +parallel/test-timers-clear-object-does-not-throw-error.js +parallel/test-buffer-iterator.js +parallel/test-fs-open-mode-mask.js +parallel/test-http2-compat-serverrequest-pipe.js +parallel/test-fs-read-stream-patch-open.js +parallel/test-http-upgrade-agent.js +parallel/test-domain-timers-uncaught-exception.js +parallel/test-http-upgrade-reconsume-stream.js +parallel/test-fs-symlink-longpath.js +parallel/test-worker-data-url.js +parallel/test-net-connect-buffer.js +parallel/test-process-exception-capture.js +parallel/test-tls-basic-validations.js +parallel/test-http2-client-setLocalWindowSize.js +parallel/test-require-extensions-same-filename-as-dir-trailing-slash.js +parallel/test-stream-pipe-error-handling.js +parallel/test-cluster-bind-privileged-port.js +parallel/test-child-process-stdin.js +parallel/test-runner-assert.js +parallel/test-repl.js +parallel/test-sqlite-custom-functions.js +parallel/test-crypto-keygen-empty-passphrase-no-prompt.js +parallel/test-http-upgrade-client.js +parallel/test-dgram-createSocket-type.js +parallel/test-dns.js +parallel/test-repl-require-after-write.js +parallel/test-process-redirect-warnings-env.js +parallel/test-http-upgrade-server2.js +parallel/test-zlib-sync-no-event.js +parallel/test-crypto-dh-stateless-async.js +parallel/test-net-allow-half-open.js +parallel/test-tls-addca.js +parallel/test-http-default-encoding.js +parallel/test-http2-server-set-header.js +parallel/test-crypto-keygen-rfc8017-9-1.js +parallel/test-http2-compat-socket-set.js +parallel/test-module-main-extension-lookup.js +parallel/test-cluster-net-server-drop-connection.js +parallel/test-stream2-unpipe-leak.js +parallel/test-module-parent-deprecation.js +parallel/test-dgram-cluster-close-in-listening.js +parallel/test-module-builtin.js +parallel/test-http-url.parse-auth.js +parallel/test-compile-cache-api-error.js +parallel/test-http2-destroy-after-write.js +parallel/test-stream-compose-operator.js +parallel/test-net-bytes-stats.js +parallel/test-http2-zero-length-header.js +parallel/test-http-request-invalid-method-error.js +parallel/test-fs-promises-mkdtempDisposable.js +parallel/test-net-server-listen-handle.js +parallel/test-worker-message-port-transfer-terminate.js +parallel/test-v8-flag-pool-size-0.js +parallel/test-https-host-headers.js +parallel/test-child-process-exec-error.js +parallel/test-snapshot-console.js +parallel/test-fs-read.js +parallel/test-repl-let-process.js +parallel/test-http2-request-response-proto.js +parallel/test-net-autoselectfamily.js +parallel/test-tls-streamwrap-buffersize.js +parallel/test-fs-watchfile-bigint.js +parallel/test-http-client-res-destroyed.js +parallel/test-assert-if-error.js +parallel/test-timers-immediate-queue.js +parallel/test-ttywrap-stack.js +parallel/test-child-process-spawn-argv0.js +parallel/test-worker-message-port.js +parallel/test-net-server-drop-connections.js +parallel/test-domain-crypto.js +parallel/test-stream2-set-encoding.js +parallel/test-cluster-shared-handle-bind-error.js +parallel/test-worker-unref-from-message-during-exit.js +parallel/test-stream3-pipeline-async-iterator.js +parallel/test-net-server-close-before-calling-lookup-callback.js +parallel/test-tls-getcertificate-x509.js +parallel/test-cluster-net-listen.js +parallel/test-compile-cache-permission-allowed.js +parallel/test-http2-exceeds-server-trailer-size.js +parallel/test-stream-unshift-read-race.js +parallel/test-inspector-network-arbitrary-data.js +parallel/test-timers-same-timeout-wrong-list-deleted.js +parallel/test-http2-options-server-request.js +parallel/test-fs-write-stream-patch-open.js +parallel/test-v8-collect-gc-profile-exit-before-stop.js +parallel/test-eval-strict-referenceerror.js +parallel/test-snapshot-stack-trace-limit.js +parallel/test-diagnostics-channel-module-require.js +parallel/test-worker-resource-limits.js +parallel/test-runner-mock-timers.js +parallel/test-crypto-x509.js +parallel/test-http-parser-free.js +parallel/test-promise-unhandled-warn.js +parallel/test-https-client-override-global-agent.js +parallel/test-queue-microtask-uncaught-asynchooks.js +parallel/test-dgram-send-callback-buffer-length.js +parallel/test-fs-link.js +parallel/test-http2-compat-serverresponse-write.js +parallel/test-blob-file-backed.js +parallel/test-inspector-has-idle.js +parallel/test-dns-cancel-reverse-lookup.js +parallel/test-async-hooks-promise.js +parallel/test-http2-compat-serverrequest-settimeout.js +parallel/test-eslint-prefer-assert-methods.js +parallel/test-stream2-large-read-stall.js +parallel/test-http-chunk-problem.js +parallel/test-http-keep-alive-pipeline-max-requests.js +parallel/test-http-abort-before-end.js +parallel/test-diagnostics-channel-tracing-channel-sync.js +parallel/test-dns-default-order-verbatim.js +parallel/test-http-server-headers-timeout-keepalive.js +parallel/test-https-drain.js +parallel/test-cluster-server-restart-rr.js +parallel/test-inspector-emit-protocol-event.js +parallel/test-whatwg-readablebytestreambyob.js +parallel/test-http2-compat-serverrequest-end.js +parallel/test-process-ref-unref.js +parallel/test-module-children.js +parallel/test-crypto-dh-modp2.js +parallel/test-diagnostics-channel-tracing-channel-args-types.js +parallel/test-inspector-async-hook-after-done.js +parallel/test-crypto-sec-level.js +parallel/test-process-argv-0.js +parallel/test-http-pause-resume-one-end.js +parallel/test-child-process-execFile-promisified-abortController.js +parallel/test-net-throttle.js +parallel/test-http2-error-order.js +parallel/test-readline-position.js +parallel/test-inspector-heap-allocation-tracker.js +parallel/test-fs-chmod-mask.js +parallel/test-http2-byteswritten-server.js +parallel/test-fs-rmdir-recursive-warns-not-found.js +parallel/test-dgram-implicit-bind.js +parallel/test-http2-many-writes-and-destroy.js +parallel/test-net-socket-no-halfopen-enforcer.js +parallel/test-vm-proxies.js +parallel/test-runner-no-isolation-filtering.js +parallel/test-vm-module-reevaluate.js +parallel/test-http2-util-update-options-buffer.js +parallel/test-http-server-keepalive-req-gc.js +parallel/test-internal-errors.js +parallel/test-debugger-random-port.js +parallel/test-child-process-exec-cwd.js +parallel/test-http-response-readable.js +parallel/test-stream-readable-unshift.js +parallel/test-stream-pipe-flow-after-unpipe.js +parallel/test-http-server-options-server-response.js +parallel/test-webcrypto-sign-verify-eddsa.js +parallel/test-fs-stream-construct-compat-error-write.js +parallel/test-net-connect-immediate-finish.js +parallel/test-inspector.js +parallel/test-fs-promises-file-handle-stream.js +parallel/test-vm-module-modulerequests.js +parallel/test-snapshot-eval.js +parallel/test-fs-watch-recursive-add-file.js +parallel/test-http2-compat-write-early-hints-invalid-argument-value.js +parallel/test-http2-server-rfc-9113-client.js +parallel/test-stream2-transform.js +parallel/test-filehandle-close.js +parallel/test-http-client-readable.js +parallel/test-trace-events-vm.js +parallel/test-fs-lchown-negative-one.js +parallel/test-dns-set-default-order.js +parallel/test-os.js +parallel/test-permission-fs-wildcard.js +parallel/test-worker-message-event.js +parallel/test-vm-strict-assign.js +parallel/test-fs-watch-recursive-promise.js +parallel/test-tls-set-ciphers.js +parallel/test-crypto-subtle-zero-length.js +parallel/test-timers-immediate-unref-nested-once.js +parallel/test-v8-string-is-one-byte-representation.js +parallel/test-net-access-byteswritten.js +parallel/test-buffer-constants.js +parallel/test-trace-events-get-category-enabled-buffer.js +parallel/test-stdio-undestroy.js +parallel/test-tls-get-ca-certificates-system.js +parallel/test-trace-events-fs-sync.js +parallel/test-util-inspect-proxy.js +parallel/test-crypto-dh-padding.js +parallel/test-buffer-new.js +parallel/test-timers-clear-null-does-not-throw-error.js +parallel/test-windows-abort-exitcode.js +parallel/test-zlib-write-after-end.js +parallel/test-http-client-immediate-error.js +parallel/test-fs-stream-double-close.js +parallel/test-runner-root-after-with-refed-handles.js +parallel/test-eslint-no-array-destructuring.js +parallel/test-worker-exit-heapsnapshot.js +parallel/test-stdin-script-child-option.js +parallel/test-inspector-console.js +parallel/test-buffer-swap.js +parallel/test-crypto-domain.js +parallel/test-worker-stdio.js +parallel/test-fs-ready-event-stream.js +parallel/test-http2-server-push-disabled.js +parallel/test-url-format.js +parallel/test-async-wrap-pop-id-during-load.js +parallel/test-stream-pipe-event.js +parallel/test-repl-setprompt.js +parallel/test-repl-multiline-navigation.js +parallel/test-buffer-tostring-range.js +parallel/test-child-process-spawnsync-args.js +parallel/test-require-cache.js +parallel/test-vm-context-async-script.js +parallel/test-fs-read-stream-fd.js +parallel/test-inspector-network-fetch.js +parallel/test-process-getactiverequests.js +parallel/test-fs-copyfile-respect-permissions.js +parallel/test-stream-readable-add-chunk-during-data.js +parallel/test-fs-watch-recursive-delete.js +parallel/test-stream-transform-split-objectmode.js +parallel/test-global-setters.js +parallel/test-net-server-options.js +parallel/test-fs-read-stream-resume.js +parallel/test-http2-server-push-stream-head.js +parallel/test-repl-function-definition-edge-case.js +parallel/test-runner-force-exit-flush.js +parallel/test-dns-lookup-promises.js +parallel/test-http2-compat-serverrequest-headers.js +parallel/test-diagnostics-channel-bind-store.js +parallel/test-fs-sync-fd-leak.js +parallel/test-npm-install.js +parallel/test-v8-query-objects.js +parallel/test-permission-fs-write-v8.js +parallel/test-net-pause-resume-connecting.js +parallel/test-http-outgoing-settimeout.js +parallel/test-error-reporting.js +parallel/test-http-server-reject-cr-no-lf.js +parallel/test-util-deprecate-invalid-code.js +parallel/test-http2-compat-serverresponse.js +parallel/test-net-connect-reset-before-connected.js +parallel/test-fs-symlink.js +parallel/test-webstream-encoding-inspect.js +parallel/test-worker-fs-stat-watcher.js +parallel/test-http-upgrade-advertise.js +parallel/test-http2-misused-pseudoheaders.js +parallel/test-zlib-invalid-arg-value-brotli-compress.js +parallel/test-event-emitter-subclass.js +parallel/test-http2-client-settings-before-connect.js +parallel/test-zlib-reset-before-write.js +parallel/test-worker-messaging-errors-timeout.js +parallel/test-repl-stdin-push-null.js +parallel/test-cluster-worker-disconnect-on-error.js +parallel/test-trace-events-console.js +parallel/test-stream-readable-resume-hwm.js +parallel/test-npm-version.js +parallel/test-trace-events-none.js +parallel/test-buffer-resizable.js +parallel/test-http2-no-more-streams.js +parallel/test-whatwg-encoding-custom-textdecoder.js +parallel/test-fs-promises-readfile.js +parallel/test-tls-async-cb-after-socket-end.js +parallel/test-process-no-deprecation.js +parallel/test-fs-chown-negative-one.js +parallel/test-timers-clearImmediate-als.js +parallel/test-http2-multiplex.js +parallel/test-buffer-isascii.js +parallel/test-http-server-headers-timeout-pipelining.js +parallel/test-http2-tls-disconnect.js +parallel/test-path-posix-exists.js +parallel/test-fs-symlink-dir-junction-relative.js +parallel/test-socket-options-invalid.js +parallel/test-vm-create-and-run-in-context.js +parallel/test-process-umask.js +parallel/test-http-server-multiheaders2.js +parallel/test-tls-ticket-12.js +parallel/test-uv-errno.js +parallel/test-fs-write-stream-file-handle.js +parallel/test-async-hooks-destroy-on-gc.js +parallel/test-http-keep-alive-drop-requests.js +parallel/test-weakref.js +parallel/test-http-content-length-mismatch.js +parallel/test-http2-create-client-connect.js +parallel/test-http2-debug.js +parallel/test-console-diagnostics-channels.js +parallel/test-http-after-connect.js +parallel/test-timers-non-integer-delay.js +parallel/test-zlib-close-in-ondata.js +parallel/test-fs-write-stream-end.js +parallel/test-readable-from.js +parallel/test-cluster-uncaught-exception.js +parallel/test-tls-connect-no-host.js +parallel/test-stream-writable-invalid-chunk.js +parallel/test-whatwg-webstreams-coverage.js +parallel/test-performance-function-async.js +parallel/test-worker-nested-uncaught.js +parallel/test-diagnostics-channel-http2-server-stream-created.js +parallel/test-tls-wrap-econnreset-localaddress.js +parallel/test-fs-close-errors.js +parallel/test-process-getactiveresources-track-interval-lifetime.js +parallel/test-http2-respond-file-push.js +parallel/test-console.js +parallel/test-process-execve-socket.js +parallel/test-http-client-abort.js +parallel/test-vm-global-property-prototype.js +parallel/test-tls-multiple-cas-as-string.js +parallel/test-tls-keylog-tlsv13.js +parallel/test-worker-message-port-transfer-native.js +parallel/test-fs-truncate.js +parallel/test-async-hooks-recursive-stack-runInAsyncScope.js +parallel/test-fs-mkdtemp.js +parallel/test-https-server-connections-checking-leak.js +parallel/test-child-process-spawnsync-env.js +parallel/test-http-keep-alive-max-requests.js +parallel/test-whatwg-url-custom-searchparams.js +parallel/test-events-getmaxlisteners.js +parallel/test-worker-voluntarily-exit-followed-by-addition.js +parallel/test-inspector-contexts.js +parallel/test-inspector-bindings.js +parallel/test-zlib-brotli-from-brotli.js +parallel/test-http-server-request-timeout-pipelining.js +parallel/test-fs-watch-stop-sync.js +parallel/test-quic-handshake.js +parallel/test-diagnostics-channel-memory-leak.js +parallel/test-promise-unhandled-default.js +parallel/test-runner-mock-timers-scheduler.js +parallel/test-crypto-keygen-eddsa.js +parallel/test-tls-canonical-ip.js +parallel/test-debugger-restart-message.js +parallel/test-process-execpath.js +parallel/test-crypto-keygen-promisify.js +parallel/test-eslint-require-common-first.js +parallel/test-child-process-spawn-typeerror.js +parallel/test-async-hooks-worker-asyncfn-terminate-1.js +parallel/test-http-server-client-error.js +parallel/test-http2-ping-settings-heapdump.js +parallel/test-http-full-response.js +parallel/test-http-client-unescaped-path.js +parallel/test-https-server-close-all.js +parallel/test-net-server-max-connections.js +parallel/test-vm-module-dynamic-import-promise.js +parallel/test-sync-fileread.js +parallel/test-fs-makeStatsCallback.js +parallel/test-child-process-stdio-reuse-readable-stdio.js +parallel/test-runner-exit-code.js +parallel/test-stdout-cannot-be-closed-child-process-pipe.js +parallel/test-worker-esm-exit.js +parallel/test-buffer-write-fast.js +parallel/test-process-chdir-errormessage.js +parallel/test-net-persistent-nodelay.js +parallel/test-tls-enable-trace.js +parallel/test-http-upgrade-server.js +parallel/test-stream-readable-pause-and-resume.js +parallel/test-dgram-send-multi-buffer-copy.js +parallel/test-fs-realpath.js +parallel/test-worker-beforeexit-throw-exit.js +parallel/test-tls-server-setkeycert.js +parallel/test-whatwg-encoding-custom-api-basics.js +parallel/test-whatwg-webstreams-adapters-to-streamwritable.js +parallel/test-v8-flags.js +parallel/test-tls-clientcertengine-invalid-arg-type.js +parallel/test-http-no-content-length.js +parallel/test-webcrypto-keygen.js +parallel/test-net-server-drop-connections-in-cluster.js +parallel/test-http2-cancel-while-client-reading.js +parallel/test-child-process-dgram-reuseport.js +parallel/test-trace-events-async-hooks.js +parallel/test-runner-subtest-after-hook.js +parallel/test-domain-no-error-handler-abort-on-uncaught-1.js +parallel/test-repl-dynamic-import.js +parallel/test-fs-unlink-type-check.js +parallel/test-inspector-ip-detection.js +parallel/test-stream-transform-split-highwatermark.js +parallel/test-zlib-destroy.js +parallel/test-errors-aborterror.js +parallel/test-diagnostics-channel-object-channel-pub-sub.js +parallel/test-http-server-unconsume-consume.js +parallel/test-timers-immediate-unref-simple.js +parallel/test-fs-promises-file-handle-chmod.js +parallel/test-no-node-snapshot.js +parallel/test-dgram-udp6-link-local-address.js +parallel/test-eslint-prefer-primordials.js +parallel/test-tls-connect-allow-half-open-option.js +parallel/test-http-client-error-rawbytes.js +parallel/test-tls-cert-ext-encoding.js +parallel/test-process-kill-null.js +parallel/test-worker-message-port-wasm-threads.js +parallel/test-crypto-padding-aes256.js +parallel/test-http2-respond-no-data.js +parallel/test-worker-execargv-invalid.js +parallel/test-fs-readfile-flags.js +parallel/test-buffer-fakes.js +parallel/test-http2-timeouts.js +parallel/test-tls-use-after-free-regression.js +parallel/test-net-socket-byteswritten.js +parallel/test-pipe-unref.js +parallel/test-worker-messaging-errors-invalid.js +parallel/test-worker-dns-terminate-during-query.js +parallel/test-stream-compose.js +parallel/test-stream-pipe-await-drain-push-while-write.js +parallel/test-timers-nan-duration-warning.js +parallel/test-http-url.parse-search.js +parallel/test-child-process-exec-std-encoding.js +parallel/test-fs-watch-close-when-destroyed.js +parallel/test-http2-capture-rejection.js +parallel/test-cli-options-negation.js +parallel/test-permission-fs-symlink-target-write.js +parallel/test-diagnostics-channel-net-client-socket-tls.js +parallel/test-debugger-list.js +parallel/test-internal-validators-validateport.js +parallel/test-dgram-listen-after-bind.js +parallel/test-http-expect-handling.js +parallel/test-vm-module-synthetic.js +parallel/test-http-max-sockets.js +parallel/test-http-response-remove-header-after-sent.js +parallel/test-dgram-msgsize.js +parallel/test-crypto-publicDecrypt-fails-first-time.js +parallel/test-resource-usage.js +parallel/test-buffer-constructor-outside-node-modules.js +parallel/test-file-write-stream2.js +parallel/test-async-wrap-trigger-id.js +parallel/test-vm-no-dynamic-import-callback.js +parallel/test-cluster-setup-primary-multiple.js +parallel/test-process-env-windows-error-reset.js +parallel/test-net-server-try-ports.js +parallel/test-http-malformed-request.js +parallel/test-h2leak-destroy-session-on-socket-ended.js +parallel/test-fs-read-stream-double-close.js +parallel/test-runner-filter-warning.js +parallel/test-http-head-response-has-no-body-end-implicit-headers.js +parallel/test-net-socket-end-callback.js +parallel/test-worker-message-port-transfer-filehandle.js +parallel/test-fs-rmdir-recursive-throws-not-found.js +parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js +parallel/test-tls-no-sslv3.js +parallel/test-http-unix-socket-keep-alive.js +parallel/test-fetch-mock.js +parallel/test-require-symlink.js +parallel/test-cluster-worker-wait-server-close.js +parallel/test-https-byteswritten.js +parallel/test-next-tick-ordering2.js +parallel/test-repl-tab-complete-nested-repls.js +parallel/test-fs-readv.js +parallel/test-permission-inspector-brk.js +parallel/test-process-binding-internalbinding-allowlist.js +parallel/test-eval-disallow-code-generation-from-strings.js +parallel/test-cluster-worker-forced-exit.js +parallel/test-compile-cache-api-tmpdir.js +parallel/test-async-hooks-run-in-async-scope-this-arg.js +parallel/test-worker-http2-stream-terminate.js +parallel/test-worker-dns-terminate.js +parallel/test-snapshot-dns-lookup-localhost.js +parallel/test-inspector-already-activated-cli.js +parallel/test-stream-pipeline-with-empty-string.js +parallel/test-compile-cache-typescript-strip-miss.js +parallel/test-inspector-async-stack-traces-promise-then.js +parallel/test-queue-microtask.js +parallel/test-stream-write-final.js +parallel/test-http-outgoing-destroy.js +parallel/test-net-connect-keepalive.js +parallel/test-cluster-fork-windowsHide.js +parallel/test-https-server-headers-timeout.js +parallel/test-http-client-pipe-end.js +parallel/test-tls-peer-certificate-multi-keys.js +parallel/test-primordials-promise.js +parallel/test-module-version.js +parallel/test-fs-promises-watch-iterator.js +parallel/test-pipe-address.js +parallel/test-heapdump-async-hooks-init-promise.js +parallel/test-stream-readable-setEncoding-null.js +parallel/test-vm-create-context-circular-reference.js +parallel/test-trace-exit.js +parallel/test-async-local-storage-http-agent.js +parallel/test-net-server-blocklist.js +parallel/test-console-stdio-setters.js +parallel/test-process-exit.js +parallel/test-global-webcrypto.js +parallel/test-process-really-exit.js +parallel/test-cluster-disconnect.js +parallel/test-timers.js +parallel/test-http-dont-set-default-headers-with-setHost.js +parallel/test-stream-inheritance.js +parallel/test-http-server-request-timeout-interrupted-body.js +parallel/test-http2-client-stream-destroy-before-connect.js +parallel/test-stream-readable-dispose.js +parallel/test-vm-source-map-url.js +parallel/test-eslint-alphabetize-primordials.js +parallel/test-inspector-host-warning.js +parallel/test-domain-add-remove.js +parallel/test-child-process-disconnect.js +parallel/test-diagnostics-channel-http2-client-stream-created.js +parallel/test-fs-readdir-buffer.js +parallel/test-inspector-scriptparsed-context.js +parallel/test-timers-negative-duration-warning-emit-once-per-process.js +parallel/test-http-server-de-chunked-trailer.js +parallel/test-http2-client-rststream-before-connect.js +parallel/test-cli-syntax-eval.js +parallel/test-require-extensions-main.js +parallel/test-querystring-maxKeys-non-finite.js +parallel/test-url-parse-invalid-input.js +parallel/test-pipe-return-val.js +parallel/test-blocklist.js +parallel/test-crypto-update-encoding.js +parallel/test-stream-writable-samecb-singletick.js +parallel/test-fs-fchown-negative-one.js +parallel/test-process-threadCpuUsage-main-thread.js +parallel/test-http2-methods.js +parallel/test-process-execve-on-exit.js +parallel/test-process-exec-argv.js +parallel/test-cli-node-options-docs.js +parallel/test-trace-events-fs-async.js +parallel/test-readable-large-hwm.js +fixtures/workload/fibonacci.js +fixtures/workload/bounded.js +fixtures/workload/fibonacci-worker.js +fixtures/workload/fibonacci-worker-argv.js +fixtures/workload/allocation.js +fixtures/workload/allocation-worker.js +fixtures/workload/allocation-worker-argv.js +fixtures/warning_node_modules/new-buffer-cjs.js +fixtures/warning_node_modules/node_modules/new-buffer-esm/index.js +fixtures/warning_node_modules/node_modules/new-buffer-cjs/index.js +fixtures/console/hello_world.js +fixtures/console/console_low_stack_space.js +fixtures/console/2100bytes.js +fixtures/console/console.js +fixtures/console/force_colors.js +fixtures/overwrite-config-preload-module.js +fixtures/path.js +fixtures/nested-index/three.js +fixtures/nested-index/two/index.js +fixtures/nested-index/two/hello.js +fixtures/nested-index/one/index.js +fixtures/nested-index/one/hello.js +fixtures/nested-index/three/index.js +fixtures/self_ref_module/index.js +fixtures/v8-coverage/spawn-subprocess-no-cov.js +fixtures/v8-coverage/async-hooks.js +fixtures/v8-coverage/basic.js +fixtures/v8-coverage/combined_coverage/first.test.js +fixtures/v8-coverage/combined_coverage/second.test.js +fixtures/v8-coverage/combined_coverage/common.js +fixtures/v8-coverage/stop-coverage.js +fixtures/v8-coverage/spawn-subprocess.js +fixtures/v8-coverage/subprocess.js +fixtures/v8-coverage/worker.js +fixtures/v8-coverage/take-coverage.js +fixtures/v8-coverage/interval.js +fixtures/disable-warning-worker.js +fixtures/debugger-util-regression-fixture.js +fixtures/global/plain.js +fixtures/print-10-lines.js +fixtures/test-repl-tab-completion/helloworld.js +fixtures/permission/inspector-brk.js +fixtures/permission/required-module.js +fixtures/permission/hello-world.js +fixtures/permission/loader/index.js +fixtures/permission/main-module.js +fixtures/permission/simple-loader.js +fixtures/test-init-index/index.js +fixtures/empty.js +fixtures/echo.js diff --git a/v8.pc.in b/v8.pc.in new file mode 100644 index 0000000000000000000000000000000000000000..adcb06bb6c66efc16b1d7ec5e2fa4e68f4238a4b --- /dev/null +++ b/v8.pc.in @@ -0,0 +1,9 @@ +prefix=@PREFIX@ +includedir=@INCLUDEDIR@ +libdir=@LIBDIR@ + +Name: @PKGCONFNAME@ +Description: JavaScript Runtime +Version: @V8_VERSION@ +Libs: -L${libdir} -lv8 +Cflags: -I${includedir}