diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Remove-unused-OpenSSL-config.patch similarity index 50% rename from 0001-Disable-running-gyp-on-shared-deps.patch rename to 0001-Remove-unused-OpenSSL-config.patch index 87acfb94150eba8f20a4551bf263d91c73ce688e..f282c71334485e11a357414ab6232f1fdebdfe88 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Remove-unused-OpenSSL-config.patch @@ -1,32 +1,22 @@ -From c73e0892eb1d0aa2df805618c019dc5c96b79705 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Tue, 30 May 2023 13:12:35 +0200 -Subject: [PATCH] Disable running gyp on shared deps +From 0aaaf4104a1f23f3de105ffdaffc282c4477bb0e 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 -Signed-off-by: rpm-build +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 --- - Makefile | 2 +- node.gyp | 17 ----------------- - 2 files changed, 1 insertion(+), 18 deletions(-) + 1 file changed, 17 deletions(-) -diff --git a/Makefile b/Makefile -index 0be0659..3c44201 100644 ---- a/Makefile -+++ b/Makefile -@@ -169,7 +169,7 @@ with-code-cache test-code-cache: - $(warning '$@' target is a noop) - - out/Makefile: config.gypi common.gypi node.gyp \ -- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ -+ deps/llhttp/llhttp.gyp \ - deps/simdutf/simdutf.gyp deps/ada/ada.gyp \ - tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ - tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp diff --git a/node.gyp b/node.gyp -index cf52281..c33b57b 100644 +index dc4d77330a811d3448d84318c065a3447b159906..e1824d462ec876a66146092aab4dba3d085f4658 100644 --- a/node.gyp +++ b/node.gyp -@@ -430,23 +430,6 @@ +@@ -808,23 +808,6 @@ ], }, ], @@ -51,5 +41,5 @@ index cf52281..c33b57b 100644 ], }, # node_core_target_name -- -2.41.0 +2.44.0 diff --git a/CVE-2024-28182.patch b/CVE-2024-28182.patch deleted file mode 100644 index 5eca31eddd226f61496881eae6eefadb6580ee37..0000000000000000000000000000000000000000 --- a/CVE-2024-28182.patch +++ /dev/null @@ -1,157 +0,0 @@ -Backport from upstream commits. -https://github.com/nghttp2/nghttp2/commit/00201ecd8f982da3b67d4f6868af72a1b03b14e0 -https://github.com/nghttp2/nghttp2/commit/d71a4668c6bead55805d18810d633fbb98315af9 - - -diff -ur node-v18.19.1_orig/deps/nghttp2/lib/includes/nghttp2/nghttp2.h node-v18.19.1/deps/nghttp2/lib/includes/nghttp2/nghttp2.h ---- node-v18.19.1_orig/deps/nghttp2/lib/includes/nghttp2/nghttp2.h 2024-04-15 14:38:00.000000000 +0200 -+++ node-v18.19.1/deps/nghttp2/lib/includes/nghttp2/nghttp2.h 2024-04-15 14:43:36.000000000 +0200 -@@ -440,7 +440,12 @@ - * exhaustion on server side to send these frames forever and does - * not read network. - */ -- NGHTTP2_ERR_FLOODED = -904 -+ NGHTTP2_ERR_FLOODED = -904, -+ /** -+ * When a local endpoint receives too many CONTINUATION frames -+ * following a HEADER frame. -+ */ -+ NGHTTP2_ERR_TOO_MANY_CONTINUATIONS = -905, - } nghttp2_error; - - /** -@@ -2775,6 +2780,17 @@ - - /** - * @function -+ * -+ * This function sets the maximum number of CONTINUATION frames -+ * following an incoming HEADER frame. If more than those frames are -+ * received, the remote endpoint is considered to be misbehaving and -+ * session will be closed. The default value is 8. -+ */ -+NGHTTP2_EXTERN void nghttp2_option_set_max_continuations(nghttp2_option *option, -+ size_t val); -+ -+/** -+ * @function - * - * Initializes |*session_ptr| for client use. The all members of - * |callbacks| are copied to |*session_ptr|. Therefore |*session_ptr| -Only in node-v18.19.1/deps/nghttp2/lib/includes/nghttp2: nghttp2.h.orig -diff -ur node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_helper.c node-v18.19.1/deps/nghttp2/lib/nghttp2_helper.c ---- node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_helper.c 2024-04-15 14:38:00.000000000 +0200 -+++ node-v18.19.1/deps/nghttp2/lib/nghttp2_helper.c 2024-04-15 14:41:10.000000000 +0200 -@@ -336,6 +336,8 @@ - "closed"; - case NGHTTP2_ERR_TOO_MANY_SETTINGS: - return "SETTINGS frame contained more than the maximum allowed entries"; -+ case NGHTTP2_ERR_TOO_MANY_CONTINUATIONS: -+ return "Too many CONTINUATION frames following a HEADER frame"; - default: - return "Unknown error code"; - } -diff -ur node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_option.c node-v18.19.1/deps/nghttp2/lib/nghttp2_option.c ---- node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_option.c 2024-04-15 14:38:00.000000000 +0200 -+++ node-v18.19.1/deps/nghttp2/lib/nghttp2_option.c 2024-04-15 14:43:36.000000000 +0200 -@@ -150,3 +150,8 @@ - option->stream_reset_burst = burst; - option->stream_reset_rate = rate; - } -+ -+void nghttp2_option_set_max_continuations(nghttp2_option *option, size_t val) { -+ option->opt_set_mask |= NGHTTP2_OPT_MAX_CONTINUATIONS; -+ option->max_continuations = val; -+} -diff -ur node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_option.h node-v18.19.1/deps/nghttp2/lib/nghttp2_option.h ---- node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_option.h 2024-04-15 14:38:00.000000000 +0200 -+++ node-v18.19.1/deps/nghttp2/lib/nghttp2_option.h 2024-04-15 14:43:36.000000000 +0200 -@@ -71,6 +71,7 @@ - NGHTTP2_OPT_SERVER_FALLBACK_RFC7540_PRIORITIES = 1 << 13, - NGHTTP2_OPT_NO_RFC9113_LEADING_AND_TRAILING_WS_VALIDATION = 1 << 14, - NGHTTP2_OPT_STREAM_RESET_RATE_LIMIT = 1 << 15, -+ NGHTTP2_OPT_MAX_CONTINUATIONS = 1 << 16, - } nghttp2_option_flag; - - /** -@@ -99,6 +100,10 @@ - */ - size_t max_settings; - /** -+ * NGHTTP2_OPT_MAX_CONTINUATIONS -+ */ -+ size_t max_continuations; -+ /** - * Bitwise OR of nghttp2_option_flag to determine that which fields - * are specified. - */ -diff -ur node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_session.c node-v18.19.1/deps/nghttp2/lib/nghttp2_session.c ---- node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_session.c 2024-04-15 14:38:00.000000000 +0200 -+++ node-v18.19.1/deps/nghttp2/lib/nghttp2_session.c 2024-04-15 14:43:36.000000000 +0200 -@@ -496,6 +496,7 @@ - (*session_ptr)->max_send_header_block_length = NGHTTP2_MAX_HEADERSLEN; - (*session_ptr)->max_outbound_ack = NGHTTP2_DEFAULT_MAX_OBQ_FLOOD_ITEM; - (*session_ptr)->max_settings = NGHTTP2_DEFAULT_MAX_SETTINGS; -+ (*session_ptr)->max_continuations = NGHTTP2_DEFAULT_MAX_CONTINUATIONS; - - if (option) { - if ((option->opt_set_mask & NGHTTP2_OPT_NO_AUTO_WINDOW_UPDATE) && -@@ -584,6 +585,10 @@ - option->stream_reset_burst, - option->stream_reset_rate); - } -+ -+ if (option->opt_set_mask & NGHTTP2_OPT_MAX_CONTINUATIONS) { -+ (*session_ptr)->max_continuations = option->max_continuations; -+ } - } - - rv = nghttp2_hd_deflate_init2(&(*session_ptr)->hd_deflater, -@@ -6778,6 +6783,8 @@ - } - } - session_inbound_frame_reset(session); -+ -+ session->num_continuations = 0; - } - break; - } -@@ -6899,6 +6906,10 @@ - } - #endif /* DEBUGBUILD */ - -+ if (++session->num_continuations > session->max_continuations) { -+ return NGHTTP2_ERR_TOO_MANY_CONTINUATIONS; -+ } -+ - readlen = inbound_frame_buf_read(iframe, in, last); - in += readlen; - -Only in node-v18.19.1/deps/nghttp2/lib: nghttp2_session.c.orig -diff -ur node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_session.h node-v18.19.1/deps/nghttp2/lib/nghttp2_session.h ---- node-v18.19.1_orig/deps/nghttp2/lib/nghttp2_session.h 2024-04-15 14:38:00.000000000 +0200 -+++ node-v18.19.1/deps/nghttp2/lib/nghttp2_session.h 2024-04-15 14:41:10.000000000 +0200 -@@ -110,6 +110,10 @@ - #define NGHTTP2_DEFAULT_STREAM_RESET_BURST 1000 - #define NGHTTP2_DEFAULT_STREAM_RESET_RATE 33 - -+/* The default max number of CONTINUATION frames following an incoming -+ HEADER frame. */ -+#define NGHTTP2_DEFAULT_MAX_CONTINUATIONS 8 -+ - /* Internal state when receiving incoming frame */ - typedef enum { - /* Receiving frame header */ -@@ -290,6 +294,12 @@ - size_t max_send_header_block_length; - /* The maximum number of settings accepted per SETTINGS frame. */ - size_t max_settings; -+ /* The maximum number of CONTINUATION frames following an incoming -+ HEADER frame. */ -+ size_t max_continuations; -+ /* The number of CONTINUATION frames following an incoming HEADER -+ frame. This variable is reset when END_HEADERS flag is seen. */ -+ size_t num_continuations; - /* Next Stream ID. Made unsigned int to detect >= (1 << 31). */ - uint32_t next_stream_id; - /* The last stream ID this session initiated. For client session, diff --git a/cjs-module-lexer-1.2.2.tar.gz b/cjs-module-lexer-1.2.2.tar.gz deleted file mode 100644 index c8624dd4a51ab95e3761bf6ba5c6904be8006cac..0000000000000000000000000000000000000000 Binary files a/cjs-module-lexer-1.2.2.tar.gz and /dev/null differ diff --git a/download b/download index 8005a3f5be2f6ad58002139d019aa1676ca798d1..6b4e8227c9cbe855efaec0b89030844cb5079b4b 100644 --- a/download +++ b/download @@ -1 +1 @@ -d7fd367b99c40aae0c4cb9dfdaa21993 node-v18.20.2-stripped.tar.gz +a16eb73ca186debdcbc2693852cdc838 node-v22.16.0-stripped.tar.gz \ No newline at end of file diff --git a/icu4c-74_2-src.tgz b/icu4c-77_1-data-bin-b.zip similarity index 41% rename from icu4c-74_2-src.tgz rename to icu4c-77_1-data-bin-b.zip index b4ffb5f4e793608f9d0a8b6d74158491f00c094f..3b0402f4bf1481b427367e6683f9539a3e20527c 100644 Binary files a/icu4c-74_2-src.tgz and b/icu4c-77_1-data-bin-b.zip differ diff --git a/icu4c-77_1-data-bin-l.zip b/icu4c-77_1-data-bin-l.zip new file mode 100644 index 0000000000000000000000000000000000000000..df980325ecd30abefcb8bac5ec54a17f40861f4c Binary files /dev/null and b/icu4c-77_1-data-bin-l.zip differ diff --git a/nodejs-fips-disable-options.patch b/nodejs-fips-disable-options.patch deleted file mode 100644 index 07f8d9296fa34cc7a9773106884900a73074dc35..0000000000000000000000000000000000000000 --- a/nodejs-fips-disable-options.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 98738d27288bd9ca634e29181ef665e812e7bbd3 Mon Sep 17 00:00:00 2001 -From: Michael Dawson -Date: Fri, 23 Feb 2024 13:43:56 +0100 -Subject: [PATCH] Disable FIPS options - -On RHEL, FIPS should be configured only on system level. -Additionally, the related options may cause segfault when used on RHEL. - -This patch causes the option processing to end sooner -than the problematic code gets executed. -Additionally, the JS-level options to mess with FIPS settings -are similarly disabled. - -Upstream report: https://github.com/nodejs/node/pull/48950 -RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=2226726 -Customer case: https://access.redhat.com/support/cases/#/case/03711488 ---- - 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 41adecc..b2627ac 100644 ---- a/lib/crypto.js -+++ b/lib/crypto.js -@@ -36,6 +36,9 @@ const { - assertCrypto(); - - const { -+ // RHEL specific error -+ ERR_CRYPTO_FIPS_SYSTEM_CONTROLLED, -+ - ERR_CRYPTO_FIPS_FORCED, - } = require('internal/errors').codes; - const constants = internalBinding('constants').crypto; -@@ -251,6 +254,13 @@ function getFips() { - } - - function setFips(val) { -+ // in RHEL FIPS enable/disable should only be done 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 a722360..04d8a53 100644 ---- a/lib/internal/errors.js -+++ b/lib/internal/errors.js -@@ -1060,6 +1060,12 @@ module.exports = { - // - // Note: Node.js specific errors must begin with the prefix ERR_ - -+// insert RHEL specific erro -+E('ERR_CRYPTO_FIPS_SYSTEM_CONTROLLED', -+ 'Cannot set FIPS mode. FIPS should be enabled/disabled at system level. See' + -+ 'https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/security_hardening/assembly_installing-the-system-in-fips-mode_security-hardening for more details.\n', -+ Error); -+ - E('ERR_ACCESS_DENIED', - 'Access to this API has been restricted. Permission: %s', - Error); -diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc -index 5734d8f..ef9d1b1 100644 ---- a/src/crypto/crypto_util.cc -+++ b/src/crypto/crypto_util.cc -@@ -121,6 +121,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: Using options related to FIPS is not recommended, configure FIPS in openssl instead. See https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/security_hardening/assembly_installing-the-system-in-fips-mode_security-hardening for more details.\n"); -+ return false; - #if OPENSSL_VERSION_MAJOR >= 3 - OSSL_PROVIDER* fips_provider = OSSL_PROVIDER_load(nullptr, "fips"); - if (fips_provider == nullptr) --- -2.43.2 - diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh old mode 100755 new mode 100644 index f59d5c2823177ee29f2bef4c8ff9a331de201acf..461e6d2dc805ea52c2efdfb1cac9551400ce5bbb --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -108,7 +108,7 @@ echo $_arg_version if [ x$_arg_version != x ]; then version=$_arg_version else - version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1) + version=$(rpm -q --specfile --qf='%{version}\n' nodejs*.spec | head -n1) fi rm -f node-v${version}.tar.gz node-v${version}-stripped.tar.gz @@ -119,14 +119,12 @@ tar -zxf node-v${version}.tar.gz rm -rf node-v${version}/deps/openssl tar -zcf node-v${version}-stripped.tar.gz node-v${version} -# Download the matching version of ICU -rm -f icu4c*-src.tgz icu.md5 -ICUMD5=$(cat node-v${version}/tools/icu/current_ver.dep |jq -r '.[0].md5') -wget $(cat node-v${version}/tools/icu/current_ver.dep |jq -r '.[0].url') -ICUTARBALL=$(ls -1 icu4c*-src.tgz) -echo "$ICUMD5 $ICUTARBALL" > icu.md5 -md5sum -c icu.md5 -rm -f icu.md5 SHASUMS256.txt +# Download the ICU binary data files +ICU_MAJOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\1/g') +ICU_MINOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\2/g') +rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip +wget $(grep -w 'Source3' nodejs*.spec | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g") +wget $(grep -w 'Source4' nodejs*.spec | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g") #fedpkg new-sources node-v${version}-stripped.tar.gz icu4c*-src.tgz @@ -135,67 +133,114 @@ rm -f node-v${version}.tar.gz set +e # Determine the bundled versions of the various packages +echo "Included software versions" +echo "-------------------------" +echo +echo "Node.js version" +echo "=========================" +echo "${version}" +echo echo "Bundled software versions" echo "-------------------------" echo -echo "libnode shared object version" +echo "libnode shared object version (nodejs_soversion)" echo "=========================" -grep "define NODE_MODULE_VERSION" node-v${version}/src/node_version.h +NODE_SOVERSION=$(grep -oP '(?<=#define NODE_MODULE_VERSION )\d+' node-v${version}/src/node_version.h) +echo "${NODE_SOVERSION}" echo echo "V8" echo "=========================" -grep "define V8_MAJOR_VERSION" node-v${version}/deps/v8/include/v8-version.h -grep "define V8_MINOR_VERSION" node-v${version}/deps/v8/include/v8-version.h -grep "define V8_BUILD_NUMBER" node-v${version}/deps/v8/include/v8-version.h -grep "define V8_PATCH_LEVEL" node-v${version}/deps/v8/include/v8-version.h +V8_MAJOR=$(grep -oP '(?<=#define V8_MAJOR_VERSION )\d+' node-v${version}/deps/v8/include/v8-version.h) +V8_MINOR=$(grep -oP '(?<=#define V8_MINOR_VERSION )\d+' node-v${version}/deps/v8/include/v8-version.h) +V8_BUILD=$(grep -oP '(?<=#define V8_BUILD_NUMBER )\d+' node-v${version}/deps/v8/include/v8-version.h) +V8_PATCH=$(grep -oP '(?<=#define V8_PATCH_LEVEL )\d+' node-v${version}/deps/v8/include/v8-version.h) +echo "${V8_MAJOR}.${V8_MINOR}.${V8_BUILD}.${V8_PATCH}" echo echo "c-ares" echo "=========================" -grep "define ARES_VERSION_MAJOR" node-v${version}/deps/cares/include/ares_version.h -grep "define ARES_VERSION_MINOR" node-v${version}/deps/cares/include/ares_version.h -grep "define ARES_VERSION_PATCH" node-v${version}/deps/cares/include/ares_version.h +C_ARES_VERSION=$(grep -oP '(?<=#define ARES_VERSION_STR ).*\"' node-v${version}/deps/cares/include/ares_version.h |sed -e 's/^"//' -e 's/"$//') +echo $C_ARES_VERSION echo echo "llhttp" echo "=========================" -grep "define LLHTTP_VERSION_MAJOR" node-v${version}/deps/llhttp/include/llhttp.h -grep "define LLHTTP_VERSION_MINOR" node-v${version}/deps/llhttp/include/llhttp.h -grep "define LLHTTP_VERSION_PATCH" node-v${version}/deps/llhttp/include/llhttp.h +LLHTTP_MAJOR=$(grep -oP '(?<=#define LLHTTP_VERSION_MAJOR )\d+' node-v${version}/deps/llhttp/include/llhttp.h) +LLHTTP_MINOR=$(grep -oP '(?<=#define LLHTTP_VERSION_MINOR )\d+' node-v${version}/deps/llhttp/include/llhttp.h) +LLHTTP_PATCH=$(grep -oP '(?<=#define LLHTTP_VERSION_PATCH )\d+' node-v${version}/deps/llhttp/include/llhttp.h) +LLHTTP_VERSION="${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}" +echo $LLHTTP_VERSION echo echo "libuv" echo "=========================" -grep "define UV_VERSION_MAJOR" node-v${version}/deps/uv/include/uv/version.h -grep "define UV_VERSION_MINOR" node-v${version}/deps/uv/include/uv/version.h -grep "define UV_VERSION_PATCH" node-v${version}/deps/uv/include/uv/version.h +UV_MAJOR=$(grep -oP '(?<=#define UV_VERSION_MAJOR )\d+' node-v${version}/deps/uv/include/uv/version.h) +UV_MINOR=$(grep -oP '(?<=#define UV_VERSION_MINOR )\d+' node-v${version}/deps/uv/include/uv/version.h) +UV_PATCH=$(grep -oP '(?<=#define UV_VERSION_PATCH )\d+' node-v${version}/deps/uv/include/uv/version.h) +LIBUV_VERSION="${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}" +echo $LIBUV_VERSION echo echo "nghttp2" echo "=========================" -grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +NGHTTP2_VERSION=$(grep -oP '(?<=#define NGHTTP2_VERSION ).*\"' node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h |sed -e 's/^"//' -e 's/"$//') +echo $NGHTTP2_VERSION echo echo "nghttp3" echo "=========================" -grep "define NGHTTP3_VERSION " node-v${version}/deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h +NGHTTP3_VERSION=$(grep -oP '(?<=#define NGHTTP3_VERSION ).*\"' node-v${version}/deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h |sed -e 's/^"//' -e 's/"$//') +echo $NGHTTP3_VERSION echo echo "ngtcp2" echo "=========================" -grep "define NGTCP2_VERSION " node-v${version}/deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h +NGTCP2_VERSION=$(grep -oP '(?<=#define NGTCP2_VERSION ).*\"' node-v${version}/deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h |sed -e 's/^"//' -e 's/"$//') +echo $NGTCP2_VERSION echo echo "ICU" echo "=========================" -grep "url" node-v${version}/tools/icu/current_ver.dep +ICU_MAJOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\1/g') +ICU_MINOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\2/g') +echo "${ICU_MAJOR}.${ICU_MINOR}" +echo +echo "simdutf" +echo "=========================" +SIMDUTF_VERSION=$(grep -oP '(?<=#define SIMDUTF_VERSION ).*\"' node-v${version}/deps/simdutf/simdutf.h |sed -e 's/^"//' -e 's/"$//') +echo $SIMDUTF_VERSION +echo +echo "ada" +echo "=========================" +ADA_VERSION=$(grep -osP '(?<=#define ADA_VERSION ).*\"' node-v${version}/deps/ada/ada.h |sed -e 's/^"//' -e 's/"$//') +ADA_VERSION=${ADA_VERSION:-0} +echo "${ADA_VERSION}" echo echo "punycode" echo "=========================" -grep "'version'" node-v${version}/lib/punycode.js +PUNYCODE_VERSION=$(grep -oP "'version': '\K[^']+" ./node-v${version}/lib/punycode.js) +echo $PUNYCODE_VERSION +echo +echo "npm" +echo "=========================" +NPM_VERSION=$(jq -r .version ./node-v${version}/deps/npm/package.json) +echo $NPM_VERSION +echo +echo "corepack" +echo "=========================" +COREPACK_VERSION=$(jq -r .version ./node-v${version}/deps/corepack/package.json) +echo $COREPACK_VERSION echo echo "uvwasi" echo "=========================" -grep "define UVWASI_VERSION_MAJOR" node-v${version}/deps/uvwasi/include/uvwasi.h -grep "define UVWASI_VERSION_MINOR" node-v${version}/deps/uvwasi/include/uvwasi.h -grep "define UVWASI_VERSION_PATCH" node-v${version}/deps/uvwasi/include/uvwasi.h +UVWASI_MAJOR=$(grep -oP '(?<=#define UVWASI_VERSION_MAJOR )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h) +UVWASI_MINOR=$(grep -oP '(?<=#define UVWASI_VERSION_MINOR )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h) +UVWASI_PATCH=$(grep -oP '(?<=#define UVWASI_VERSION_PATCH )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h) +UVWASI_VERSION="${UVWASI_MAJOR}.${UVWASI_MINOR}.${UVWASI_PATCH}" +echo $UVWASI_VERSION echo -echo "npm" +echo "histogram_c" +echo "=========================" +HISTOGRAM_VERSION=$(grep -oP '(?<=#define HDR_HISTOGRAM_VERSION ).*\"' node-v${version}/deps/histogram/include/hdr/hdr_histogram_version.h|sed -e 's/^"//' -e 's/"$//') +echo $HISTOGRAM_VERSION +echo +echo "sqlite" echo "=========================" -grep "\"version\":" node-v${version}/deps/npm/package.json +SQLITE_VERSION="$(grep -osP '(?<=#define SQLITE_VERSION ).*\"' node-v${version}/deps/sqlite/sqlite3.h |sed -e 's/^\s*"//' -e 's/"\s*$//')" +echo "${SQLITE_VERSION}" echo echo "Make sure these versions match what is in the RPM spec file" diff --git a/nodejs.pc.in b/nodejs.pc.in new file mode 100644 index 0000000000000000000000000000000000000000..a699363223ba6614c6d8d8ee646794492c55cc00 --- /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} -lnodejs +Cflags: -I${includedir}/node diff --git a/nodejs.spec b/nodejs.spec index d687bfa1d75ce268a3ea45c8794ed9e94c81668f..4dea979590de5ede27067b7ceba2da04a068867b 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -6,23 +6,31 @@ %global with_debug 0 %endif -# The following macros control the usage of dependencies bundled from upstream. -# -# When to use what: -# - Regular (presumably non-modular) build: use neither (the default in Fedora) -# - Early bootstrapping build that is not intended to be shipped: -# use --with=bootstrap; this will bundle deps and add `~bootstrap` release suffix -# - Build with some dependencies not avalaible in necessary versions (i.e. module build): -# use --with=bundled; will bundle deps, but do not add the suffix -# -# create bootstrapping build with bundled deps and extra release suffix -%bcond_with bootstrap -# bundle dependencies that are not available in CentOS -%if %{with bootstrap} -%bcond_without bundled +# Determine if this should be the default version for this Fedora release +# The default version will own /usr/bin/node and friends +%global nodejs_pkg_major 22 + +%global nodejs_default_sitelib %{_prefix}/lib/node_modules +%global nodejs_private_sitelib %{nodejs_default_sitelib}_%{nodejs_pkg_major} + +# Break circular dependencies +%bcond bootstrap 0 + +# 2024-05-21: Temporarily re-enable bundling to work around issues in Rawhide +%if %{with bootstrap} || 0%{?nodejs_pkg_major} == 22 +%bcond bundled_cjs_module_lexer 1 +%bcond bundled_undici 1 %else -%bcond_with bundled +%bcond bundled_cjs_module_lexer 0 +%bcond bundled_undici 0 %endif + +%bcond_with bundled_zlib + +# With bundled sqlite, because Anolis 23 only provides 3.42.0, which couldn't be used by +# nodejs 22 +%bcond bundled_sqlite 1 + # LTO is currently broken on Node.js builds %define _lto_cflags %{nil} %bcond_without python3_fixup @@ -41,60 +49,68 @@ # feature releases that are only supported for nine months, which is shorter # than a Fedora release lifecycle. %global nodejs_epoch 1 -%global nodejs_major 18 -%global nodejs_minor 20 -%global nodejs_patch 2 +%global nodejs_major 22 +%global nodejs_minor 16 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h -%global nodejs_soversion 108 +%global nodejs_soversion 127 +%global nodejs_abi %{nodejs_soversion} %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease} +%global nodejs_envr %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release} %global nodejs_datadir %{_datarootdir}/nodejs # == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h # Epoch is set to ensure clean upgrades from the old v8 package -%global v8_epoch 2 -%global v8_major 10 -%global v8_minor 2 -%global v8_build 154 -%global v8_patch 26 +%global v8_epoch 3 +%global v8_major 12 +%global v8_minor 4 +%global v8_build 254 +%global v8_patch 21 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} +# zlib - from deps/zlib/zlib.h +%global zlib_version 1.3.0.1-motley + # c-ares - from deps/cares/include/ares_version.h -%global c_ares_version 1.27.0 +%global c_ares_version 1.34.5 + +# llhttp - from deps/llhttp/include/llhttp.h +%global llhttp_version 9.2.1 # llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_version 6.1.1 +%global llhttp_version 9.2.1 # libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 44 +%global libuv_minor 49 %global libuv_patch 2 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch} # nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h -%global nghttp2_version 1.57.0 +%global nghttp2_version 1.64.0 -# nghttp3 - from deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h -%global nghttp3_major 0 -%global nghttp3_minor 7 +# nghttp3 - from deps/ngtcp2/ngtcp3/lib/includes/ngtcp3/version.h +%global nghttp3_major 1 +%global nghttp3_minor 6 %global nghttp3_patch 0 %global nghttp3_version %{nghttp3_major}.%{nghttp3_minor}.%{nghttp3_patch} # ngtcp2 from deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h -%global ngtcp2_major 0 -%global ngtcp2_minor 8 -%global ngtcp2_patch 1 +%global ngtcp2_major 1 +%global ngtcp2_minor 11 +%global ngtcp2_patch 0 %global ngtcp2_version %{ngtcp2_major}.%{ngtcp2_minor}.%{ngtcp2_patch} # ICU - from tools/icu/current_ver.dep -%global icu_major 74 -%global icu_minor 2 +%global icu_major 77 +%global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor} %global icudatadir %{nodejs_datadir}/icudata @@ -112,16 +128,16 @@ %endif # simduft from deps/simdutf/simdutf.h -%global simduft_major 4 -%global simduft_minor 0 -%global simduft_patch 8 +%global simduft_major 6 +%global simduft_minor 4 +%global simduft_patch 2 %global simduft_version %{simduft_major}.%{simduft_minor}.%{simduft_patch} # ada from deps/ada/ada.h -%global ada_version 2.7.6 +%global ada_version 2.9.2 # OpenSSL minimum version -%global openssl_minimum 1:1.1.1 +%global openssl_minimum 1:3.0.2 # punycode - from lib/punycode.js # Note: this was merged into the mainline since 0.6.x @@ -133,23 +149,27 @@ # npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 10.5.0 +%global npm_version 10.9.2 # In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed # to increment safely. Changing this can only be done during an update when the # base npm version number is increasing. %global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} +%global npm_envr %{npm_epoch}:%{npm_version}-%{npm_release} # Node.js 16.9.1 and later comes with an experimental package management tool %global corepack_version 0.22.0 # uvwasi - from deps/uvwasi/include/uvwasi.h -%global uvwasi_version 0.0.19 +%global uvwasi_version 0.0.21 # histogram_c - assumed from timestamps %global histogram_version 0.11.8 +# sqlite – from deps/sqlite/sqlite3.h +%global sqlite_version 3.49.1 + Name: nodejs Epoch: %{nodejs_epoch} Version: %{nodejs_version} @@ -159,7 +179,8 @@ License: MIT and ASL 2.0 and ISC and BSD Group: Development/Languages URL: http://nodejs.org/ -ExclusiveArch: %{nodejs_arches} +# for now, these two arches build failed +ExcludeArch: loongarch64 riscv64 # nodejs bundles openssl, but we use the system version in Fedora # because openssl contains prohibited code, we remove openssl completely from @@ -167,39 +188,21 @@ ExclusiveArch: %{nodejs_arches} Source0: node-v%{nodejs_version}-stripped.tar.gz Source1: npmrc Source2: btest402.js -Source3: https://github.com/unicode-org/icu/releases/download/release-%{icu_major}-%{icu_minor}/icu4c-%{icu_major}_%{icu_minor}-src.tgz -Source100: %{name}-tarball.sh - -# The native module Requires generator remains in the nodejs SRPM, so it knows -# the nodejs and v8 versions. The remainder has migrated to the -# nodejs-packaging SRPM. -Source7: nodejs_native.attr - -# Configure npm to look into /etc for configuration -Source8: npmrc.builtin.in - -# These are full sources for dependencies included as WASM blobs in the source of Node itself. -# Note: These sources would also include pre-compiled WASM blobs… so they are adjusted not to. -# Recipes for creating these blobs are included in the sources. - -# Version: jq '.version' deps/cjs-module-lexer/package.json -# Original: https://github.com/nodejs/cjs-module-lexer/archive/refs/tags/1.2.2.tar.gz -# Adjustments: rm -f cjs-module-lexer-1.2.2/lib/lexer.wasm -Source101: cjs-module-lexer-1.2.2.tar.gz -# The WASM blob was made using wasi-sdk v11; compiler libraries are linked in. -# Version source: Makefile -Source102: https://github.com/WebAssembly/wasi-sdk/archive/wasi-sdk-11/wasi-sdk-11.0-linux.tar.gz - -# Version: jq '.version' deps/undici/src/package.json -# Original: https://github.com/nodejs/undici/archive/refs/tags/v5.28.3.tar.gz -# Adjustments: rm -f undici-5.28.3/lib/llhttp/llhttp*.wasm -# Build uses alpine image, see alpine for sources for wasi-sdk -Source111: undici-5.28.4.tar.gz - -# Disable running gyp on bundled deps we don't use -Patch1: 0001-Disable-running-gyp-on-shared-deps.patch -Patch2: nodejs-fips-disable-options.patch -Patch3: CVE-2024-28182.patch +Source3: https://github.com/unicode-org/icu/releases/download/release-%{icu_major}-%{icu_minor}/icu4c-%{icu_major}_%{icu_minor}-data-bin-b.zip +Source4: https://github.com/unicode-org/icu/releases/download/release-%{icu_major}-%{icu_minor}/icu4c-%{icu_major}_%{icu_minor}-data-bin-l.zip +Source5: sqlite-autoconf-3490100.tar.gz +Source200: nodejs-tarball.sh +Source201: npmrc.builtin.in +Source202: nodejs.pc.in +Source203: v8.pc.in +Source204: nodejs_abi.req +Source205: nodejs_abi.attr +Source300: test-runner.sh +Source301: test-should-pass.txt + +Patch: 0001-Remove-unused-OpenSSL-config.patch + +%global pkgname nodejs BuildRequires: make BuildRequires: python3-devel @@ -209,19 +212,46 @@ BuildRequires: libicu-devel %if !%{with python3_fixup} BuildRequires: python-unversioned-command %endif +%if %{with bundled_zlib} +Provides: bundled(zlib) = %{zlib_version} +%else BuildRequires: zlib-devel +%endif BuildRequires: brotli-devel -BuildRequires: gcc >= 8.3.0 -BuildRequires: gcc-c++ >= 8.3.0 +BuildRequires: gcc > 11.3.0 +BuildRequires: gcc-c++ > 11.3.0 + +BuildRequires: pkgconf BuildRequires: jq # needed to generate bundled provides for npm dependencies # https://src.fedoraproject.org/rpms/nodejs/pull-request/2 # https://pagure.io/nodejs-packaging/pull-request/10 BuildRequires: nodejs-packaging + BuildRequires: chrpath BuildRequires: libatomic +BuildRequires: ninja-build +BuildRequires: unzip BuildRequires: systemtap-sdt-devel +%if %{with bundled_sqlite} +Provides: bundled(sqlite) = %{sqlite_version} +%else +BuildRequires: pkgconfig(sqlite3) >= 3.45.0 +%endif + +Provides: nodejs = %{nodejs_envr} +# To keep the upgrade path clean, we Obsolete nodejsXX from the nodejs +# package and nodejsXX-foo from individual subpackages. +# Note that using Obsoletes without package version is not standard practice. +# Here we assert that *any* version of the system's default interpreter is +# preferable to an "extra" interpreter. For example, nodejs-20.5.0 will +# replace nodejs20-20.6.0. +%define unversioned_obsoletes_of_nodejsXX_if_default() %{expand:\ +Obsoletes: nodejs%{nodejs_pkg_major}%{?1:-%{1}} < %{nodejs_envr}\ +Provides: nodejs%{nodejs_pkg_major}%{?1:-%{1}} = %{nodejs_envr}\ +} + %if %{with bundled} Provides: bundled(libuv) = %{libuv_version} %else @@ -229,12 +259,11 @@ BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} %endif -%if %{with bundled} -Provides: bundled(nghttp2) = %{nghttp2_version} -%else -BuildRequires: libnghttp2-devel >= %{nghttp2_version} -Requires: libnghttp2 >= %{nghttp2_version} -%endif +# Node.js frequently bumps this faster than Fedora can follow, +# so we will bundle it. +Provides: bundled(nghttp2) = %{nghttp2_version} +Provides: bundled(nghttp3) = %{nghttp3_version} +Provides: bundled(ngtcp2) = %{ngtcp2_version} # Temporarily bundle llhttp because the upstream doesn't # provide releases for it. @@ -244,12 +273,22 @@ Provides: bundled(ngtcp2) = %{ngtcp2_version} BuildRequires: openssl-devel >= %{openssl_minimum} Requires: openssl >= %{openssl_minimum} +%global openssl_fips_configure --openssl-is-fips +%global ssl_configure --shared-openssl --openssl-conf-name=openssl_conf %{openssl_fips_configure} + +# dtrace is not supported on Node.js 19+ +%global dtrace_configure %{nil} # we need the system certificate store Requires: ca-certificates +Requires: %{pkgname}-libs = %{nodejs_envr} +Recommends: %{pkgname}-docs = %{nodejs_envr} +Recommends: %{pkgname}-full-i18n%{?_isa} = %{nodejs_envr} +Recommends: %{pkgname}-npm >= %{npm_envr} + # Pull in the full-icu data by default -Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} +Recommends: nodejs-full-i18n = %{nodejs_epoch}:%{version}-%{release} # we need ABI virtual provides where SONAMEs aren't enough/not present so deps # break when binary compatibility is broken @@ -301,87 +340,146 @@ Provides: bundled(uvwasi) = %{uvwasi_version} Provides: bundled(histogram) = %{histogram_version} Provides: bundled(corepack) = %{corepack_version} Provides: bundled(simduft) = %{simduft_version} + +# Upstream has added a new URL parser that has no option to build as a shared +# library (19.7.0+) Provides: bundled(ada) = %{ada_version} -# Make sure we keep NPM up to date when we update Node.js -%if 0%{?rhel} < 8 -# EPEL doesn't support Recommends, so make it strict -Requires: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +# undici and cjs-module-lexer ship with pre-built WASM binaries. +%if %{with bundled_cjs_module_lexer} +Provides: bundled(nodejs-cjs-module-lexer) = 1.4.1 +%else +BuildRequires: nodejs-cjs-module-lexer +Requires: nodejs-cjs-module-lexer +%endif + +%if %{with bundled_undici} +Provides: bundled(nodejs-undici) = 6.21.1 %else -Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} +BuildRequires: nodejs-undici +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 +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 +%package -n %{pkgname}-devel Summary: JavaScript runtime - development headers Group: Development/Languages -Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Requires: openssl-devel%{?_isa} -Requires: zlib-devel%{?_isa} -Requires: brotli-devel%{?_isa} +Requires: %{pkgname} = %{nodejs_envr} +Requires: %{pkgname}-libs = %{nodejs_envr} +Requires: openssl-devel +%if !%{with bundled_zlib} +Requires: zlib-devel +%endif +Requires: brotli-devel Requires: nodejs-packaging %if %{without bundled} -Requires: libuv-devel%{?_isa} +Requires: libuv-devel %endif -%description devel +Provides: nodejs-devel = %{nodejs_envr} +Obsoletes: nodejs-devel < %{nodejs_envr} +Provides: nodejs-devel-pkg = %{nodejs_envr} +Obsoletes: nodejs-devel-pkg < %{nodejs_envr} +Conflicts: nodejs-devel-pkg + + +%description -n %{pkgname}-devel Development headers for the Node.js JavaScript runtime. -%package full-i18n +%package -n %{pkgname}-libs +Summary: Node.js and v8 libraries + +# Compatibility for obsolete v8 package +Provides: libv8.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +Provides: libv8_libbase.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} +Provides: libv8_libplatform.so.%{v8_major}()(64bit) = %{v8_epoch}:%{v8_version} + +Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release} +Obsoletes: v8 < %{v8_epoch}:%{v8_version}-%{nodejs_release} + +Provides: nodejs-libs = %{nodejs_envr} +Obsoletes: nodejs-libs < %{nodejs_envr} + +%description -n %{pkgname}-libs +Libraries to support Node.js and provide stable v8 interfaces. + + +%package -n %{pkgname}-full-i18n Summary: Non-English locale data for Node.js -Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Requires: %{pkgname} = %{nodejs_envr} -%description full-i18n + +%description -n %{pkgname}-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 -n npm +%package -n v8-%{v8_major}.%{v8_minor}-devel +Summary: v8 - development headers +Epoch: %{v8_epoch} +Version: %{v8_version} +Release: %{v8_release} +Requires: %{pkgname}-devel = %{nodejs_envr} +Requires: %{pkgname}-libs = %{nodejs_envr} +Provides: v8-devel = %{v8_epoch}:%{v8_version}-%{v8_release} +Obsoletes: v8-devel = %{v8_epoch}:%{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 -n %{pkgname}-npm Summary: Node.js Package Manager Epoch: %{npm_epoch} Version: %{npm_version} -Release: %{npm_release}%{?dist} - -# We used to ship npm separately, but it is so tightly integrated with Node.js -# (and expected to be present on all Node.js systems) that we ship it bundled -# now. -Obsoletes: npm < 0:3.5.4-6 -Provides: npm = %{npm_epoch}:%{npm_version} -Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -%if 0%{?fedora} || 0%{?rhel} >= 8 -Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -%endif +Release: %{npm_release} + +# If we're using the companion NPM build, make sure to keep it in lock-step +# with the Node version. +Requires: %{pkgname} = %{nodejs_envr} +Recommends: %{pkgname}-docs = %{nodejs_envr} # Do not add epoch to the virtual NPM provides or it will break # the automatic dependency-generation script. Provides: npm(npm) = %{npm_version} -%description -n npm +# Satisfy dependency requests for "npm" +Provides: npm = %{npm_envr} +# Obsolete the old 'npm' package +Obsoletes: npm < %{npm_envr} + +# Obsolete others. We can't use %%unversioned_obsoletes_of_nodejsXX_if_default +# here because the Provides: needs its own version +Obsoletes: nodejs%{nodejs_pkg_major}-npm < %{npm_envr} +Provides: nodejs%{nodejs_pkg_major}-npm = %{npm_envr} + +%description -n %{pkgname}-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. -%package docs +%package -n %{pkgname}-docs Summary: Node.js API documentation Group: Documentation BuildArch: noarch +Requires(meta): %{pkgname} = %{nodejs_envr} -# We don't require that the main package be installed to -# use the docs, but if it is installed, make sure the -# version always matches -Conflicts: %{name} > %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Conflicts: %{name} < %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} +Provides: nodejs-docs = %{nodejs_envr} -%description docs +%description -n %{pkgname}-docs The API documentation for the Node.js JavaScript runtime. @@ -389,136 +487,170 @@ The API documentation for the Node.js JavaScript runtime. %autosetup -p1 -n node-v%{nodejs_version} # remove bundled dependencies that we aren't building +%if !%{with bundled_zlib} rm -rf deps/zlib +%endif + rm -rf deps/brotli rm -rf deps/v8/third_party/jinja2 rm -rf tools/inspector_protocol/jinja2 -# Replace any instances of unversioned python' with python3 -# check for correct versions of dependencies we are bundling -check_wasm_dep() { - local -r name="$1" source="$2" packagejson="$3" - local -r expected_version="$(jq -r '.version' "${packagejson}")" - - if ls "${source}"|grep -q --fixed-strings "${expected_version}"; then - printf '%s version matches\n' "${name}" >&2 - else - printf '%s version MISMATCH: %s !~ %s\n' "${name}" "${expected_version}" "${source}" >&2 - return 1 - fi -} +%if %{without bundled_cjs_module_lexer} +rm -rf deps/cjs-module-lexer +%endif -check_wasm_dep cjs-module-lexer '%{SOURCE101}' deps/cjs-module-lexer/package.json -check_wasm_dep undici '%{SOURCE111}' deps/undici/src/package.json +%if %{without bundled_undici} +rm -rf deps/undici +%endif -%if %{with python3_fixup} -pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") -find . -type f -exec sed -i "s~/usr\/bin\/env python~/usr/bin/python3~" {} \; -find . -type f -exec sed -i "s~/usr\/bin\/python\W~/usr/bin/python3~" {} \; -sed -i "s~usr\/bin\/python2~usr\/bin\/python3~" ./deps/v8/tools/gen-inlining-tests.py -sed -i "s~usr\/bin\/python.*$~usr\/bin\/python3~" ./deps/v8/tools/mb/mb_test.py -find . -type f -exec sed -i "s~python -c~python3 -c~" {} \; +%if %{without bundled_sqlite} +rm -rf deps/sqlite +%else +# extract SQLite to deps/sqlite directory +tar -xzf %{SOURCE5} +mv sqlite-autoconf-3490100 deps/sqlite %endif +# Replace any instances of unversioned python with python3 +pfiles=( $(grep -rl python) ) +%py3_shebang_fix ${pfiles[@]} + + %build -%ifarch s390 s390x %{arm} %ix86 +# Activate DevToolset 11 on EPEL 7 +%if 0%{?rhel} && 0%{?rhel} < 8 +. /opt/rh/devtoolset-11/enable +%endif + +# When compiled on armv7hl this package generates an out of range +# reference to the literal pool. This is most likely a GCC issue. +%ifarch armv7hl +%define _lto_cflags %{nil} +%endif + # Decrease debuginfo verbosity to reduce memory consumption during final # library linking %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif -export CC='gcc' -export CXX='g++' -%{?with_python3_fixup:export NODE_GYP_FORCE_PYTHON=%{__python3}} +export CC='%{__cc}' +export CXX='%{__cxx}' +export NODE_GYP_FORCE_PYTHON=%{python3} # build with debugging symbols and add defines from libuv (#892601) -# Node's v8 breaks with GCC 6 because of incorrect usage of methods on -# NULL objects. We need to pass -fno-delete-null-pointer-checks +# 2022-07-14: There's a bug in either torque or gcc that causes a +# segmentation fault on ppc64le and s390x if compiled with -O2. Things +# run fine on -O1 and -O3, so we'll just go with -O3 (like upstream) +# while this gets sorted out. extra_cflags=( -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 + -DOPENSSL_NO_ENGINE # https://issues.redhat.com/browse/RHEL-33743 -DZLIB_CONST - -fno-delete-null-pointer-checks + -O3 + -fno-ipa-icf ) export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cflags[*]}" export LDFLAGS="%{build_ldflags}" -%{__python3} configure.py --prefix=%{_prefix} --verbose \ - --shared-openssl --openssl-conf-name=openssl_conf \ - --shared-zlib \ +# Fake up the unversioned python executable because gyp calls it from the PATH +mkdir .bin +cwd=$(pwd) +ln -srf /usr/bin/python3 ./.bin/python +export PATH="${cwd}/.bin:$PATH" + +%{python3} configure.py \ + --verbose \ + --ninja \ + --enable-lto \ + --prefix=%{_prefix} \ + --shared \ + --libdir=%{_lib} \ + %{ssl_configure} \ + %{dtrace_configure} \ + %{!?with_bundled_zlib:--shared-zlib} \ + %{!?with_bundled_cjs_module_lexer:--shared-builtin-cjs_module_lexer/lexer-path %{nodejs_private_sitelib}/cjs-module-lexer/lexer.js} \ + %{!?with_bundled_cjs_module_lexer:--shared-builtin-cjs_module_lexer/dist/lexer-path %{nodejs_private_sitelib}/cjs-module-lexer/dist/lexer.js} \ + %{!?with_bundled_undici:--shared-builtin-undici/undici-path %{nodejs_private_sitelib}/undici/loader.js} \ + %{!?with_bundled_sqlite:--shared-sqlite} \ --shared-brotli \ - %{!?with_bundled:--shared-libuv} \ - %{!?with_bundled:--shared-nghttp2} \ - --with-dtrace \ + --shared-libuv \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ - --openssl-use-def-ca-store \ - --openssl-default-cipher-list=PROFILE=SYSTEM + --without-corepack \ + --openssl-use-def-ca-store -%if %{?with_debug} == 1 -# Setting BUILDTYPE=Debug builds both release and debug binaries -make BUILDTYPE=Debug %{?_smp_mflags} -%else -make BUILDTYPE=Release %{?_smp_mflags} -%endif +%ninja_build -C out/Release -# Extract the ICU data and convert it to the appropriate endianness -pushd deps/ -tar xzf %{SOURCE3} -pushd icu/source +%install -mkdir -p converted -%if 0%{?little_endian} -# The little endian data file is included in the ICU sources -install -Dpm0644 data/in/icudt%{icu_major}l.dat converted/ +# The ninja build does not put the shared library in the expected location, so +# we will move it. +mv out/Release/lib/libnode.so.%{nodejs_soversion} out/Release/ +%if 0%{?nodejs_major} >= 20 +./tools/install.py install --dest-dir %{buildroot} --prefix %{_prefix} %else -# For the time being, we need to build ICU and use the included `icupkg` tool -# to convert the little endian data file into a big-endian one. -# At some point in the future, ICU releases will start including both data -# files and we should switch to those. -mkdir -p data/out/tmp - -%configure -%make_build - -icu_root=$(pwd) -LD_LIBRARY_PATH=./lib ./bin/icupkg -tb data/in/icudt%{icu_major}l.dat \ - converted/icudt%{icu_major}b.dat +./tools/install.py install %{buildroot} %{_prefix} %endif -popd # icu/source -popd # deps +# own the sitelib directory +mv %{buildroot}%{nodejs_default_sitelib} \ + %{buildroot}%{nodejs_private_sitelib} -%install -rm -rf %{buildroot} +ln -srf %{buildroot}%{nodejs_private_sitelib} \ + %{buildroot}%{nodejs_default_sitelib} -./tools/install.py install %{buildroot} %{_prefix} # Set the binary permissions properly chmod 0755 %{buildroot}/%{_bindir}/node chrpath --delete %{buildroot}%{_bindir}/node -%if %{?with_debug} == 1 -# Install the debug binary and set its permissions -install -Dpm0755 out/Debug/node %{buildroot}/%{_bindir}/node_g -%endif - -# own the sitelib directory -mkdir -p %{buildroot}%{_prefix}/lib/node_modules - -# ensure Requires are added to every native module that match the Provides from -# the nodejs build in the buildroot -install -Dpm0644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/fileattrs/nodejs_native.attr -cat << EOF > %{buildroot}%{_rpmconfigdir}/nodejs_native.req -#!/bin/sh -echo 'nodejs(abi%{nodejs_major}) >= %nodejs_abi' -echo 'nodejs(v8-abi%{v8_major}) >= %v8_abi' -EOF -chmod 0755 %{buildroot}%{_rpmconfigdir}/nodejs_native.req +# Rename the node binary +mv %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/node-%{nodejs_pkg_major} + +# Adjust the npm binaries +# 1. Replace all hasbangs with versioned ones +grep --extended-regexp --files-with-matches --recursive \ + '^#!/usr/bin/(env )?node($|[[:space:]])+' '%{buildroot}%{nodejs_private_sitelib}/npm/bin' \ +| xargs sed --in-place --regexp-extended \ + 's;^#!/usr/bin/(env )?node($|[[:space:]])+;#!/usr/bin/node-%{nodejs_pkg_major};' + +# 2. Replace original links with the adjusted ones +for bin in npm npx; do + ln -srf "%{buildroot}%{nodejs_private_sitelib}/npm/bin/${bin}-cli.js" \ + "%{buildroot}%{_bindir}/${bin}-%{nodejs_pkg_major}" + rm -f "%{buildroot}%{_bindir}/${bin}" +done + +# 3. Add the symlinks back for the default version +ln -srf %{buildroot}%{_bindir}/node-%{nodejs_pkg_major} \ + %{buildroot}%{_bindir}/node + +ln -srf %{buildroot}%{_bindir}/npm-%{nodejs_pkg_major} \ + %{buildroot}%{_bindir}/npm + +ln -srf %{buildroot}%{_bindir}/npx-%{nodejs_pkg_major} \ + %{buildroot}%{_bindir}/npx + +# Install library symlink +ln -srf %{buildroot}%{_libdir}/libnode.so.%{nodejs_soversion} \ + %{buildroot}%{_libdir}/libnode.so + +# Install v8 compatibility symlinks +for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do + header=$(basename ${header}) + ln -sf ./node/${header} %{buildroot}%{_includedir}/${header} +done +ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc + +for soname in libv8 libv8_libbase libv8_libplatform; do + ln -srf %{buildroot}%{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major}.%{v8_minor} + ln -srf %{buildroot}%{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so + ln -srf %{buildroot}%{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} +done # install documentation mkdir -p %{buildroot}%{_pkgdocdir}/html @@ -526,25 +658,50 @@ cp -pr doc/* %{buildroot}%{_pkgdocdir}/html rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1 # node-gyp needs common.gypi too -mkdir -p %{buildroot}%{_datadir}/node -cp -p common.gypi %{buildroot}%{_datadir}/node +mkdir -p %{buildroot}%{nodejs_datadir} +cp -p common.gypi %{buildroot}%{nodejs_datadir} + +# The config.gypi file is platform-dependent, so rename it to not conflict +mv %{buildroot}%{_includedir}/node/config.gypi \ + %{buildroot}%{_includedir}/node/config-%{_arch}.gypi # Install the GDB init tool into the documentation directory mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit -# install NPM docs to mandir -mkdir -p %{buildroot}%{_mandir} \ +mkdir -p %{buildroot}%{_mandir}/nodejs-%{nodejs_pkg_major}/man1 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_pkg_major}/man5 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_pkg_major}/man7 \ + %{buildroot}%{nodejs_default_sitelib}/npm/man \ + %{buildroot}%{nodejs_private_sitelib}/npm/man \ %{buildroot}%{_pkgdocdir}/npm -cp -pr deps/npm/man/* %{buildroot}%{_mandir}/ -rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man -ln -sf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man +# install manpage docs to mandir +cp -pr deps/npm/man/* \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_pkg_major}/ +rm -rf %{buildroot}%{nodejs_private_sitelib}/npm/man +ln -srf %{buildroot}%{_mandir}/nodejs-%{nodejs_pkg_major} \ + %{buildroot}%{nodejs_private_sitelib}/npm/man + +for i in 1 5 7; do + mkdir -p %{buildroot}%{_mandir}/man${i} + for manpage in %{buildroot}%{nodejs_private_sitelib}/npm/man/man$i/*; do + basename=$(basename ${manpage}) + ln -srf %{buildroot}%{nodejs_private_sitelib}/npm/man/man${i}/${basename} \ + %{buildroot}%{_mandir}/man${i}/${basename} + done +done + +# Install the node interpreter manpage +mv %{buildroot}%{_mandir}/man1/node.1 \ + %{buildroot}%{_mandir}/nodejs-%{nodejs_pkg_major}/man1/ + +ln -srf %{buildroot}%{_mandir}/nodejs-%{nodejs_pkg_major}/man1/node.1 \ + %{buildroot}%{_mandir}/man1/ # Install Gatsby HTML documentation to %%{_pkgdocdir} cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/ -rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs - -ln -sf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs +rm -rf %{buildroot}%{nodejs_private_sitelib}/npm/docs +ln -srf %{buildroot}%{_pkgdocdir}/npm %{buildroot}%{nodejs_private_sitelib}/npm/docs # Node tries to install some python files into a documentation directory # (and not the proper one). Remove them for now until we figure out what to @@ -555,89 +712,85 @@ rm -f %{buildroot}/%{_defaultdocdir}/node/lldb_commands.py \ # Some NPM bundled deps are executable but should not be. This causes # unnecessary automatic dependencies to be added. Make them not executable. # Skip the npm bin directory or the npm binary will not work. -find %{buildroot}%{_prefix}/lib/node_modules/npm \ - -not -path "%{buildroot}%{_prefix}/lib/node_modules/npm/bin/*" \ +find %{buildroot}%{nodejs_private_sitelib}/npm \ + -not -path "%{buildroot}%{nodejs_private_sitelib}/npm/bin/*" \ -executable -type f \ -exec chmod -x {} \; -# NPM bundle dep contain powershell files -# These files are not useful for linux -# systems and create /usr/bin/pwsh requirement, so the files are deleted -find %{buildroot}%{_prefix}/lib/node_modules/npm/bin/*.ps1 -executable -type f -exec rm {} \; - # The above command is a little overzealous. Add a few permissions back. -chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp -chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js +chmod 0755 %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp +chmod 0755 %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/node-gyp/bin/node-gyp.js -# Corepack contains a number of executable"shims", including some for Windows -# PowerShell. Drop the executable bit for those so we don't pick up an -# automatic dependency on /usr/bin/pwsh that we cannot satisfy. -find %{buildroot}%{_prefix}/lib/node_modules/corepack/shims/*.ps1 -executable -type f -exec rm {} \; -find %{buildroot}%{_prefix}/lib/node_modules/corepack/shims/nodewin/*.ps1 -executable -type f -exec rm {} \; +# Set the hashbang to use the matching Node.js interpreter +sed --in-place --regexp-extended \ + 's;^#!/usr/bin/env node($|\ |\t)+;#!/usr/bin/node-%{nodejs_pkg_major};g' \ + %{buildroot}%{nodejs_private_sitelib}/npm/node_modules/node-gyp/bin/node-gyp.js # Drop the NPM builtin configuration in place sed -e 's#@SYSCONFDIR@#%{_sysconfdir}#g' \ - %{SOURCE8} > %{buildroot}%{_prefix}/lib/node_modules/npm/npmrc + %{SOURCE201} > %{buildroot}%{nodejs_private_sitelib}/npm/npmrc # Drop the NPM default configuration in place mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc # Install the full-icu data files -install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/* +mkdir -p %{buildroot}%{icudatadir} +%if 0%{?little_endian} +unzip -d %{buildroot}%{icudatadir} %{SOURCE4} icudt%{icu_major}l.dat +%else +unzip -d %{buildroot}%{icudatadir} %{SOURCE3} icudt%{icu_major}b.dat +%endif + +# Add pkg-config files +mkdir -p %{buildroot}%{_libdir}/pkgconfig +sed -e 's#@PREFIX@#%{_prefix}#g' \ + -e 's#@INCLUDEDIR@#%{_includedir}#g' \ + -e 's#@LIBDIR@#%{_libdir}#g' \ + -e 's#@PKGCONFNAME@#nodejs-%{nodejs_pkg_major}#g' \ + -e 's#@NODEJS_VERSION@#%{nodejs_version}#g' \ + %{SOURCE202} > %{buildroot}%{_libdir}/pkgconfig/nodejs-%{nodejs_pkg_major}.pc + +sed -e 's#@PREFIX@#%{_prefix}#g' \ + -e 's#@INCLUDEDIR@#%{_includedir}#g' \ + -e 's#@LIBDIR@#%{_libdir}#g' \ + -e 's#@PKGCONFVERSION@#v8-%{v8_major}.%{v8_minor}#g' \ + -e 's#@V8_VERSION@#%{v8_version}#g' \ + %{SOURCE203} > %{buildroot}%{_libdir}/pkgconfig/v8-%{v8_major}.%{v8_minor}.pc + +# Install automatic ABI requirements generator for dependent packages +install -Dpm0755 %{SOURCE204} %{buildroot}%{_rpmconfigdir}/nodejs%{nodejs_pkg_major}_abi.req +install -Dpm0644 %{SOURCE204} %{buildroot}%{_rpmconfigdir}/fileattrs/nodejs%{nodejs_pkg_major}_abi.attr %check +#run unit test that should pass from list +LD_LIBRARY_PATH=%{buildroot}%{_libdir} \ + bash %{SOURCE300} \ + %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} \ + %{_builddir}/node-v%{nodejs_version}/test/ \ + %{SOURCE301} + # Fail the build if the versions don't match -%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" -%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8.replace(/-node\.\d+$/, ''), '%{v8_version}')" -%{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} -e "require('assert').equal(process.versions.v8.replace(/-node\.\d+$/, ''), '%{v8_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" # Ensure we have punycode and that the version matches -%{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"punycode\").version, '%{punycode_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} -e "require(\"assert\").equal(require(\"punycode\").version, '%{punycode_version}')" # Ensure we have npm and that the version matches -# NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"npm\").version, '%{npm_version}')" -NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(JSON.parse(require(\"fs\").readFileSync(\"%{buildroot}%{_prefix}/lib/node_modules/npm/package.json\")).version, '%{npm_version}')" +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node-%{nodejs_pkg_major} %{buildroot}%{_bindir}/npm-%{nodejs_pkg_major} version --json |jq -e '.npm == "%{npm_version}"' # Make sure i18n support is working -NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} - - -%pretrans -n npm -p --- Remove all of the symlinks from the bundled npm node_modules directory --- This scriptlet can be removed in Fedora 31 -base_path = "%{_prefix}/lib/node_modules/npm/node_modules/" -d_st = posix.stat(base_path) -if d_st then - for f in posix.files(base_path) do - path = base_path..f - st = posix.stat(path) - if st and st.type == "link" then - os.remove(path) - end - end -end +NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{nodejs_private_sitelib}/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} --- Replace the npm docs directory with a symlink --- Drop this scriptlet when F31 is EOL -path = "%{_prefix}/lib/node_modules/npm/doc" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end +# Ensure update-notifier is disabled +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node-%{nodejs_pkg_major} %{buildroot}%{_bindir}/npm-%{nodejs_pkg_major} --globalconfig=%{buildroot}%{_sysconfdir}/npmrc config list --json | jq -e '.["update-notifier"] == false' --- Replace the npm docs directory with a symlink --- Drop this scriptlet when F31 is EOL -path = "%{_prefix}/lib/node_modules/npm/html" +# This can be removed once F37 is EOL +%pretrans -n %{pkgname} -p +path = "/usr/lib/node_modules" st = posix.stat(path) if st and st.type == "directory" then status = os.rename(path, path .. ".rpmmoved") @@ -651,89 +804,74 @@ if st and st.type == "directory" then end end --- Replace the npm man directory with a symlink --- Drop this scriptlet when F31 is EOL -path = "%{_prefix}/lib/node_modules/npm/man" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end +%files -n %{pkgname} +%doc CHANGELOG.md onboarding.md GOVERNANCE.md README.md -%files %{_bindir}/node -%dir %{_prefix}/lib/node_modules -%dir %{_datadir}/node -%dir %{_datadir}/systemtap -%dir %{_datadir}/systemtap/tapset -%{_datadir}/systemtap/tapset/node.stp - -# corepack -%{_bindir}/corepack -%{_prefix}/lib/node_modules/corepack +%doc %{_mandir}/man1/node.1* +%{nodejs_default_sitelib} -%dir %{_usr}/lib/dtrace -%{_usr}/lib/dtrace/node.d +%{_bindir}/node-%{nodejs_pkg_major} +%dir %{nodejs_private_sitelib} -%{_rpmconfigdir}/fileattrs/nodejs_native.attr -%{_rpmconfigdir}/nodejs_native.req -%license LICENSE -%doc CHANGELOG.md onboarding.md GOVERNANCE.md README.md -%doc %{_mandir}/man1/node.1* +%doc %{_mandir}/nodejs-%{nodejs_pkg_major}/man1/node.1* -%files devel -%if %{?with_debug} == 1 -%{_bindir}/node_g -%endif +%files -n %{pkgname}-devel %{_includedir}/node -%{_datadir}/node/common.gypi +%{_libdir}/libnode.so +%{nodejs_datadir}/common.gypi %{_pkgdocdir}/gdbinit +%{_libdir}/pkgconfig/nodejs-%{nodejs_pkg_major}.pc +%{_rpmconfigdir}/fileattrs/nodejs%{nodejs_pkg_major}*.attr +%{_rpmconfigdir}/nodejs%{nodejs_pkg_major}* -%files full-i18n +%files -n %{pkgname}-full-i18n %dir %{icudatadir} %{icudatadir}/icudt%{icu_major}*.dat -%files -n npm +%files -n %{pkgname}-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} +%dir %{nodejs_datadir}/ +%{_libdir}/libv8.so.%{v8_major} +%{_libdir}/libv8_libbase.so.%{v8_major} +%{_libdir}/libv8_libplatform.so.%{v8_major} + +%files -n v8-%{v8_major}.%{v8_minor}-devel +%{_includedir}/libplatform +%{_includedir}/v8*.h +%{_includedir}/cppgc +%{_libdir}/libv8.so +%{_libdir}/libv8_libbase.so +%{_libdir}/libv8_libplatform.so +%{_libdir}/pkgconfig/v8-%{v8_major}.%{v8_minor}.pc + + +%files -n %{pkgname}-npm %{_bindir}/npm %{_bindir}/npx -%{_prefix}/lib/node_modules/npm %config(noreplace) %{_sysconfdir}/npmrc %ghost %{_sysconfdir}/npmignore -%doc %{_mandir}/man1/npm*.1* -%doc %{_mandir}/man1/npx.1* -%doc %{_mandir}/man5/folders.5* -%doc %{_mandir}/man5/install.5* -%doc %{_mandir}/man5/npmrc.5* -%doc %{_mandir}/man5/package-json.5* -%doc %{_mandir}/man5/package-lock-json.5* -%doc %{_mandir}/man5/npm-shrinkwrap-json.5* -%doc %{_mandir}/man5/npm-global.5.* -%doc %{_mandir}/man5/npm-json.5.* -%doc %{_mandir}/man7/config.7* -%doc %{_mandir}/man7/dependency-selectors.7* -%doc %{_mandir}/man7/developers.7* -%doc %{_mandir}/man7/logging.7* -%doc %{_mandir}/man7/orgs.7* -%doc %{_mandir}/man7/package-spec.7* -%doc %{_mandir}/man7/registry.7* -%doc %{_mandir}/man7/removal.7* -%doc %{_mandir}/man7/scope.7* -%doc %{_mandir}/man7/scripts.7* -%doc %{_mandir}/man7/workspaces.7* - - -%files docs + +%doc %{_mandir}/man*/ +%exclude %doc %{_mandir}/man1/node.1* + +%{_bindir}/npm-%{nodejs_pkg_major} +%{_bindir}/npx-%{nodejs_pkg_major} +%{nodejs_private_sitelib}/npm + +%doc %{_mandir}/nodejs-%{nodejs_pkg_major}/ +%exclude %doc %{_mandir}/nodejs-%{nodejs_pkg_major}/man1/node.1* + + +%files -n %{pkgname}-docs %doc doc %dir %{_pkgdocdir} %{_pkgdocdir}/html @@ -741,6 +879,9 @@ end %changelog +* Fri Jul 25 2025 tomcruiseqi - 1:22.16.0-1 +- Update to 22.16.0 to fix CVE-2025-23084 + * Sat May 11 2024 yangxianzhao - 1:18.20.2-1 - update to 18.20.2-1 @@ -755,4 +896,3 @@ end * Wed Jun 15 2022 mgb01105731 - 1:16.15.1-1 - Init from upstream version 16.15.1 - diff --git a/nodejs_native.attr b/nodejs_abi.attr similarity index 48% rename from nodejs_native.attr rename to nodejs_abi.attr index 0527af6a9c5c51d9ed004dde83a1ed81b24e687b..d161239058f5c5af9336e3c5954eaa09a9a65793 100644 --- a/nodejs_native.attr +++ b/nodejs_abi.attr @@ -1,2 +1,2 @@ -%__nodejs_native_requires %{_rpmconfigdir}/nodejs_native.req +%__nodejs_native_requires %{_rpmconfigdir}/nodejs_abi.req %__nodejs_native_path ^/usr/lib.*/node_modules/.*\\.node$ diff --git a/nodejs_abi.req b/nodejs_abi.req new file mode 100644 index 0000000000000000000000000000000000000000..d3309b04e9467e218baf4771f4af65100cf58e9d --- /dev/null +++ b/nodejs_abi.req @@ -0,0 +1,4 @@ +#!/bin/sh + +# Require ABI version of the current interpreter +printf 'nodejs(abi) = %s\n' "$(/usr/bin/node-22 -p 'process.versions.modules')" diff --git a/npmrc b/npmrc index 50be1d148dc1cb9dd7f10043d60456842d508730..51e696d2539641f5a2382e535a6642a6d395ff3f 100644 --- a/npmrc +++ b/npmrc @@ -1,2 +1,3 @@ prefix=/usr/local python=/usr/bin/python3 +update-notifier=false diff --git a/sqlite-autoconf-3490100.tar.gz b/sqlite-autoconf-3490100.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..af30c5eb3ccccaf2a82e091af8e45040a3b3a439 Binary files /dev/null and b/sqlite-autoconf-3490100.tar.gz differ diff --git a/test-runner.sh b/test-runner.sh new file mode 100644 index 0000000000000000000000000000000000000000..8ece02e864016b8b241e8a85493037b8c5a94daf --- /dev/null +++ b/test-runner.sh @@ -0,0 +1,59 @@ +#!/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 + continue 2 + fi + done + + # Construct test path + TEST_SCRIPT="$PARENT_TEST_FOLDER/$TEST_PATH" + + if [ ! -f "$TEST_SCRIPT" ]; then + 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..52d17281b102184a6cc23f3e52ff3714464f577e --- /dev/null +++ b/test-should-pass.txt @@ -0,0 +1,3836 @@ +# 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 +# +abort/test-abort-fatal-error.js +abort/test-abort-uncaught-exception.js +abort/test-addon-register-signal-handler.js +abort/test-addon-uv-handle-leak.js +abort/test-http-parser-consume.js +abort/test-process-abort-exitcode.js +abort/test-signal-handler.js +abort/test-worker-abort-uncaught-exception.js +abort/test-zlib-invalid-internals-usage.js +async-hooks/hook-checks.js +async-hooks/init-hooks.js +async-hooks/test-async-await.js +async-hooks/test-async-exec-resource-http-32060.js +async-hooks/test-async-exec-resource-http-agent.js +async-hooks/test-async-exec-resource-http.js +async-hooks/test-async-exec-resource-match.js +async-hooks/test-async-local-storage-args.js +async-hooks/test-async-local-storage-async-await.js +async-hooks/test-async-local-storage-async-functions.js +async-hooks/test-async-local-storage-dgram.js +async-hooks/test-async-local-storage-enable-disable.js +async-hooks/test-async-local-storage-enter-with.js +async-hooks/test-async-local-storage-errors.js +async-hooks/test-async-local-storage-gcable.js +async-hooks/test-async-local-storage-http-agent.js +async-hooks/test-async-local-storage-http.js +async-hooks/test-async-local-storage-misc-stores.js +async-hooks/test-async-local-storage-nested.js +async-hooks/test-async-local-storage-no-mix-contexts.js +async-hooks/test-async-local-storage-promises.js +async-hooks/test-async-local-storage-socket.js +async-hooks/test-async-local-storage-thenable.js +async-hooks/test-async-local-storage-tlssocket.js +async-hooks/test-async-wrap-providers.js +async-hooks/test-callback-error.js +async-hooks/test-crypto-pbkdf2.js +async-hooks/test-crypto-randomBytes.js +async-hooks/test-destroy-not-blocked.js +async-hooks/test-disable-in-init.js +async-hooks/test-embedder.api.async-resource.js +async-hooks/test-embedder.api.async-resource-no-type.js +async-hooks/test-embedder.api.async-resource.runInAsyncScope.js +async-hooks/test-emit-after-on-destroyed.js +async-hooks/test-emit-before-after.js +async-hooks/test-emit-before-on-destroyed.js +async-hooks/test-emit-init.js +async-hooks/test-enable-disable.js +async-hooks/test-enable-in-init.js +async-hooks/test-filehandle-no-reuse.js +async-hooks/test-fseventwrap.js +async-hooks/test-fsreqcallback-access.js +async-hooks/test-fsreqcallback-readFile.js +async-hooks/test-getaddrinforeqwrap.js +async-hooks/test-getnameinforeqwrap.js +async-hooks/test-graph.fsreq-readFile.js +async-hooks/test-graph.http.js +async-hooks/test-graph.intervals.js +async-hooks/test-graph.pipeconnect.js +async-hooks/test-graph.pipe.js +async-hooks/test-graph.shutdown.js +async-hooks/test-graph.statwatcher.js +async-hooks/test-graph.tcp.js +async-hooks/test-graph.timeouts.js +async-hooks/test-graph.tls-write-12.js +async-hooks/test-graph.tls-write.js +async-hooks/test-http-agent-handle-reuse-parallel.js +async-hooks/test-http-agent-handle-reuse-serial.js +async-hooks/test-httpparser.request.js +async-hooks/test-httpparser.response.js +async-hooks/test-httpparser-reuse.js +async-hooks/test-immediate.js +async-hooks/test-improper-order.js +async-hooks/test-improper-unwind.js +async-hooks/test-late-hook-enable.js +async-hooks/test-net-get-connections.js +async-hooks/test-nexttick-default-trigger.js +async-hooks/test-no-assert-when-disabled.js +async-hooks/test-pipeconnectwrap.js +async-hooks/test-pipewrap.js +async-hooks/test-promise.chain-promise-before-init-hooks.js +async-hooks/test-promise.js +async-hooks/test-promise.promise-before-init-hooks.js +async-hooks/test-querywrap.js +async-hooks/test-queue-microtask.js +async-hooks/test-shutdownwrap.js +async-hooks/test-signalwrap.js +async-hooks/test-statwatcher.js +async-hooks/test-tcpwrap.js +async-hooks/test-timers.setInterval.js +async-hooks/test-timers.setTimeout.js +async-hooks/test-tlswrap.js +async-hooks/test-ttywrap.readstream.js +async-hooks/test-udpsendwrap.js +async-hooks/test-udpwrap.js +async-hooks/test-unhandled-exception-valid-ids.js +async-hooks/test-unhandled-rejection-context.js +async-hooks/test-writewrap.js +async-hooks/test-zlib.zlib-binding.deflate.js +async-hooks/verify-graph.js +benchmark/test-bechmark-readline.js +benchmark/test-benchmark-assert.js +benchmark/test-benchmark-async-hooks.js +benchmark/test-benchmark-blob.js +benchmark/test-benchmark-buffer.js +benchmark/test-benchmark-child-process.js +benchmark/test-benchmark-cluster.js +benchmark/test-benchmark-dgram.js +benchmark/test-benchmark-dns.js +benchmark/test-benchmark-domain.js +benchmark/test-benchmark-es.js +benchmark/test-benchmark-esm.js +benchmark/test-benchmark-events.js +benchmark/test-benchmark-http2.js +benchmark/test-benchmark-http.js +benchmark/test-benchmark-mime.js +benchmark/test-benchmark-misc.js +benchmark/test-benchmark-module.js +benchmark/test-benchmark-net.js +benchmark/test-benchmark-os.js +benchmark/test-benchmark-path.js +benchmark/test-benchmark-process.js +benchmark/test-benchmark-querystring.js +benchmark/test-benchmark-streams.js +benchmark/test-benchmark-string_decoder.js +benchmark/test-benchmark-timers.js +benchmark/test-benchmark-tls.js +benchmark/test-benchmark-url.js +benchmark/test-benchmark-util.js +benchmark/test-benchmark-v8.js +benchmark/test-benchmark-validators.js +benchmark/test-benchmark-vm.js +benchmark/test-benchmark-websocket.js +benchmark/test-benchmark-webstreams.js +benchmark/test-benchmark-worker.js +benchmark/test-benchmark-zlib.js +common/arraystream.js +common/assertSnapshot.js +common/benchmark.js +common/child_process.js +common/countdown.js +common/cpu-prof.js +common/crypto.js +common/debugger.js +common/dns.js +common/fixtures.js +common/gc.js +common/globals.js +common/hijackstdio.js +common/http2.js +common/index.js +common/inspector-helper.js +common/internet.js +common/measure-memory.js +common/net.js +common/process-exit-code-cases.js +common/prof.js +common/report.js +common/sea.js +common/shared-lib-util.js +common/snapshot.js +common/test-error-reporter.js +common/tick.js +common/tls.js +common/tmpdir.js +common/udp.js +common/v8.js +common/wasi.js +common/wpt.js +es-module/test-cjs-esm-warn.js +es-module/test-cjs-legacyMainResolve.js +es-module/test-cjs-legacyMainResolve-permission.js +es-module/test-cjs-prototype-pollution.js +es-module/test-disable-require-module-with-detection.js +es-module/test-dynamic-import-script-lifetime.js +es-module/test-esm-cjs-builtins.js +es-module/test-esm-cjs-exports.js +es-module/test-esm-cjs-main.js +es-module/test-esm-data-urls.js +es-module/test-esm-dynamic-import-attribute.js +es-module/test-esm-dynamic-import-commonjs.js +es-module/test-esm-dynamic-import.js +es-module/test-esm-dynamic-import-mutating-fs.js +es-module/test-esm-encoded-path-native.js +es-module/test-esm-error-cache.js +es-module/test-esm-import-attributes-errors.js +es-module/test-esm-import-attributes-validation.js +es-module/test-esm-invalid-data-urls.js +es-module/test-esm-invalid-pjson.js +es-module/test-esm-loader-cache-clearing.js +es-module/test-esm-loader-modulemap.js +es-module/test-esm-loader-search.js +es-module/test-esm-long-path-win.js +es-module/test-esm-preserve-symlinks.js +es-module/test-esm-preserve-symlinks-main.js +es-module/test-esm-repl-imports.js +es-module/test-esm-repl.js +es-module/test-esm-symlink.js +es-module/test-esm-symlink-main.js +es-module/test-esm-symlink-type.js +es-module/test-esm-type-field-errors-2.js +es-module/test-esm-type-field-errors.js +es-module/test-esm-undefined-cjs-global-like-variables.js +es-module/test-esm-unknown-extension.js +es-module/test-esm-url-extname.js +es-module/test-esm-windows.js +es-module/test-loaders-hidden-from-users.js +es-module/test-require-module-cached-tla.js +es-module/test-require-module-conditional-exports.js +es-module/test-require-module-conditional-exports-module.js +es-module/test-require-module-cycle-cjs-esm-esm.js +es-module/test-require-module-cycle-esm-cjs-esm-esm.js +es-module/test-require-module-cycle-esm-cjs-esm.js +es-module/test-require-module-cycle-esm-esm-cjs-esm-esm.js +es-module/test-require-module-cycle-esm-esm-cjs-esm.js +es-module/test-require-module-default-extension.js +es-module/test-require-module-defined-esmodule.js +es-module/test-require-module-detect-entry-point-aou.js +es-module/test-require-module-detect-entry-point.js +es-module/test-require-module-dont-detect-cjs.js +es-module/test-require-module-dynamic-import-1.js +es-module/test-require-module-dynamic-import-2.js +es-module/test-require-module-dynamic-import-3.js +es-module/test-require-module-dynamic-import-4.js +es-module/test-require-module-error-catching.js +es-module/test-require-module-errors.js +es-module/test-require-module-feature-detect.js +es-module/test-require-module-implicit.js +es-module/test-require-module.js +es-module/test-require-module-preload.js +es-module/test-require-module-retry-import-errored.js +es-module/test-require-module-retry-import-evaluating.js +es-module/test-require-module-synchronous-rejection-handling.js +es-module/test-require-module-tla.js +es-module/test-require-module-tla-retry-import-2.js +es-module/test-require-module-tla-retry-import.js +es-module/test-require-module-tla-retry-require.js +es-module/test-require-module-transpiled.js +es-module/test-require-module-twice.js +es-module/test-require-module-warning.js +es-module/test-require-module-with-detection.js +es-module/test-require-node-modules-warning.js +es-module/test-vm-compile-function-leak.js +es-module/test-vm-compile-function-lineoffset.js +es-module/test-vm-contextified-script-leak.js +es-module/test-vm-main-context-default-loader.js +es-module/test-vm-source-text-module-leak.js +es-module/test-vm-synthetic-module-leak.js +es-module/test-wasm-memory-out-of-bound.js +es-module/test-wasm-simple.js +es-module/test-wasm-web-api.js +fixtures/aead-vectors.js +fixtures/a.js +fixtures/async-error.js +fixtures/baz.js +fixtures/cjs-module-wrap.js +fixtures/cjs-module-wrapper.js +fixtures/compile-cache-wrapper.js +fixtures/debugger-repeat-last.js +fixtures/debugger-util-regression-fixture.js +fixtures/deep-exit.js +fixtures/define-global.js +fixtures/deprecated.js +fixtures/deprecated-userland-class.js +fixtures/deprecated-userland-function.js +fixtures/deprecated-userland-subclass.js +fixtures/destroy-stdin.js +fixtures/disable-warning.js +fixtures/disable-warning-worker.js +fixtures/empty.js +fixtures/exports-function-with-param.js +fixtures/external-repl-module.js +fixtures/get-call-sites.js +fixtures/GH-1899-output.js +fixtures/inspector-open.js +fixtures/intrinsic-mutation.js +fixtures/is-object.js +fixtures/klass-with-fields.js +fixtures/linux-perf.js +fixtures/linux-perf-logger.js +fixtures/loader-is-internal-thread.js +fixtures/mime-whatwg-generated.js +fixtures/mime-whatwg.js +fixtures/monkey-patch-run-main.js +fixtures/no-wrapper.js +fixtures/overwrite-config-preload-module.js +fixtures/parent-process-nonpersistent.js +fixtures/path.js +fixtures/print-10-lines.js +fixtures/print +fixtures/printA.js +fixtures/printB.js +fixtures/print-chars.js +fixtures/printC.js +fixtures/print-delayed.js +fixtures/print-error-message.js +fixtures/repl-load-multiline.js +fixtures/repl-load-multiline-no-trailing-newline.js +fixtures/require-resolve.js +fixtures/semicolon.js +fixtures/spawn-worker-with-trace-exit.js +fixtures/test-nodetiming-uvmetricsinfo.js +fixtures/test-resolution-inspect-brk-resolver.js +fixtures/tls-connect.js +fixtures/url-idna.js +fixtures/url-searchparams.js +fixtures/url-setter-tests-additional.js +fixtures/url-tests-additional.js +fixtures/utf8-bom.js +fixtures/utf8-shebang-bom.js +fixtures/warnings.js +fixtures/worker-preload.js +internet/test-dgram-connect.js +internet/test-dgram-membership.js +internet/test-dns-cares-domains.js +internet/test-dns-regress-6244.js +internet/test-dns-setserver-in-callback-of-resolve4.js +internet/test-https-issue-43963.js +internet/test-trace-events-dns.js +message/console_assert.js +message/max_tick_depth.js +message/node_run_non_existent.js +message/util-inspect-error-cause.js +message/util_inspect_error.js +parallel/test-abortcontroller-internal.js +parallel/test-abortcontroller.js +parallel/test-aborted-util.js +parallel/test-abortsignal-cloneable.js +parallel/test-accessor-properties.js +parallel/test-arm-math-illegal-instruction.js +parallel/test-assert-async.js +parallel/test-assert-builtins-not-read-from-filesystem.js +parallel/test-assert-calltracker-calls.js +parallel/test-assert-calltracker-getCalls.js +parallel/test-assert-calltracker-report.js +parallel/test-assert-calltracker-verify.js +parallel/test-assert-checktag.js +parallel/test-assert-deep.js +parallel/test-assert-deep-with-error.js +parallel/test-assert-esm-cjs-message-verify.js +parallel/test-assert-fail-deprecation.js +parallel/test-assert-fail.js +parallel/test-assert-first-line.js +parallel/test-assert-if-error.js +parallel/test-assert.js +parallel/test-assert-objects.js +parallel/test-assert-typedarray-deepequal.js +parallel/test-async-hooks-async-await.js +parallel/test-async-hooks-asyncresource-constructor.js +parallel/test-async-hooks-close-during-destroy.js +parallel/test-async-hooks-constructor.js +parallel/test-async-hooks-correctly-switch-promise-hook.js +parallel/test-async-hooks-destroy-on-gc.js +parallel/test-async-hooks-disable-during-promise.js +parallel/test-async-hooks-disable-gc-tracking.js +parallel/test-async-hooks-enable-before-promise-resolve.js +parallel/test-async-hooks-enable-disable-enable.js +parallel/test-async-hooks-enable-disable.js +parallel/test-async-hooks-enable-during-promise.js +parallel/test-async-hooks-enable-recursive.js +parallel/test-async-hooks-execution-async-resource-await.js +parallel/test-async-hooks-execution-async-resource.js +parallel/test-async-hooks-fatal-error.js +parallel/test-async-hooks-http-agent-destroy.js +parallel/test-async-hooks-http-agent.js +parallel/test-async-hooks-http-parser-destroy.js +parallel/test-async-hooks-prevent-double-destroy.js +parallel/test-async-hooks-promise-enable-disable.js +parallel/test-async-hooks-promise.js +parallel/test-async-hooks-promise-triggerid.js +parallel/test-async-hooks-recursive-stack-runInAsyncScope.js +parallel/test-async-hooks-run-in-async-scope-caught-exception.js +parallel/test-async-hooks-run-in-async-scope-this-arg.js +parallel/test-async-hooks-top-level-clearimmediate.js +parallel/test-async-hooks-vm-gc.js +parallel/test-async-hooks-worker-asyncfn-terminate-1.js +parallel/test-async-hooks-worker-asyncfn-terminate-2.js +parallel/test-async-hooks-worker-asyncfn-terminate-3.js +parallel/test-async-hooks-worker-asyncfn-terminate-4.js +parallel/test-async-local-storage-bind.js +parallel/test-async-local-storage-contexts.js +parallel/test-async-local-storage-deep-stack.js +parallel/test-async-local-storage-exit-does-not-leak.js +parallel/test-async-local-storage-http-multiclients.js +parallel/test-async-local-storage-snapshot.js +parallel/test-asyncresource-bind.js +parallel/test-async-wrap-constructor.js +parallel/test-async-wrap-destroyid.js +parallel/test-async-wrap-pop-id-during-load.js +parallel/test-async-wrap-promise-after-enabled.js +parallel/test-async-wrap-tlssocket-asyncreset.js +parallel/test-async-wrap-trigger-id.js +parallel/test-async-wrap-uncaughtexception.js +parallel/test-atomics-wake.js +parallel/test-bad-unicode.js +parallel/test-bash-completion.js +parallel/test-beforeexit-event-exit.js +parallel/test-benchmark-cli.js +parallel/test-binding-constants.js +parallel/test-blob-createobjecturl.js +parallel/test-blob-file-backed.js +parallel/test-blob.js +parallel/test-blocklist-clone.js +parallel/test-blocklist.js +parallel/test-bootstrap-modules.js +parallel/test-broadcastchannel-custom-inspect.js +parallel/test-btoa-atob.js +parallel/test-buffer-alloc.js +parallel/test-buffer-arraybuffer.js +parallel/test-buffer-ascii.js +parallel/test-buffer-backing-arraybuffer.js +parallel/test-buffer-badhex.js +parallel/test-buffer-bigint64.js +parallel/test-buffer-bytelength.js +parallel/test-buffer-compare.js +parallel/test-buffer-compare-offset.js +parallel/test-buffer-concat.js +parallel/test-buffer-constants.js +parallel/test-buffer-constructor-deprecation-error.js +parallel/test-buffer-constructor-node-modules.js +parallel/test-buffer-constructor-node-modules-paths.js +parallel/test-buffer-constructor-outside-node-modules.js +parallel/test-buffer-copy.js +parallel/test-buffer-equals.js +parallel/test-buffer-failed-alloc-typed-arrays.js +parallel/test-buffer-fakes.js +parallel/test-buffer-fill.js +parallel/test-buffer-from.js +parallel/test-buffer-includes.js +parallel/test-buffer-indexof.js +parallel/test-buffer-inheritance.js +parallel/test-buffer-inspect.js +parallel/test-buffer-isascii.js +parallel/test-buffer-isencoding.js +parallel/test-buffer-isutf8.js +parallel/test-buffer-iterator.js +parallel/test-buffer-new.js +parallel/test-buffer-no-negative-allocation.js +parallel/test-buffer-nopendingdep-map.js +parallel/test-buffer-of-no-deprecation.js +parallel/test-buffer-over-max-length.js +parallel/test-buffer-parent-property.js +parallel/test-buffer-pending-deprecation.js +parallel/test-buffer-pool-untransferable.js +parallel/test-buffer-prototype-inspect.js +parallel/test-buffer-readdouble.js +parallel/test-buffer-readfloat.js +parallel/test-buffer-readint.js +parallel/test-buffer-read.js +parallel/test-buffer-readuint.js +parallel/test-buffer-resizable.js +parallel/test-buffer-safe-unsafe.js +parallel/test-buffer-set-inspect-max-bytes.js +parallel/test-buffer-sharedarraybuffer.js +parallel/test-buffer-slice.js +parallel/test-buffer-slow.js +parallel/test-buffer-swap.js +parallel/test-buffer-tojson.js +parallel/test-buffer-tostring.js +parallel/test-buffer-tostring-rangeerror.js +parallel/test-buffer-tostring-range.js +parallel/test-buffer-writedouble.js +parallel/test-buffer-write-fast.js +parallel/test-buffer-writefloat.js +parallel/test-buffer-writeint.js +parallel/test-buffer-write.js +parallel/test-buffer-writeuint.js +parallel/test-buffer-zero-fill-cli.js +parallel/test-buffer-zero-fill.js +parallel/test-buffer-zero-fill-reset.js +parallel/test-c-ares.js +parallel/test-child-process-advanced-serialization.js +parallel/test-child-process-advanced-serialization-largebuffer.js +parallel/test-child-process-advanced-serialization-splitted-length-field.js +parallel/test-child-process-bad-stdio.js +parallel/test-child-process-can-write-to-stdout.js +parallel/test-child-process-constructor.js +parallel/test-child-process-cwd.js +parallel/test-child-process-default-options.js +parallel/test-child-process-destroy.js +parallel/test-child-process-detached.js +parallel/test-child-process-dgram-reuseport.js +parallel/test-child-process-disconnect.js +parallel/test-child-process-double-pipe.js +parallel/test-child-process-env.js +parallel/test-child-process-exec-abortcontroller-promisified.js +parallel/test-child-process-exec-any-shells-windows.js +parallel/test-child-process-exec-cwd.js +parallel/test-child-process-exec-encoding.js +parallel/test-child-process-exec-env.js +parallel/test-child-process-exec-error.js +parallel/test-child-process-execfile.js +parallel/test-child-process-execfile-maxbuf.js +parallel/test-child-process-execFile-promisified-abortController.js +parallel/test-child-process-execfilesync-maxbuf.js +parallel/test-child-process-exec-kill-throws.js +parallel/test-child-process-exec-maxbuf.js +parallel/test-child-process-exec-std-encoding.js +parallel/test-child-process-exec-stdout-stderr-data-string.js +parallel/test-child-process-execsync-maxbuf.js +parallel/test-child-process-exec-timeout-expire.js +parallel/test-child-process-exec-timeout-kill.js +parallel/test-child-process-exec-timeout-not-expired.js +parallel/test-child-process-exit-code.js +parallel/test-child-process-flush-stdio.js +parallel/test-child-process-fork3.js +parallel/test-child-process-fork-abort-signal.js +parallel/test-child-process-fork-and-spawn.js +parallel/test-child-process-fork-args.js +parallel/test-child-process-fork-closed-channel-segfault.js +parallel/test-child-process-fork-close.js +parallel/test-child-process-fork-detached.js +parallel/test-child-process-fork-dgram.js +parallel/test-child-process-fork-exec-argv.js +parallel/test-child-process-fork-exec-path.js +parallel/test-child-process-fork-getconnections.js +parallel/test-child-process-fork.js +parallel/test-child-process-fork-net.js +parallel/test-child-process-fork-net-server.js +parallel/test-child-process-fork-net-socket.js +parallel/test-child-process-fork-no-shell.js +parallel/test-child-process-fork-ref2.js +parallel/test-child-process-fork-ref.js +parallel/test-child-process-fork-stdio.js +parallel/test-child-process-fork-stdio-string-variant.js +parallel/test-child-process-fork-timeout-kill-signal.js +parallel/test-child-process-http-socket-leak.js +parallel/test-child-process-internal.js +parallel/test-child-process-ipc.js +parallel/test-child-process-ipc-next-tick.js +parallel/test-child-process-kill.js +parallel/test-child-process-net-reuseport.js +parallel/test-child-process-no-deprecation.js +parallel/test-child-process-pipe-dataflow.js +parallel/test-child-process-promisified.js +parallel/test-child-process-recv-handle.js +parallel/test-child-process-reject-null-bytes.js +parallel/test-child-process-send-after-close.js +parallel/test-child-process-send-cb.js +parallel/test-child-process-send-keep-open.js +parallel/test-child-process-send-returns-boolean.js +parallel/test-child-process-send-type-error.js +parallel/test-child-process-send-utf8.js +parallel/test-child-process-server-close.js +parallel/test-child-process-set-blocking.js +parallel/test-child-process-silent.js +parallel/test-child-process-spawn-args.js +parallel/test-child-process-spawn-argv0.js +parallel/test-child-process-spawn-controller.js +parallel/test-child-process-spawn-error.js +parallel/test-child-process-spawn-event.js +parallel/test-child-process-spawn-shell.js +parallel/test-child-process-spawnsync-args.js +parallel/test-child-process-spawnsync-env.js +parallel/test-child-process-spawnsync-input.js +parallel/test-child-process-spawnsync.js +parallel/test-child-process-spawnsync-kill-signal.js +parallel/test-child-process-spawnsync-maxbuf.js +parallel/test-child-process-spawnsync-shell.js +parallel/test-child-process-spawnsync-timeout.js +parallel/test-child-process-spawnsync-validation-errors.js +parallel/test-child-process-spawn-timeout-kill-signal.js +parallel/test-child-process-spawn-typeerror.js +parallel/test-child-process-spawn-windows-batch-file.js +parallel/test-child-process-stdin-ipc.js +parallel/test-child-process-stdin.js +parallel/test-child-process-stdio-big-write-end.js +parallel/test-child-process-stdio-inherit.js +parallel/test-child-process-stdio.js +parallel/test-child-process-stdio-merge-stdouts-into-cat.js +parallel/test-child-process-stdio-overlapped.js +parallel/test-child-process-stdio-reuse-readable-stdio.js +parallel/test-child-process-stdout-flush-exit.js +parallel/test-child-process-stdout-flush.js +parallel/test-child-process-stdout-ipc.js +parallel/test-child-process-uid-gid.js +parallel/test-child-process-validate-stdio.js +parallel/test-child-process-windows-hide.js +parallel/test-cli-bad-options.js +parallel/test-client-request-destroy.js +parallel/test-cli-eval-event.js +parallel/test-cli-eval.js +parallel/test-cli-node-options-disallowed.js +parallel/test-cli-node-options-docs.js +parallel/test-cli-node-options.js +parallel/test-cli-node-print-help.js +parallel/test-cli-options-negation.js +parallel/test-cli-options-precedence.js +parallel/test-cli-permission-deny-fs.js +parallel/test-cli-permission-multiple-allow.js +parallel/test-cli-syntax-eval.js +parallel/test-cli-syntax-piped-bad.js +parallel/test-cli-syntax-piped-good.js +parallel/test-cluster-accept-fail.js +parallel/test-cluster-advanced-serialization.js +parallel/test-cluster-basic.js +parallel/test-cluster-bind-privileged-port.js +parallel/test-cluster-bind-twice.js +parallel/test-cluster-call-and-destroy.js +parallel/test-cluster-child-index-dgram.js +parallel/test-cluster-child-index-net.js +parallel/test-cluster-concurrent-disconnect.js +parallel/test-cluster-cwd.js +parallel/test-cluster-dgram-1.js +parallel/test-cluster-dgram-2.js +parallel/test-cluster-dgram-bind-fd.js +parallel/test-cluster-dgram-ipv6only.js +parallel/test-cluster-dgram-reuse.js +parallel/test-cluster-dgram-reuseport.js +parallel/test-cluster-disconnect-before-exit.js +parallel/test-cluster-disconnect-exitedAfterDisconnect-race.js +parallel/test-cluster-disconnect-idle-worker.js +parallel/test-cluster-disconnect.js +parallel/test-cluster-disconnect-leak.js +parallel/test-cluster-disconnect-race.js +parallel/test-cluster-disconnect-unshared-tcp.js +parallel/test-cluster-disconnect-unshared-udp.js +parallel/test-cluster-disconnect-with-no-workers.js +parallel/test-cluster-eaccess.js +parallel/test-cluster-eaddrinuse.js +parallel/test-cluster-fork-env.js +parallel/test-cluster-fork-stdio.js +parallel/test-cluster-fork-windowsHide.js +parallel/test-cluster-http-pipe.js +parallel/test-cluster-invalid-message.js +parallel/test-cluster-ipc-throw.js +parallel/test-cluster-kill-disconnect.js +parallel/test-cluster-kill-infinite-loop.js +parallel/test-cluster-listening-port.js +parallel/test-cluster-listen-pipe-readable-writable.js +parallel/test-cluster-message.js +parallel/test-cluster-net-listen-backlog.js +parallel/test-cluster-net-listen-ipv6only-false.js +parallel/test-cluster-net-listen.js +parallel/test-cluster-net-listen-relative-path.js +parallel/test-cluster-net-reuseport.js +parallel/test-cluster-net-send.js +parallel/test-cluster-net-server-drop-connection.js +parallel/test-cluster-primary-error.js +parallel/test-cluster-primary-kill.js +parallel/test-cluster-process-disconnect.js +parallel/test-cluster-rr-domain-listen.js +parallel/test-cluster-rr-handle-close.js +parallel/test-cluster-rr-handle-keep-loop-alive.js +parallel/test-cluster-rr-handle-ref-unref.js +parallel/test-cluster-rr-ref.js +parallel/test-cluster-send-deadlock.js +parallel/test-cluster-send-handle-twice.js +parallel/test-cluster-send-socket-to-worker-http-server.js +parallel/test-cluster-server-restart-none.js +parallel/test-cluster-server-restart-rr.js +parallel/test-cluster-setup-primary-argv.js +parallel/test-cluster-setup-primary-cumulative.js +parallel/test-cluster-setup-primary-emit.js +parallel/test-cluster-setup-primary.js +parallel/test-cluster-setup-primary-multiple.js +parallel/test-cluster-shared-handle-bind-error.js +parallel/test-cluster-shared-handle-bind-privileged-port.js +parallel/test-cluster-shared-leak.js +parallel/test-cluster-uncaught-exception.js +parallel/test-cluster-worker-constructor.js +parallel/test-cluster-worker-death.js +parallel/test-cluster-worker-destroy.js +parallel/test-cluster-worker-disconnect.js +parallel/test-cluster-worker-disconnect-on-error.js +parallel/test-cluster-worker-events.js +parallel/test-cluster-worker-exit.js +parallel/test-cluster-worker-forced-exit.js +parallel/test-cluster-worker-handle-close.js +parallel/test-cluster-worker-init.js +parallel/test-cluster-worker-isconnected.js +parallel/test-cluster-worker-isdead.js +parallel/test-cluster-worker-kill.js +parallel/test-cluster-worker-kill-signal.js +parallel/test-cluster-worker-no-exit.js +parallel/test-cluster-worker-wait-server-close.js +parallel/test-code-cache.js +parallel/test-common-countdown.js +parallel/test-common-expect-warning.js +parallel/test-common-gc.js +parallel/test-common.js +parallel/test-common-must-not-call.js +parallel/test-compile-cache-api-env.js +parallel/test-compile-cache-api-error.js +parallel/test-compile-cache-api-flush.js +parallel/test-compile-cache-api-permission.js +parallel/test-compile-cache-api-success.js +parallel/test-compile-cache-api-tmpdir.js +parallel/test-compile-cache-bad-syntax.js +parallel/test-compile-cache-disable.js +parallel/test-compile-cache-dynamic-import.js +parallel/test-compile-cache-esm.js +parallel/test-compile-cache-existing-directory.js +parallel/test-compile-cache-permission-allowed.js +parallel/test-compile-cache-permission-disallowed.js +parallel/test-compile-cache-success.js +parallel/test-compile-cache-updated-file.js +parallel/test-compression-decompression-stream.js +parallel/test-console-assign-undefined.js +parallel/test-console-async-write-error.js +parallel/test-console-clear.js +parallel/test-console-count.js +parallel/test-console-diagnostics-channels.js +parallel/test-console-formatTime.js +parallel/test-console-group.js +parallel/test-console-instance.js +parallel/test-console-issue-43095.js +parallel/test-console.js +parallel/test-console-log-stdio-broken-dest.js +parallel/test-console-log-throw-primitive.js +parallel/test-console-methods.js +parallel/test-console-no-swallow-stack-overflow.js +parallel/test-console-not-call-toString.js +parallel/test-console-self-assign.js +parallel/test-console-stdio-setters.js +parallel/test-console-sync-write-error.js +parallel/test-console-table.js +parallel/test-console-tty-colors.js +parallel/test-console-with-frozen-intrinsics.js +parallel/test-constants.js +parallel/test-corepack-version.js +parallel/test-coverage-with-inspector-disabled.js +parallel/test-crypto-aes-wrap.js +parallel/test-crypto-async-sign-verify.js +parallel/test-crypto-authenticated.js +parallel/test-crypto-authenticated-stream.js +parallel/test-crypto-cipheriv-decipheriv.js +parallel/test-crypto-classes.js +parallel/test-crypto-des3-wrap.js +parallel/test-crypto-dh-constructor.js +parallel/test-crypto-dh-curves.js +parallel/test-crypto-dh-errors.js +parallel/test-crypto-dh-generate-keys.js +parallel/test-crypto-dh-group-setters.js +parallel/test-crypto-dh.js +parallel/test-crypto-dh-leak.js +parallel/test-crypto-dh-modp2.js +parallel/test-crypto-dh-modp2-views.js +parallel/test-crypto-dh-odd-key.js +parallel/test-crypto-dh-padding.js +parallel/test-crypto-dh-shared.js +parallel/test-crypto-dh-stateless.js +parallel/test-crypto-domain.js +parallel/test-crypto-domains.js +parallel/test-crypto-ecb.js +parallel/test-crypto-ecdh-convert-key.js +parallel/test-crypto-encoding-validation-error.js +parallel/test-crypto-from-binary.js +parallel/test-crypto-gcm-explicit-short-tag.js +parallel/test-crypto-gcm-implicit-short-tag.js +parallel/test-crypto-getcipherinfo.js +parallel/test-crypto-hash.js +parallel/test-crypto-hash-stream-pipe.js +parallel/test-crypto-hkdf.js +parallel/test-crypto-hmac.js +# Test disabled on 19.5.2025 as: +# There have been changes to the available cipher suite in RHEL 10 +# And test required cipher aes-256 is no longer present. +# parallel/test-crypto.js +parallel/test-crypto-keygen-async-dsa.js +parallel/test-crypto-keygen-async-dsa-key-object.js +parallel/test-crypto-keygen-async-elliptic-curve-jwk-ec.js +parallel/test-crypto-keygen-async-elliptic-curve-jwk.js +parallel/test-crypto-keygen-async-elliptic-curve-jwk-rsa.js +parallel/test-crypto-keygen-async-encrypted-private-key-der.js +parallel/test-crypto-keygen-async-encrypted-private-key.js +parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js +parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted-p256.js +parallel/test-crypto-keygen-async-explicit-elliptic-curve.js +parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted.js +parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js +parallel/test-crypto-keygen-async-named-elliptic-curve.js +parallel/test-crypto-keygen-async-rsa.js +parallel/test-crypto-keygen-bit-length.js +parallel/test-crypto-keygen-deprecation.js +parallel/test-crypto-keygen-dh-classic.js +parallel/test-crypto-keygen-duplicate-deprecated-option.js +parallel/test-crypto-keygen-eddsa.js +parallel/test-crypto-keygen-empty-passphrase-no-error.js +parallel/test-crypto-keygen-empty-passphrase-no-prompt.js +parallel/test-crypto-keygen-invalid-parameter-encoding-dsa.js +parallel/test-crypto-keygen-invalid-parameter-encoding-ec.js +parallel/test-crypto-keygen.js +parallel/test-crypto-keygen-key-objects.js +parallel/test-crypto-keygen-key-object-without-encoding.js +parallel/test-crypto-keygen-missing-oid.js +parallel/test-crypto-keygen-non-standard-public-exponent.js +parallel/test-crypto-keygen-no-rsassa-pss-params.js +parallel/test-crypto-keygen-promisify.js +parallel/test-crypto-keygen-rfc8017-9-1.js +parallel/test-crypto-keygen-rfc8017-a-2-3.js +parallel/test-crypto-keygen-rsa-pss.js +parallel/test-crypto-keygen-sync.js +parallel/test-crypto-key-objects-messageport.js +parallel/test-crypto-key-objects-to-crypto-key.js +parallel/test-crypto-lazy-transform-writable.js +parallel/test-crypto-oneshot-hash.js +parallel/test-crypto-op-during-process-exit.js +parallel/test-crypto-padding-aes256.js +parallel/test-crypto-padding.js +parallel/test-crypto-pbkdf2.js +parallel/test-crypto-prime.js +parallel/test-crypto-private-decrypt-gh32240.js +parallel/test-crypto-psychic-signatures.js +parallel/test-crypto-publicDecrypt-fails-first-time.js +parallel/test-crypto-randomfillsync-regression.js +parallel/test-crypto-random.js +parallel/test-crypto-randomuuid.js +parallel/test-crypto-scrypt.js +parallel/test-crypto-secret-keygen.js +parallel/test-crypto-secure-heap.js +parallel/test-crypto-stream.js +parallel/test-crypto-subtle-zero-length.js +parallel/test-crypto-update-encoding.js +parallel/test-crypto-verify-failure.js +parallel/test-crypto-webcrypto-aes-decrypt-tag-too-small.js +parallel/test-crypto-worker-thread.js +parallel/test-crypto-x509.js +parallel/test-cwd-enoent.js +parallel/test-cwd-enoent-preload.js +parallel/test-cwd-enoent-repl.js +parallel/test-data-url.js +parallel/test-datetime-change-notify.js +parallel/test-debugger-backtrace.js +parallel/test-debugger-break.js +parallel/test-debugger-breakpoint-exists.js +parallel/test-debugger-clear-breakpoints.js +parallel/test-debugger-exceptions.js +parallel/test-debugger-exec.js +parallel/test-debugger-heap-profiler.js +parallel/test-debugger-list.js +parallel/test-debugger-low-level.js +parallel/test-debugger-object-type-remote-object.js +parallel/test-debugger-pid.js +parallel/test-debugger-preserve-breaks.js +parallel/test-debugger-profile.js +parallel/test-debugger-random-port.js +parallel/test-debugger-random-port-with-inspect-port.js +parallel/test-debugger-repeat-last.js +parallel/test-debugger-restart-message.js +parallel/test-debugger-run-after-quit-restart.js +parallel/test-debugger-sb-before-load.js +parallel/test-debugger-scripts.js +parallel/test-debugger-unavailable-port.js +parallel/test-debugger-use-strict.js +parallel/test-debugger-watch-validation.js +parallel/test-debugger-websocket-secret-mismatch.js +parallel/test-debug-process.js +parallel/test-debug-v8-fast-api.js +parallel/test-delayed-require.js +parallel/test-destroy-socket-in-lookup.js +parallel/test-dgram-abort-closed.js +parallel/test-dgram-address.js +parallel/test-dgram-bind-default-address.js +parallel/test-dgram-bind-error-repeat.js +parallel/test-dgram-bind-fd-error.js +parallel/test-dgram-bind-fd.js +parallel/test-dgram-bind.js +parallel/test-dgram-bind-socket-close-before-cluster-reply.js +parallel/test-dgram-bind-socket-close-before-lookup.js +parallel/test-dgram-blocklist.js +parallel/test-dgram-bytes-length.js +parallel/test-dgram-close-during-bind.js +parallel/test-dgram-close-in-listening.js +parallel/test-dgram-close-is-not-callback.js +parallel/test-dgram-close.js +parallel/test-dgram-close-signal.js +parallel/test-dgram-cluster-bind-error.js +parallel/test-dgram-cluster-close-during-bind.js +parallel/test-dgram-cluster-close-in-listening.js +parallel/test-dgram-connect.js +parallel/test-dgram-connect-send-callback-buffer.js +parallel/test-dgram-connect-send-callback-buffer-length.js +parallel/test-dgram-connect-send-callback-multi-buffer.js +parallel/test-dgram-connect-send-default-host.js +parallel/test-dgram-connect-send-empty-array.js +parallel/test-dgram-connect-send-empty-buffer.js +parallel/test-dgram-connect-send-empty-packet.js +parallel/test-dgram-connect-send-multi-buffer-copy.js +parallel/test-dgram-connect-send-multi-string-array.js +parallel/test-dgram-create-socket-handle-fd.js +parallel/test-dgram-create-socket-handle.js +parallel/test-dgram-createSocket-type.js +parallel/test-dgram-custom-lookup.js +parallel/test-dgram-deprecation-error.js +parallel/test-dgram-error-message-address.js +parallel/test-dgram-exclusive-implicit-bind.js +parallel/test-dgram-implicit-bind.js +parallel/test-dgram-ipv6only.js +parallel/test-dgram-listen-after-bind.js +parallel/test-dgram-membership.js +parallel/test-dgram-msgsize.js +parallel/test-dgram-multicast-loopback.js +parallel/test-dgram-multicast-set-interface.js +parallel/test-dgram-multicast-setTTL.js +parallel/test-dgram-oob-buffer.js +parallel/test-dgram-recv-error.js +parallel/test-dgram-ref.js +parallel/test-dgram-reuseport.js +parallel/test-dgram-send-address-types.js +parallel/test-dgram-send-bad-arguments.js +parallel/test-dgram-send-callback-buffer-empty-address.js +parallel/test-dgram-send-callback-buffer.js +parallel/test-dgram-send-callback-buffer-length-empty-address.js +parallel/test-dgram-send-callback-buffer-length.js +parallel/test-dgram-send-callback-multi-buffer-empty-address.js +parallel/test-dgram-send-callback-multi-buffer.js +parallel/test-dgram-send-callback-recursive.js +parallel/test-dgram-send-cb-quelches-error.js +parallel/test-dgram-send-default-host.js +parallel/test-dgram-send-empty-array.js +parallel/test-dgram-send-empty-buffer.js +parallel/test-dgram-send-empty-packet.js +parallel/test-dgram-send-error.js +parallel/test-dgram-send-invalid-msg-type.js +parallel/test-dgram-send-multi-buffer-copy.js +parallel/test-dgram-send-multi-string-array.js +parallel/test-dgram-send-queue-info.js +parallel/test-dgram-sendto.js +parallel/test-dgram-setBroadcast.js +parallel/test-dgram-setTTL.js +parallel/test-dgram-socket-buffer-size.js +parallel/test-dgram-udp4.js +parallel/test-dgram-udp6-link-local-address.js +parallel/test-dgram-udp6-send-default-host.js +parallel/test-dgram-unref-in-cluster.js +parallel/test-dgram-unref.js +parallel/test-diagnostic-channel-http-request-created.js +parallel/test-diagnostic-channel-http-response-created.js +parallel/test-diagnostics-channel-bind-store.js +parallel/test-diagnostics-channel-has-subscribers.js +parallel/test-diagnostics-channel-http.js +parallel/test-diagnostics-channel-http-server-start.js +parallel/test-diagnostics-channel-memory-leak.js +parallel/test-diagnostics-channel-module-import-error.js +parallel/test-diagnostics-channel-module-import.js +parallel/test-diagnostics-channel-module-require-error.js +parallel/test-diagnostics-channel-module-require.js +parallel/test-diagnostics-channel-net.js +parallel/test-diagnostics-channel-object-channel-pub-sub.js +parallel/test-diagnostics-channel-process.js +parallel/test-diagnostics-channel-pub-sub.js +parallel/test-diagnostics-channel-safe-subscriber-errors.js +parallel/test-diagnostics-channel-symbol-named.js +parallel/test-diagnostics-channel-sync-unsubscribe.js +parallel/test-diagnostics-channel-tracing-channel-args-types.js +parallel/test-diagnostics-channel-tracing-channel-callback-early-exit.js +parallel/test-diagnostics-channel-tracing-channel-callback-error.js +parallel/test-diagnostics-channel-tracing-channel-callback.js +parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js +parallel/test-diagnostics-channel-tracing-channel-has-subscribers.js +parallel/test-diagnostics-channel-tracing-channel-promise-early-exit.js +parallel/test-diagnostics-channel-tracing-channel-promise-error.js +parallel/test-diagnostics-channel-tracing-channel-promise.js +parallel/test-diagnostics-channel-tracing-channel-promise-run-stores.js +parallel/test-diagnostics-channel-tracing-channel-sync-early-exit.js +parallel/test-diagnostics-channel-tracing-channel-sync-error.js +parallel/test-diagnostics-channel-tracing-channel-sync.js +parallel/test-diagnostics-channel-tracing-channel-sync-run-stores.js +parallel/test-diagnostics-channel-udp.js +parallel/test-diagnostics-channel-worker-threads.js +parallel/test-directory-import.js +parallel/test-disable-proto-delete.js +parallel/test-disable-proto-throw.js +parallel/test-disable-sigusr1.js +parallel/test-dns-cancel-reverse-lookup.js +parallel/test-dns-channel-cancel.js +parallel/test-dns-channel-cancel-promise.js +parallel/test-dns-channel-timeout.js +parallel/test-dns-default-order-ipv4.js +parallel/test-dns-default-order-ipv6.js +parallel/test-dns-default-order-verbatim.js +parallel/test-dns-get-server.js +parallel/test-dns.js +parallel/test-dns-lookup.js +parallel/test-dns-lookup-promises.js +parallel/test-dns-lookup-promises-options-deprecated.js +parallel/test-dns-lookupService.js +parallel/test-dns-lookupService-promises.js +parallel/test-dns-memory-error.js +parallel/test-dns-multi-channel.js +parallel/test-dns-perf_hooks.js +parallel/test-dns-promises-exists.js +parallel/test-dns-resolveany-bad-ancount.js +parallel/test-dns-resolveany.js +parallel/test-dns-resolvens-typeerror.js +parallel/test-dns-resolve-promises.js +parallel/test-dns-set-default-order.js +parallel/test-dns-setlocaladdress.js +parallel/test-dns-setservers-type-check.js +parallel/test-dns-setserver-when-querying.js +parallel/test-domain-abort-on-uncaught.js +parallel/test-domain-add-remove.js +parallel/test-domain-async-id-map-leak.js +parallel/test-domain-bind-timeout.js +parallel/test-domain-crypto.js +parallel/test-domain-dep0097.js +parallel/test-domain-ee-error-listener.js +parallel/test-domain-ee-implicit.js +parallel/test-domain-ee.js +parallel/test-domain-emit-error-handler-stack.js +parallel/test-domain-enter-exit.js +parallel/test-domain-error-types.js +parallel/test-domain-from-timer.js +parallel/test-domain-fs-enoent-stream.js +parallel/test-domain-http-server.js +parallel/test-domain-implicit-binding.js +parallel/test-domain-implicit-fs.js +parallel/test-domain-intercept.js +parallel/test-domain-load-after-set-uncaught-exception-capture.js +parallel/test-domain-multi.js +parallel/test-domain-multiple-errors.js +parallel/test-domain-nested.js +parallel/test-domain-nested-throw.js +parallel/test-domain-nexttick.js +parallel/test-domain-no-error-handler-abort-on-uncaught-0.js +parallel/test-domain-no-error-handler-abort-on-uncaught-1.js +parallel/test-domain-no-error-handler-abort-on-uncaught-2.js +parallel/test-domain-no-error-handler-abort-on-uncaught-3.js +parallel/test-domain-no-error-handler-abort-on-uncaught-4.js +parallel/test-domain-no-error-handler-abort-on-uncaught-5.js +parallel/test-domain-no-error-handler-abort-on-uncaught-6.js +parallel/test-domain-no-error-handler-abort-on-uncaught-7.js +parallel/test-domain-no-error-handler-abort-on-uncaught-8.js +parallel/test-domain-no-error-handler-abort-on-uncaught-9.js +parallel/test-domain-promise.js +parallel/test-domain-run.js +parallel/test-domain-safe-exit.js +parallel/test-domain-set-uncaught-exception-capture-after-load.js +parallel/test-domain-stack-empty-in-process-uncaughtexception.js +parallel/test-domain-stack.js +parallel/test-domain-throw-error-then-throw-from-uncaught-exception-handler.js +parallel/test-domain-thrown-error-handler-stack.js +parallel/test-domain-timer.js +parallel/test-domain-timers.js +parallel/test-domain-timers-uncaught-exception.js +parallel/test-domain-top-level-error-handler-clears-stack.js +parallel/test-domain-top-level-error-handler-throw.js +parallel/test-domain-uncaught-exception.js +parallel/test-domain-vm-promise-isolation.js +parallel/test-domain-with-abort-on-uncaught-exception.js +parallel/test-domexception-cause.js +parallel/test-dotenv-edge-cases.js +parallel/test-dotenv-node-options.js +parallel/test-double-tls-client.js +parallel/test-double-tls-server.js +parallel/test-dsa-fips-invalid-key.js +parallel/test-dummy-stdio.js +parallel/test-emit-after-uncaught-exception.js +parallel/test-env-newprotomethod-remove-unnecessary-prototypes.js +parallel/test-env-var-no-warnings.js +parallel/test-err-name-deprecation.js +parallel/test-error-aggregateTwoErrors.js +parallel/test-error-format-list.js +parallel/test-error-prepare-stack-trace.js +parallel/test-error-reporting.js +parallel/test-errors-aborterror.js +parallel/test-errors-hide-stack-frames.js +parallel/test-errors-systemerror-frozen-intrinsics.js +parallel/test-errors-systemerror.js +parallel/test-errors-systemerror-stackTraceLimit-custom-setter.js +parallel/test-errors-systemerror-stackTraceLimit-deleted-and-Error-sealed.js +parallel/test-errors-systemerror-stackTraceLimit-deleted.js +parallel/test-errors-systemerror-stackTraceLimit-has-only-a-getter.js +parallel/test-errors-systemerror-stackTraceLimit-not-writable.js +parallel/test-eslint-alphabetize-errors.js +parallel/test-eslint-alphabetize-primordials.js +parallel/test-eslint-async-iife-no-unused-result.js +parallel/test-eslint-avoid-prototype-pollution.js +parallel/test-eslint-crypto-check.js +parallel/test-eslint-documented-deprecation-codes.js +parallel/test-eslint-documented-errors.js +parallel/test-eslint-duplicate-requires.js +parallel/test-eslint-eslint-check.js +parallel/test-eslint-inspector-check.js +parallel/test-eslint-lowercase-name-for-primitive.js +parallel/test-eslint-no-array-destructuring.js +parallel/test-eslint-non-ascii-character.js +parallel/test-eslint-no-unescaped-regexp-dot.js +parallel/test-eslint-prefer-assert-iferror.js +parallel/test-eslint-prefer-assert-methods.js +parallel/test-eslint-prefer-common-mustnotcall.js +parallel/test-eslint-prefer-common-mustsucceed.js +parallel/test-eslint-prefer-optional-chaining.js +parallel/test-eslint-prefer-primordials.js +parallel/test-eslint-prefer-proto.js +parallel/test-eslint-prefer-util-format-errors.js +parallel/test-eslint-require-common-first.js +parallel/test-eslint-required-modules.js +parallel/test-esm-loader-hooks-inspect-brk.js +parallel/test-esm-loader-hooks-inspect-wait.js +parallel/test-eval-disallow-code-generation-from-strings.js +parallel/test-eval.js +parallel/test-eval-strict-referenceerror.js +parallel/test-event-capture-rejections.js +parallel/test-event-emitter-add-listeners.js +parallel/test-eventemitter-asyncresource.js +parallel/test-event-emitter-check-listener-leaks.js +parallel/test-event-emitter-emit-context.js +parallel/test-event-emitter-error-monitor.js +parallel/test-event-emitter-errors.js +parallel/test-event-emitter-get-max-listeners.js +parallel/test-event-emitter-invalid-listener.js +parallel/test-event-emitter-listener-count.js +parallel/test-event-emitter-listeners.js +parallel/test-event-emitter-listeners-side-effects.js +parallel/test-event-emitter-max-listeners.js +parallel/test-event-emitter-max-listeners-warning-for-null.js +parallel/test-event-emitter-max-listeners-warning-for-symbol.js +parallel/test-event-emitter-max-listeners-warning.js +parallel/test-event-emitter-method-names.js +parallel/test-event-emitter-modify-in-emit.js +parallel/test-event-emitter-no-error-provided-to-error-event.js +parallel/test-event-emitter-num-args.js +parallel/test-event-emitter-once.js +parallel/test-event-emitter-prepend.js +parallel/test-event-emitter-remove-all-listeners.js +parallel/test-event-emitter-remove-listeners.js +parallel/test-event-emitter-set-max-listeners-side-effects.js +parallel/test-event-emitter-special-event-names.js +parallel/test-event-emitter-subclass.js +parallel/test-event-emitter-symbols.js +parallel/test-events-customevent.js +parallel/test-events-getmaxlisteners.js +parallel/test-events-listener-count-with-listener.js +parallel/test-events-list.js +parallel/test-events-on-async-iterator.js +parallel/test-events-once.js +parallel/test-eventsource-disabled.js +parallel/test-eventsource.js +parallel/test-events-static-geteventlisteners.js +parallel/test-events-uncaught-exception-stack.js +parallel/test-eventtarget-brandcheck.js +parallel/test-event-target.js +parallel/test-eventtarget.js +parallel/test-eventtarget-memoryleakwarning.js +parallel/test-eventtarget-once-twice.js +parallel/test-exception-handler2.js +parallel/test-exception-handler.js +parallel/test-experimental-shared-value-conveyor.js +parallel/test-fetch-mock.js +parallel/test-filehandle-close.js +parallel/test-filehandle-readablestream.js +parallel/test-file.js +parallel/test-file-read-noexist.js +parallel/test-file-validate-mode-flag.js +parallel/test-file-write-stream2.js +parallel/test-file-write-stream3.js +parallel/test-file-write-stream4.js +parallel/test-file-write-stream5.js +parallel/test-file-write-stream.js +parallel/test-finalization-registry-shutdown.js +parallel/test-find-package-json.js +parallel/test-fixed-queue.js +parallel/test-force-repl.js +parallel/test-force-repl-with-eval.js +parallel/test-freelist.js +parallel/test-freeze-intrinsics.js +parallel/test-fs-access.js +parallel/test-fs-append-file-flush.js +parallel/test-fs-append-file.js +parallel/test-fs-append-file-sync.js +parallel/test-fs-assert-encoding-error.js +parallel/test-fs-buffer.js +parallel/test-fs-buffertype-writesync.js +parallel/test-fs-chmod.js +parallel/test-fs-chmod-mask.js +parallel/test-fs-chown-type-check.js +parallel/test-fs-close-errors.js +parallel/test-fs-close.js +parallel/test-fs-constants.js +parallel/test-fs-copyfile.js +parallel/test-fs-copyfile-respect-permissions.js +parallel/test-fs-empty-readStream.js +parallel/test-fs-error-messages.js +parallel/test-fs-exists.js +parallel/test-fs-existssync-false.js +parallel/test-fs-fchmod.js +parallel/test-fs-fchown.js +parallel/test-fs-filehandle.js +parallel/test-fs-filehandle-use-after-close.js +parallel/test-fs-fmap.js +parallel/test-fs-fsync.js +parallel/test-fs-lchmod.js +parallel/test-fs-lchown.js +parallel/test-fs-link.js +parallel/test-fs-long-path.js +parallel/test-fs-make-callback.js +parallel/test-fs-makeStatsCallback.js +parallel/test-fs-mkdir.js +parallel/test-fs-mkdir-mode-mask.js +parallel/test-fs-mkdir-recursive-eaccess.js +parallel/test-fs-mkdir-rmdir.js +parallel/test-fs-mkdtemp.js +parallel/test-fs-mkdtemp-prefix-check.js +parallel/test-fs-non-number-arguments-throw.js +parallel/test-fs-null-bytes.js +parallel/test-fs-opendir.js +parallel/test-fs-open-flags.js +parallel/test-fs-open.js +parallel/test-fs-open-mode-mask.js +parallel/test-fs-open-no-close.js +parallel/test-fs-open-numeric-flags.js +parallel/test-fs-operations-with-surrogate-pairs.js +parallel/test-fs-options-immutable.js +parallel/test-fs-promises-exists.js +parallel/test-fs-promises-file-handle-aggregate-errors.js +parallel/test-fs-promises-file-handle-append-file.js +parallel/test-fs-promises-file-handle-chmod.js +parallel/test-fs-promises-file-handle-close-errors.js +parallel/test-fs-promises-file-handle-close.js +parallel/test-fs-promises-file-handle-dispose.js +parallel/test-fs-promises-file-handle-op-errors.js +parallel/test-fs-promises-file-handle-readFile.js +parallel/test-fs-promises-file-handle-read.js +parallel/test-fs-promises-file-handle-read-worker.js +parallel/test-fs-promises-file-handle-stat.js +parallel/test-fs-promises-file-handle-stream.js +parallel/test-fs-promises-file-handle-sync.js +parallel/test-fs-promises-file-handle-truncate.js +parallel/test-fs-promises-file-handle-writeFile.js +parallel/test-fs-promises-file-handle-write.js +parallel/test-fs-promises.js +parallel/test-fs-promises-readfile-empty.js +parallel/test-fs-promises-readfile.js +parallel/test-fs-promises-readfile-with-fd.js +parallel/test-fs-promises-watch.js +parallel/test-fs-promises-writefile.js +parallel/test-fs-promises-writefile-typedarray.js +parallel/test-fs-promises-writefile-with-fd.js +parallel/test-fs-promises-write-optional-params.js +parallel/test-fs-promisified.js +parallel/test-fs-readdir-buffer.js +parallel/test-fs-readdir.js +parallel/test-fs-readdir-pipe.js +parallel/test-fs-readdir-recursive.js +parallel/test-fs-readdir-stack-overflow.js +parallel/test-fs-readdir-types.js +parallel/test-fs-readdir-types-symlinks.js +parallel/test-fs-readdir-ucs2.js +parallel/test-fs-read-empty-buffer.js +parallel/test-fs-read-file-assert-encoding.js +parallel/test-fs-readfile-empty.js +parallel/test-fs-readfile-eof.js +parallel/test-fs-readfile-error.js +parallel/test-fs-readfile-fd.js +parallel/test-fs-readfile-flags.js +parallel/test-fs-readfile.js +parallel/test-fs-readfile-pipe.js +parallel/test-fs-readfile-pipe-large.js +parallel/test-fs-readfilesync-enoent.js +parallel/test-fs-read-file-sync-hostname.js +parallel/test-fs-read-file-sync.js +parallel/test-fs-readfilesync-pipe-large.js +parallel/test-fs-readfile-unlink.js +parallel/test-fs-readfile-zero-byte-liar.js +parallel/test-fs-read.js +parallel/test-fs-readlink-type-check.js +parallel/test-fs-read-offset-null.js +parallel/test-fs-read-optional-params.js +parallel/test-fs-read-promises-optional-params.js +parallel/test-fs-read-stream-autoClose.js +parallel/test-fs-read-stream-concurrent-reads.js +parallel/test-fs-read-stream-double-close.js +parallel/test-fs-read-stream-encoding.js +parallel/test-fs-read-stream-err.js +parallel/test-fs-read-stream-fd.js +parallel/test-fs-read-stream-fd-leak.js +parallel/test-fs-read-stream-file-handle.js +parallel/test-fs-read-stream-inherit.js +parallel/test-fs-read-stream.js +parallel/test-fs-read-stream-patch-open.js +parallel/test-fs-read-stream-pos.js +parallel/test-fs-read-stream-resume.js +parallel/test-fs-read-stream-throw-type-error.js +parallel/test-fs-readSync-optional-params.js +parallel/test-fs-read-type.js +parallel/test-fs-readv.js +parallel/test-fs-readv-promises.js +parallel/test-fs-readv-promisify.js +parallel/test-fs-readv-sync.js +parallel/test-fs-ready-event-stream.js +parallel/test-fs-read-zero-length.js +parallel/test-fs-realpath-buffer-encoding.js +parallel/test-fs-realpath.js +parallel/test-fs-realpath-on-substed-drive.js +parallel/test-fs-realpath-pipe.js +parallel/test-fs-rename-type-check.js +parallel/test-fs-rmdir-recursive.js +parallel/test-fs-rmdir-recursive-sync-warns-not-found.js +parallel/test-fs-rmdir-recursive-sync-warns-on-file.js +parallel/test-fs-rmdir-recursive-throws-not-found.js +parallel/test-fs-rmdir-recursive-throws-on-file.js +parallel/test-fs-rmdir-recursive-warns-not-found.js +parallel/test-fs-rmdir-recursive-warns-on-file.js +parallel/test-fs-rmdir-type-check.js +parallel/test-fs-rm.js +parallel/test-fs-sir-writes-alot.js +parallel/test-fs-stat-bigint.js +parallel/test-fs-statfs.js +parallel/test-fs-stat.js +parallel/test-fs-stream-construct-compat-error-read.js +parallel/test-fs-stream-construct-compat-error-write.js +parallel/test-fs-stream-construct-compat-graceful-fs.js +parallel/test-fs-stream-construct-compat-old-node.js +parallel/test-fs-stream-destroy-emit-error.js +parallel/test-fs-stream-double-close.js +parallel/test-fs-stream-fs-options.js +parallel/test-fs-stream-options.js +parallel/test-fs-symlink-buffer-path.js +parallel/test-fs-symlink-dir.js +parallel/test-fs-symlink-dir-junction.js +parallel/test-fs-symlink-dir-junction-relative.js +parallel/test-fs-symlink.js +parallel/test-fs-symlink-longpath.js +parallel/test-fs-sync-fd-leak.js +parallel/test-fs-syncwritestream.js +parallel/test-fs-timestamp-parsing-error.js +parallel/test-fs-truncate-clear-file-zero.js +parallel/test-fs-truncate-fd.js +parallel/test-fs-truncate.js +parallel/test-fs-truncate-sync.js +parallel/test-fs-unlink-type-check.js +parallel/test-fs-utils-get-dirents.js +parallel/test-fs-util-validateoffsetlength.js +parallel/test-fs-utimes.js +# Test disabled on 3.18.2025 as: +# utime-y2K38 has issues because i686 can't handle dates past 2038 +# and the support for this arch is no longer required +parallel/test-fs-utimes-y2K38.js i686 +parallel/test-fs-watch-abort-signal.js +parallel/test-fs-watch-close-when-destroyed.js +parallel/test-fs-watch-encoding.js +parallel/test-fs-watch-enoent.js +parallel/test-fs-watchfile-bigint.js +parallel/test-fs-watch-file-enoent-after-deletion.js +parallel/test-fs-watchfile.js +parallel/test-fs-watchfile-ref-unref.js +parallel/test-fs-watch.js +parallel/test-fs-watch-recursive-add-file.js +parallel/test-fs-watch-recursive-add-file-to-existing-subfolder.js +parallel/test-fs-watch-recursive-add-file-to-new-folder.js +parallel/test-fs-watch-recursive-add-file-with-url.js +parallel/test-fs-watch-recursive-add-folder.js +parallel/test-fs-watch-recursive-assert-leaks.js +parallel/test-fs-watch-recursive-delete.js +parallel/test-fs-watch-recursive-linux-parallel-remove.js +parallel/test-fs-watch-recursive-promise.js +parallel/test-fs-watch-recursive-symlink.js +parallel/test-fs-watch-recursive-sync-write.js +parallel/test-fs-watch-recursive-update-file.js +parallel/test-fs-watch-recursive-validate.js +parallel/test-fs-watch-recursive-watch-file.js +parallel/test-fs-watch-ref-unref.js +parallel/test-fs-watch-stop-async.js +parallel/test-fs-watch-stop-sync.js +parallel/test-fs-whatwg-url.js +parallel/test-fs-write-buffer.js +parallel/test-fs-write-buffer-large.js +parallel/test-fs-write-file-buffer.js +parallel/test-fs-write-file-flush.js +parallel/test-fs-write-file-invalid-path.js +parallel/test-fs-write-file.js +parallel/test-fs-write-file-sync.js +parallel/test-fs-write-file-typedarrays.js +parallel/test-fs-writefile-with-fd.js +parallel/test-fs-write.js +parallel/test-fs-write-negativeoffset.js +parallel/test-fs-write-no-fd.js +parallel/test-fs-write-optional-params.js +parallel/test-fs-write-reuse-callback.js +parallel/test-fs-write-sigxfsz.js +parallel/test-fs-write-stream-autoclose-option.js +parallel/test-fs-write-stream-change-open.js +parallel/test-fs-write-stream-close-without-callback.js +parallel/test-fs-write-stream-double-close.js +parallel/test-fs-write-stream-encoding.js +parallel/test-fs-write-stream-end.js +parallel/test-fs-write-stream-err.js +parallel/test-fs-write-stream-file-handle-2.js +parallel/test-fs-write-stream-file-handle.js +parallel/test-fs-write-stream-flush.js +parallel/test-fs-write-stream-fs.js +parallel/test-fs-write-stream.js +parallel/test-fs-writestream-open-write.js +parallel/test-fs-write-stream-patch-open.js +parallel/test-fs-write-stream-throw-type-error.js +parallel/test-fs-write-sync.js +parallel/test-fs-write-sync-optional-params.js +parallel/test-fs-writev.js +parallel/test-fs-writev-promises.js +parallel/test-fs-writev-sync.js +parallel/test-gc-http-client-connaborted.js +parallel/test-gc-net-timeout.js +parallel/test-gc-tls-external-memory.js +parallel/test-global-console-exists.js +parallel/test-global-customevent-disabled.js +parallel/test-global-customevent.js +parallel/test-global-domexception.js +parallel/test-global-encoder.js +parallel/test-global.js +parallel/test-global-setters.js +parallel/test-global-webcrypto-classes.js +parallel/test-global-webcrypto-disbled.js +parallel/test-global-webcrypto.js +parallel/test-global-webstreams.js +parallel/test-h2-large-header-cause-client-to-hangup.js +parallel/test-h2leak-destroy-session-on-socket-ended.js +parallel/test-handle-wrap-close-abort.js +parallel/test-handle-wrap-hasref.js +parallel/test-heapdump-async-hooks-init-promise.js +parallel/test-heap-prof-basic.js +parallel/test-heap-prof-dir-absolute.js +parallel/test-heap-prof-dir-name.js +parallel/test-heap-prof-dir-relative.js +parallel/test-heap-prof-exec-argv.js +parallel/test-heap-prof-exit.js +parallel/test-heap-prof-interval.js +parallel/test-heap-prof-invalid-args.js +parallel/test-heap-prof-loop-drained.js +parallel/test-heap-prof-name.js +parallel/test-heap-prof-sigint.js +parallel/test-heapsnapshot-near-heap-limit-by-api-in-worker.js +parallel/test-heapsnapshot-near-heap-limit-worker.js +parallel/test-http-1.0.js +parallel/test-http-1.0-keep-alive.js +parallel/test-http2-allow-http1.js +parallel/test-http2-alpn.js +parallel/test-http2-altsvc.js +parallel/test-http2-async-local-storage.js +parallel/test-http2-autoselect-protocol.js +parallel/test-http2-backpressure.js +parallel/test-http2-binding.js +parallel/test-http2-buffersize.js +parallel/test-http2-byteswritten-server.js +parallel/test-http2-cancel-while-client-reading.js +parallel/test-http2-capture-rejection.js +parallel/test-http2-clean-output.js +parallel/test-http2-client-connection-tunnelling.js +parallel/test-http2-client-data-end.js +parallel/test-http2-client-destroy.js +parallel/test-http2-client-http1-server.js +parallel/test-http2-client-jsstream-destroy.js +parallel/test-http2-client-onconnect-errors.js +parallel/test-http2-client-port-80.js +parallel/test-http2-client-priority-before-connect.js +parallel/test-http2-client-promisify-connect-error.js +parallel/test-http2-client-promisify-connect.js +parallel/test-http2-client-proxy-over-http2.js +parallel/test-http2-client-request-listeners-warning.js +parallel/test-http2-client-request-options-errors.js +parallel/test-http2-client-rststream-before-connect.js +parallel/test-http2-client-setLocalWindowSize.js +parallel/test-http2-client-setNextStreamID-errors.js +parallel/test-http2-client-set-priority.js +parallel/test-http2-client-settings-before-connect.js +parallel/test-http2-client-shutdown-before-connect.js +parallel/test-http2-client-socket-destroy.js +parallel/test-http2-client-stream-destroy-before-connect.js +parallel/test-http2-client-unescaped-path.js +parallel/test-http2-client-upload.js +parallel/test-http2-client-upload-reject.js +parallel/test-http2-client-write-before-connect.js +parallel/test-http2-client-write-empty-string.js +parallel/test-http2-close-while-writing.js +parallel/test-http2-compat-aborted.js +parallel/test-http2-compat-client-upload-reject.js +parallel/test-http2-compat-errors.js +parallel/test-http2-compat-expect-continue-check.js +parallel/test-http2-compat-expect-continue.js +parallel/test-http2-compat-expect-handling.js +parallel/test-http2-compat-method-connect.js +parallel/test-http2-compat-serverrequest-end.js +parallel/test-http2-compat-serverrequest-headers.js +parallel/test-http2-compat-serverrequest-host.js +parallel/test-http2-compat-serverrequest.js +parallel/test-http2-compat-serverrequest-pause.js +parallel/test-http2-compat-serverrequest-pipe.js +parallel/test-http2-compat-serverrequest-settimeout.js +parallel/test-http2-compat-serverrequest-trailers.js +parallel/test-http2-compat-serverresponse-close.js +parallel/test-http2-compat-serverresponse-createpushresponse.js +parallel/test-http2-compat-serverresponse-destroy.js +parallel/test-http2-compat-serverresponse-drain.js +parallel/test-http2-compat-serverresponse-end-after-statuses-without-body.js +parallel/test-http2-compat-serverresponse-end.js +parallel/test-http2-compat-serverresponse-finished.js +parallel/test-http2-compat-serverresponse-flushheaders.js +parallel/test-http2-compat-serverresponse-headers-after-destroy.js +parallel/test-http2-compat-serverresponse-headers.js +parallel/test-http2-compat-serverresponse-headers-send-date.js +parallel/test-http2-compat-serverresponse.js +parallel/test-http2-compat-serverresponse-settimeout.js +parallel/test-http2-compat-serverresponse-statuscode.js +parallel/test-http2-compat-serverresponse-statusmessage.js +parallel/test-http2-compat-serverresponse-statusmessage-property.js +parallel/test-http2-compat-serverresponse-statusmessage-property-set.js +parallel/test-http2-compat-serverresponse-trailers.js +parallel/test-http2-compat-serverresponse-writehead-array.js +parallel/test-http2-compat-serverresponse-writehead.js +parallel/test-http2-compat-serverresponse-write.js +parallel/test-http2-compat-short-stream-client-server.js +parallel/test-http2-compat-socket-destroy-delayed.js +parallel/test-http2-compat-socket.js +parallel/test-http2-compat-socket-set.js +parallel/test-http2-compat-write-early-hints-invalid-argument-type.js +parallel/test-http2-compat-write-early-hints-invalid-argument-value.js +parallel/test-http2-compat-write-early-hints.js +parallel/test-http2-compat-write-head-destroyed.js +parallel/test-http2-connect.js +parallel/test-http2-connect-method-extended-cant-turn-off.js +parallel/test-http2-connect-method-extended.js +parallel/test-http2-connect-method.js +parallel/test-http2-connect-options.js +parallel/test-http2-connect-tls-with-delay.js +parallel/test-http2-cookies.js +parallel/test-http2-create-client-connect.js +parallel/test-http2-create-client-secure-session.js +parallel/test-http2-create-client-session.js +parallel/test-http2-createsecureserver-options.js +parallel/test-http2-createserver-options.js +parallel/test-http2-createwritereq.js +parallel/test-http2-date-header.js +parallel/test-http2-debug.js +parallel/test-http2-destroy-after-write.js +parallel/test-http2-dont-lose-data.js +parallel/test-http2-dont-override.js +parallel/test-http2-empty-frame-without-eof.js +parallel/test-http2-endafterheaders.js +parallel/test-http2-error-order.js +parallel/test-http2-exceeds-server-trailer-size.js +parallel/test-http2-forget-closed-streams.js +parallel/test-http2-generic-streams.js +parallel/test-http2-generic-streams-sendfile.js +parallel/test-http2-getpackedsettings.js +parallel/test-http2-goaway-delayed-request.js +parallel/test-http2-goaway-opaquedata.js +parallel/test-http2-head-request.js +parallel/test-http2-https-fallback-http-server-options.js +parallel/test-http2-https-fallback.js +parallel/test-http2-info-headers-errors.js +parallel/test-http2-info-headers.js +parallel/test-http2-invalidargtypes-errors.js +parallel/test-http2-invalidheaderfield.js +parallel/test-http2-invalidheaderfields-client.js +parallel/test-http2-ip-address-host.js +parallel/test-http2-large-write-close.js +parallel/test-http2-large-write-destroy.js +parallel/test-http2-large-write-multiple-requests.js +parallel/test-http2-large-writes-session-memory-leak.js +parallel/test-http2-malformed-altsvc.js +parallel/test-http2-many-writes-and-destroy.js +parallel/test-http2-max-concurrent-streams.js +parallel/test-http2-max-invalid-frames.js +parallel/test-http2-max-session-memory-leak.js +parallel/test-http2-max-settings.js +parallel/test-http2-methods.js +parallel/test-http2-misbehaving-flow-control.js +parallel/test-http2-misbehaving-flow-control-paused.js +parallel/test-http2-misbehaving-multiplex.js +parallel/test-http2-misc-util.js +parallel/test-http2-misused-pseudoheaders.js +parallel/test-http2-multi-content-length.js +parallel/test-http2-multiheaders.js +parallel/test-http2-multiheaders-raw.js +parallel/test-http2-multiplex.js +parallel/test-http2-multistream-destroy-on-read-tls.js +parallel/test-http2-no-more-streams.js +parallel/test-http2-no-wanttrailers-listener.js +parallel/test-http2-onping.js +parallel/test-http2-options-max-headers-block-length.js +parallel/test-http2-options-max-headers-exceeds-nghttp2.js +parallel/test-http2-options-max-reserved-streams.js +parallel/test-http2-options-server-request.js +parallel/test-http2-options-server-response.js +parallel/test-http2-origin.js +parallel/test-http2-pack-end-stream-flag.js +parallel/test-http2-padding-aligned.js +parallel/test-http2-perf_hooks.js +parallel/test-http2-perform-server-handshake.js +parallel/test-http2-ping.js +parallel/test-http2-ping-settings-heapdump.js +parallel/test-http2-ping-unsolicited-ack.js +parallel/test-http2-pipe.js +parallel/test-http2-pipe-named-pipe.js +parallel/test-http2-priority-cycle-.js +parallel/test-http2-priority-event.js +parallel/test-http2-propagate-session-destroy-code.js +parallel/test-http2-removed-header-stays-removed.js +parallel/test-http2-request-remove-connect-listener.js +parallel/test-http2-request-response-proto.js +parallel/test-http2-res-corked.js +parallel/test-http2-reset-flood.js +parallel/test-http2-respond-errors.js +parallel/test-http2-respond-file-204.js +parallel/test-http2-respond-file-304.js +parallel/test-http2-respond-file-404.js +parallel/test-http2-respond-file-compat.js +parallel/test-http2-respond-file-error-dir.js +parallel/test-http2-respond-file-error-pipe-offset.js +parallel/test-http2-respond-file-errors.js +parallel/test-http2-respond-file-fd-errors.js +parallel/test-http2-respond-file-fd-invalid.js +parallel/test-http2-respond-file-fd.js +parallel/test-http2-respond-file-fd-range.js +parallel/test-http2-respond-file-filehandle.js +parallel/test-http2-respond-file.js +parallel/test-http2-respond-file-push.js +parallel/test-http2-respond-file-range.js +parallel/test-http2-respond-file-with-pipe.js +parallel/test-http2-respond-nghttperrors.js +parallel/test-http2-respond-no-data.js +parallel/test-http2-respond-with-fd-errors.js +parallel/test-http2-respond-with-file-connection-abort.js +parallel/test-http2-response-splitting.js +parallel/test-http2-res-writable-properties.js +parallel/test-http2-sensitive-headers.js +parallel/test-http2-sent-headers.js +parallel/test-http2-serve-file.js +parallel/test-http2-server-async-dispose.js +parallel/test-http2-server-close-callback.js +parallel/test-http2-server-errors.js +parallel/test-http2-server-http1-client.js +parallel/test-http2-server-push-disabled.js +parallel/test-http2-server-push-stream-errors-args.js +parallel/test-http2-server-push-stream-errors.js +parallel/test-http2-server-push-stream-head.js +parallel/test-http2-server-push-stream.js +parallel/test-http2-server-rst-before-respond.js +parallel/test-http2-server-rst-stream.js +parallel/test-http2-server-session-destroy.js +parallel/test-http2-server-sessionerror.js +parallel/test-http2-server-set-header.js +parallel/test-http2-server-setLocalWindowSize.js +parallel/test-http2-server-settimeout-no-callback.js +parallel/test-http2-server-shutdown-before-respond.js +parallel/test-http2-server-shutdown-options-errors.js +parallel/test-http2-server-shutdown-redundant.js +parallel/test-http2-server-socket-destroy.js +parallel/test-http2-server-startup.js +parallel/test-http2-server-stream-session-destroy.js +parallel/test-http2-server-timeout.js +parallel/test-http2-server-unknown-protocol.js +parallel/test-http2-session-gc-while-write-scheduled.js +parallel/test-http2-session-settings.js +parallel/test-http2-session-stream-state.js +parallel/test-http2-session-timeout.js +parallel/test-http2-session-unref.js +parallel/test-http2-settings-unsolicited-ack.js +parallel/test-http2-short-stream-client-server.js +parallel/test-http2-single-headers.js +parallel/test-http2-socket-close.js +parallel/test-http2-socket-proxy-handler-for-has.js +parallel/test-http2-socket-proxy.js +parallel/test-http2-status-code-invalid.js +parallel/test-http2-status-code.js +parallel/test-http2-stream-client.js +parallel/test-http2-stream-destroy-event-order.js +parallel/test-http2-stream-removelisteners-after-close.js +parallel/test-http2-timeouts.js +parallel/test-http2-tls-disconnect.js +parallel/test-http2-too-large-headers.js +parallel/test-http2-too-many-headers.js +parallel/test-http2-too-many-settings.js +parallel/test-http2-too-many-streams.js +parallel/test-http2-trailers-after-session-close.js +parallel/test-http2-trailers.js +parallel/test-http2-unbound-socket-proxy.js +parallel/test-http2-update-settings.js +parallel/test-http2-util-asserts.js +parallel/test-http2-util-assert-valid-pseudoheader.js +parallel/test-http2-util-headers-list.js +parallel/test-http2-util-nghttp2error.js +parallel/test-http2-util-update-options-buffer.js +parallel/test-http2-window-size.js +parallel/test-http2-write-callbacks.js +parallel/test-http2-write-empty-string.js +parallel/test-http2-write-finishes-after-stream-destroy.js +parallel/test-http2-zero-length-header.js +parallel/test-http2-zero-length-write.js +parallel/test-http-abort-before-end.js +parallel/test-http-abort-client.js +parallel/test-http-aborted.js +parallel/test-http-abort-queued.js +parallel/test-http-abort-stream-end.js +parallel/test-http-addrequest-localaddress.js +parallel/test-http-after-connect.js +parallel/test-http-agent-abort-controller.js +parallel/test-http-agent-close.js +parallel/test-http-agent-destroyed-socket.js +parallel/test-http-agent-domain-reused-gc.js +parallel/test-http-agent-error-on-idle.js +parallel/test-http-agent-false.js +parallel/test-http-agent-getname.js +parallel/test-http-agent.js +parallel/test-http-agent-keepalive-delay.js +parallel/test-http-agent-keepalive.js +parallel/test-http-agent-maxsockets.js +parallel/test-http-agent-maxsockets-respected.js +parallel/test-http-agent-maxtotalsockets.js +parallel/test-http-agent-no-protocol.js +parallel/test-http-agent-null.js +parallel/test-http-agent-remove.js +parallel/test-http-agent-reuse-drained-socket-only.js +parallel/test-http-agent-scheduling.js +parallel/test-http-agent-timeout.js +parallel/test-http-agent-timeout-option.js +parallel/test-http-agent-uninitialized.js +parallel/test-http-agent-uninitialized-with-handle.js +parallel/test-http-allow-content-length-304.js +parallel/test-http-allow-req-after-204-res.js +parallel/test-http-automatic-headers.js +parallel/test-http-autoselectfamily.js +parallel/test-http-bind-twice.js +parallel/test-http-blank-header.js +parallel/test-http-buffer-sanity.js +parallel/test-http-byteswritten.js +parallel/test-http-catch-uncaughtexception.js +parallel/test-http-chunked-304.js +parallel/test-http-chunked.js +parallel/test-http-chunked-smuggling.js +parallel/test-http-chunk-extensions-limit.js +parallel/test-http-chunk-problem.js +parallel/test-http-client-abort2.js +parallel/test-http-client-abort3.js +parallel/test-http-client-abort-destroy.js +parallel/test-http-client-aborted-event.js +parallel/test-http-client-abort-event.js +parallel/test-http-client-abort.js +parallel/test-http-client-abort-keep-alive-destroy-res.js +parallel/test-http-client-abort-keep-alive-queued-tcp-socket.js +parallel/test-http-client-abort-keep-alive-queued-unix-socket.js +parallel/test-http-client-abort-no-agent.js +parallel/test-http-client-abort-response-event.js +parallel/test-http-client-abort-unix-socket.js +parallel/test-http-client-agent-abort-close-event.js +parallel/test-http-client-agent-end-close-event.js +parallel/test-http-client-agent.js +parallel/test-http-client-check-http-token.js +parallel/test-http-client-close-event.js +parallel/test-http-client-close-with-default-agent.js +parallel/test-http-client-default-headers-exist.js +parallel/test-http-client-defaults.js +parallel/test-http-client-encoding.js +parallel/test-http-client-error-rawbytes.js +parallel/test-http-client-finished.js +parallel/test-http-client-get-url.js +parallel/test-http-client-headers-array.js +parallel/test-http-client-headers-host-array.js +parallel/test-http-client-immediate-error.js +parallel/test-http-client-incomingmessage-destroy.js +parallel/test-http-client-input-function.js +parallel/test-http-client-insecure-http-parser-error.js +parallel/test-http-client-invalid-path.js +parallel/test-http-client-keep-alive-hint.js +parallel/test-http-client-keep-alive-release-before-finish.js +parallel/test-http-client-override-global-agent.js +parallel/test-http-client-parse-error.js +parallel/test-http-client-pipe-end.js +parallel/test-http-client-race-2.js +parallel/test-http-client-race.js +parallel/test-http-client-readable.js +parallel/test-http-client-read-in-error.js +parallel/test-http-client-reject-chunked-with-content-length.js +parallel/test-http-client-reject-cr-no-lf.js +parallel/test-http-client-reject-unexpected-agent.js +parallel/test-http-client-req-error-dont-double-fire.js +parallel/test-http-client-request-options.js +parallel/test-http-client-res-destroyed.js +parallel/test-http-client-response-domain.js +parallel/test-http-client-response-timeout.js +parallel/test-http-client-set-timeout-after-end.js +parallel/test-http-client-set-timeout.js +parallel/test-http-client-spurious-aborted.js +parallel/test-http-client-timeout-agent.js +parallel/test-http-client-timeout-connect-listener.js +parallel/test-http-client-timeout-event.js +parallel/test-http-client-timeout.js +parallel/test-http-client-timeout-on-connect.js +parallel/test-http-client-timeout-option.js +parallel/test-http-client-timeout-option-listeners.js +parallel/test-http-client-timeout-option-with-agent.js +parallel/test-http-client-timeout-with-data.js +parallel/test-http-client-unescaped-path.js +parallel/test-http-client-upload-buf.js +parallel/test-http-client-upload.js +parallel/test-http-client-with-create-connection.js +parallel/test-http-common.js +parallel/test-http-connect.js +parallel/test-http-connect-req-res.js +parallel/test-http-conn-reset.js +parallel/test-http-contentLength0.js +parallel/test-http-content-length.js +parallel/test-http-content-length-mismatch.js +parallel/test-http-correct-hostname.js +parallel/test-http-createConnection.js +parallel/test-http-date-header.js +parallel/test-http-debug.js +parallel/test-http-decoded-auth.js +parallel/test-http-default-encoding.js +parallel/test-http-default-port.js +parallel/test-http-destroyed-socket-write2.js +parallel/test-http-dns-error.js +parallel/test-http-dont-set-default-headers.js +parallel/test-http-dont-set-default-headers-with-set-header.js +parallel/test-http-dont-set-default-headers-with-setHost.js +parallel/test-http-double-content-length.js +parallel/test-http-dummy-characters-smuggling.js +parallel/test-http-dump-req-when-res-ends.js +parallel/test-http-early-hints-invalid-argument.js +parallel/test-http-early-hints.js +parallel/test-http-end-throw-socket-handling.js +parallel/test-http-eof-on-connect.js +parallel/test-http-exceptions.js +parallel/test-http-expect-continue.js +parallel/test-http-expect-handling.js +parallel/test-http-extra-response.js +parallel/test-http-flush-headers.js +parallel/test-http-flush-response-headers.js +parallel/test-http-full-response.js +parallel/test-http-generic-streams.js +parallel/test-http-get-pipeline-problem.js +parallel/test-http-header-badrequest.js +parallel/test-http-header-obstext.js +parallel/test-http-header-overflow.js +parallel/test-http-header-owstext.js +parallel/test-http-header-read.js +parallel/test-http-header-validators.js +parallel/test-http-head-request.js +parallel/test-http-head-response-has-no-body-end-implicit-headers.js +parallel/test-http-head-response-has-no-body-end.js +parallel/test-http-head-response-has-no-body.js +parallel/test-http-head-throw-on-response-body-write.js +parallel/test-http-hex-write.js +parallel/test-http-highwatermark.js +parallel/test-http-host-header-ipv6-fail.js +parallel/test-http-host-headers.js +parallel/test-http-hostname-typechecking.js +parallel/test-http-import-websocket.js +parallel/test-http-incoming-matchKnownFields.js +parallel/test-http-incoming-message-connection-setter.js +parallel/test-http-incoming-message-destroy.js +parallel/test-http-incoming-message-options.js +parallel/test-http-incoming-pipelined-socket-destroy.js +parallel/test-http-information-headers.js +parallel/test-http-information-processing.js +parallel/test-http-insecure-parser.js +parallel/test-http-insecure-parser-per-stream.js +parallel/test-http-invalidheaderfield2.js +parallel/test-http-invalidheaderfield.js +parallel/test-http-invalid-path-chars.js +parallel/test-http-invalid-te.js +parallel/test-http-invalid-urls.js +parallel/test-http.js +parallel/test-http-keepalive-client.js +parallel/test-http-keep-alive-close-on-header.js +parallel/test-http-keep-alive-drop-requests.js +parallel/test-http-keepalive-free.js +parallel/test-http-keep-alive.js +parallel/test-http-keep-alive-max-requests.js +parallel/test-http-keepalive-override.js +parallel/test-http-keep-alive-pipeline-max-requests.js +parallel/test-http-keepalive-request.js +parallel/test-http-keep-alive-timeout-custom.js +parallel/test-http-keep-alive-timeout.js +parallel/test-http-keep-alive-timeout-race-condition.js +parallel/test-http-listening.js +parallel/test-http-localaddress-bind-error.js +parallel/test-http-localaddress.js +parallel/test-http-malformed-request.js +parallel/test-http-many-ended-pipelines.js +parallel/test-http-max-headers-count.js +parallel/test-http-max-header-size.js +parallel/test-http-max-header-size-per-stream.js +parallel/test-http-max-http-headers.js +parallel/test-http-max-sockets.js +parallel/test-http-methods.js +parallel/test-http-missing-header-separator-cr.js +parallel/test-http-missing-header-separator-lf.js +parallel/test-http-multi-line-headers.js +parallel/test-http-multiple-headers.js +parallel/test-http-mutable-headers.js +parallel/test-http-no-content-length.js +parallel/test-http-nodelay.js +parallel/test-http-no-read-no-dump.js +parallel/test-http-outgoing-buffer.js +parallel/test-http-outgoing-destroyed.js +parallel/test-http-outgoing-destroy.js +parallel/test-http-outgoing-end-cork.js +parallel/test-http-outgoing-end-multiple.js +parallel/test-http-outgoing-end-types.js +parallel/test-http-outgoing-finished.js +parallel/test-http-outgoing-finish.js +parallel/test-http-outgoing-finish-writable.js +parallel/test-http-outgoing-first-chunk-singlebyte-encoding.js +parallel/test-http-outgoing-internal-headernames-getter.js +parallel/test-http-outgoing-internal-headernames-setter.js +parallel/test-http-outgoing-internal-headers.js +parallel/test-http-outgoing-message-capture-rejection.js +parallel/test-http-outgoing-message-inheritance.js +parallel/test-http-outgoing-message-write-callback.js +parallel/test-http-outgoing-properties.js +parallel/test-http-outgoing-proto.js +parallel/test-http-outgoing-renderHeaders.js +parallel/test-http-outgoing-settimeout.js +parallel/test-http-outgoing-writableFinished.js +parallel/test-http-outgoing-write-types.js +parallel/test-http-parser-bad-ref.js +parallel/test-http-parser-finish-error.js +parallel/test-http-parser-freed-before-upgrade.js +parallel/test-http-parser-free.js +parallel/test-http-parser.js +parallel/test-http-parser-lazy-loaded.js +parallel/test-http-parser-memory-retention.js +parallel/test-http-parser-multiple-execute.js +parallel/test-http-parser-timeout-reset.js +parallel/test-http-pause.js +parallel/test-http-pause-no-dump.js +parallel/test-http-pause-resume-one-end.js +parallel/test-http-perf_hooks.js +parallel/test-http-pipe-fs.js +parallel/test-http-pipeline-assertionerror-finish.js +parallel/test-http-pipeline-flood.js +parallel/test-http-pipeline-requests-connection-leak.js +parallel/test-http-pipeline-socket-parser-typeerror.js +parallel/test-http-proxy.js +parallel/test-http-raw-headers.js +parallel/test-http-readable-data-event.js +parallel/test-http-remove-connection-header-persists-connection.js +parallel/test-http-remove-header-stays-removed.js +parallel/test-http-req-close-robust-from-tampering.js +parallel/test-http-req-res-close.js +parallel/test-http-request-agent.js +parallel/test-http-request-arguments.js +parallel/test-http-request-dont-override-options.js +parallel/test-http-request-end.js +parallel/test-http-request-end-twice.js +parallel/test-http-request-host-header.js +parallel/test-http-request-invalid-method-error.js +parallel/test-http-request-join-authorization-headers.js +parallel/test-http-request-large-payload.js +parallel/test-http-request-method-delete-payload.js +parallel/test-http-request-methods.js +parallel/test-http-request-smuggling-content-length.js +parallel/test-http-response-add-header-after-sent.js +parallel/test-http-response-close.js +parallel/test-http-response-cork.js +parallel/test-http-response-multi-content-length.js +parallel/test-http-response-multiheaders.js +parallel/test-http-response-no-headers.js +parallel/test-http-response-readable.js +parallel/test-http-response-remove-header-after-sent.js +parallel/test-http-response-setheaders.js +parallel/test-http-response-splitting.js +parallel/test-http-response-statuscode.js +parallel/test-http-response-status-message.js +parallel/test-http-response-writehead-returns-this.js +parallel/test-http-res-write-after-end.js +parallel/test-http-res-write-end-dont-take-array.js +parallel/test-https-abortcontroller.js +parallel/test-https-agent-abort-controller.js +parallel/test-https-agent-constructor.js +parallel/test-https-agent-create-connection.js +parallel/test-https-agent-disable-session-reuse.js +parallel/test-https-agent-getname.js +parallel/test-https-agent.js +parallel/test-https-agent-keylog.js +parallel/test-https-agent-servername.js +parallel/test-https-agent-session-eviction.js +parallel/test-https-agent-session-injection.js +parallel/test-https-agent-session-reuse.js +parallel/test-https-agent-sni.js +parallel/test-https-agent-sockets-leak.js +parallel/test-https-agent-unref-socket.js +parallel/test-http-same-map.js +parallel/test-https-argument-of-creating.js +parallel/test-https-autoselectfamily.js +parallel/test-https-byteswritten.js +parallel/test-https-client-checkServerIdentity.js +parallel/test-https-client-get-url.js +parallel/test-https-client-override-global-agent.js +parallel/test-https-client-reject.js +parallel/test-https-client-renegotiation-limit.js +parallel/test-https-client-resume.js +parallel/test-https-close.js +parallel/test-https-connect-address-family.js +parallel/test-https-connecting-to-http.js +parallel/test-https-drain.js +parallel/test-https-eof-for-eom.js +parallel/test-http-server-async-dispose.js +parallel/test-http-server-capture-rejections.js +parallel/test-http-server-clear-timer.js +parallel/test-http-server-client-error.js +parallel/test-http-server-close-all.js +parallel/test-http-server-close-destroy-timeout.js +parallel/test-http-server-close-idle.js +parallel/test-http-server-close-idle-wait-response.js +parallel/test-http-server-connection-list-when-close.js +parallel/test-http-server-connections-checking-leak.js +parallel/test-http-server-consumed-timeout.js +parallel/test-http-server-de-chunked-trailer.js +parallel/test-http-server-delete-parser.js +parallel/test-http-server-destroy-socket-on-client-error.js +parallel/test-http-server-headers-timeout-delayed-headers.js +parallel/test-http-server-headers-timeout-interrupted-headers.js +parallel/test-http-server-headers-timeout-keepalive.js +parallel/test-http-server-headers-timeout-pipelining.js +parallel/test-http-server-incomingmessage-destroy.js +parallel/test-http-server.js +parallel/test-http-server-keep-alive-defaults.js +parallel/test-http-server-keepalive-end.js +parallel/test-http-server-keep-alive-max-requests-null.js +parallel/test-http-server-keepalive-req-gc.js +parallel/test-http-server-keep-alive-timeout.js +parallel/test-http-server-method.query.js +parallel/test-http-server-multiheaders2.js +parallel/test-http-server-multiheaders.js +parallel/test-http-server-multiple-client-error.js +parallel/test-http-server-non-utf8-header.js +parallel/test-http-server-options-highwatermark.js +parallel/test-http-server-options-incoming-message.js +parallel/test-http-server-options-server-response.js +parallel/test-http-server-reject-chunked-with-content-length.js +parallel/test-http-server-reject-cr-no-lf.js +parallel/test-http-server-request-timeout-delayed-body.js +parallel/test-http-server-request-timeout-delayed-headers.js +parallel/test-http-server-request-timeout-interrupted-body.js +parallel/test-http-server-request-timeout-interrupted-headers.js +parallel/test-http-server-request-timeout-keepalive.js +parallel/test-http-server-request-timeout-pipelining.js +parallel/test-http-server-request-timeout-upgrade.js +parallel/test-http-server-response-standalone.js +parallel/test-http-server-stale-close.js +parallel/test-http-server-timeouts-validation.js +parallel/test-http-server-unconsume-consume.js +parallel/test-http-server-unconsume.js +parallel/test-http-server-write-after-end.js +parallel/test-http-server-write-end-after-end.js +parallel/test-http-set-cookies.js +parallel/test-http-set-header-chain.js +parallel/test-http-set-max-idle-http-parser.js +parallel/test-http-set-timeout.js +parallel/test-http-set-timeout-server.js +parallel/test-http-set-trailers.js +parallel/test-https-foafssl.js +parallel/test-https-host-headers.js +parallel/test-http-should-keep-alive.js +parallel/test-https-hwm.js +parallel/test-https-insecure-parse-per-stream.js +parallel/test-https-keep-alive-drop-requests.js +parallel/test-https-localaddress-bind-error.js +parallel/test-https-localaddress.js +parallel/test-https-max-headers-count.js +parallel/test-https-max-header-size-per-stream.js +parallel/test-http-socket-encoding-error.js +parallel/test-http-socket-error-listeners.js +parallel/test-https-options-boolean-check.js +parallel/test-https-pfx.js +parallel/test-https-request-arguments.js +parallel/test-https-resume-after-renew.js +parallel/test-https-selfsigned-no-keycertsign-no-crash.js +parallel/test-https-server-async-dispose.js +parallel/test-https-server-close-all.js +parallel/test-https-server-close-destroy-timeout.js +parallel/test-https-server-close-idle.js +parallel/test-https-server-connections-checking-leak.js +parallel/test-https-server-headers-timeout.js +parallel/test-https-server-options-incoming-message.js +parallel/test-https-server-options-server-response.js +parallel/test-https-server-request-timeout.js +parallel/test-https-set-timeout-server.js +parallel/test-https-simple.js +parallel/test-https-socket-options.js +parallel/test-https-strict.js +parallel/test-http-status-code.js +parallel/test-http-status-message.js +parallel/test-http-status-reason-invalid-chars.js +parallel/test-https-timeout.js +parallel/test-https-timeout-server-2.js +parallel/test-https-timeout-server.js +parallel/test-https-truncate.js +parallel/test-https-unix-socket-self-signed.js +parallel/test-http-sync-write-error-during-continue.js +parallel/test-http-timeout-client-warning.js +parallel/test-http-timeout.js +parallel/test-http-timeout-overflow.js +parallel/test-http-transfer-encoding-repeated-chunked.js +parallel/test-http-transfer-encoding-smuggling.js +parallel/test-http-uncaught-from-request-callback.js +parallel/test-http-unix-socket.js +parallel/test-http-unix-socket-keep-alive.js +parallel/test-http-upgrade-advertise.js +parallel/test-http-upgrade-agent.js +parallel/test-http-upgrade-binary.js +parallel/test-http-upgrade-client2.js +parallel/test-http-upgrade-client.js +parallel/test-http-upgrade-reconsume-stream.js +parallel/test-http-upgrade-server2.js +parallel/test-http-upgrade-server.js +parallel/test-http-url.parse-auth.js +parallel/test-http-url.parse-auth-with-header-in-request.js +parallel/test-http-url.parse-basic.js +parallel/test-http-url.parse-https.request.js +parallel/test-http-url.parse-only-support-http-https-protocol.js +parallel/test-http-url.parse-path.js +parallel/test-http-url.parse-post.js +parallel/test-http-url.parse-search.js +parallel/test-http-wget.js +parallel/test-http-writable-true-after-close.js +parallel/test-http-write-callbacks.js +parallel/test-http-write-empty-string.js +parallel/test-http-write-head-2.js +parallel/test-http-write-head-after-set-header.js +parallel/test-http-write-head.js +parallel/test-http-zerolengthbuffer.js +parallel/test-http-zero-length-write.js +parallel/test-icu-data-dir.js +parallel/test-icu-env.js +parallel/test-icu-minimum-version.js +parallel/test-icu-stringwidth.js +parallel/test-icu-transcode.js +parallel/test-inspect-address-in-use.js +parallel/test-inspect-async-hook-setup-at-inspect.js +parallel/test-inspector-already-activated-cli.js +parallel/test-inspector-async-call-stack-abort.js +parallel/test-inspector-async-call-stack.js +parallel/test-inspector-async-context-brk.js +parallel/test-inspector-async-hook-after-done.js +parallel/test-inspector-async-hook-setup-at-inspect-brk.js +parallel/test-inspector-async-hook-setup-at-signal.js +parallel/test-inspector-async-stack-traces-promise-then.js +parallel/test-inspector-async-stack-traces-set-interval.js +parallel/test-inspector-bindings.js +parallel/test-inspector-break-e.js +parallel/test-inspector-break-when-eval.js +parallel/test-inspector-close-worker.js +parallel/test-inspector-connect-main-thread.js +parallel/test-inspector-connect-to-main-thread.js +parallel/test-inspector-console.js +parallel/test-inspector-console-top-frame.js +parallel/test-inspector-contexts.js +parallel/test-inspector-debug-brk-flag.js +parallel/test-inspector-debug-end.js +parallel/test-inspector-emit-protocol-event.js +parallel/test-inspector-enabled.js +parallel/test-inspector-esm.js +parallel/test-inspector-exception.js +parallel/test-inspector-exit-worker-in-wait-for-connection2.js +parallel/test-inspector-exit-worker-in-wait-for-connection.js +parallel/test-inspector-has-idle.js +parallel/test-inspector-has-inspector-false.js +parallel/test-inspector-heap-allocation-tracker.js +parallel/test-inspector-heapdump.js +parallel/test-inspector-inspect-brk-node.js +parallel/test-inspector-invalid-args.js +parallel/test-inspector-ip-detection.js +parallel/test-inspector.js +parallel/test-inspector-module.js +parallel/test-inspector-multisession-js.js +parallel/test-inspector-multisession-ws.js +parallel/test-inspector-network-fetch.js +parallel/test-inspector-network-http.js +parallel/test-inspector-not-blocked-on-idle.js +parallel/test-inspector-open-coverage.js +parallel/test-inspector-open.js +parallel/test-inspector-open-port-integer-overflow.js +parallel/test-inspector-port-zero-cluster.js +parallel/test-inspector-port-zero.js +parallel/test-inspector-promises.js +parallel/test-inspector-reported-host.js +parallel/test-inspector-resource-name-to-url.js +parallel/test-inspector-runtime-evaluate-with-timeout.js +parallel/test-inspector-scriptparsed-context.js +parallel/test-inspector-stop-profile-after-done.js +parallel/test-inspector-stops-no-file.js +parallel/test-inspector-stress-http.js +parallel/test-inspector-strip-types.js +parallel/test-inspector-tracing-domain.js +parallel/test-inspector-vm-global-accessors-getter-sideeffect.js +parallel/test-inspector-vm-global-accessors-sideeffects.js +parallel/test-inspector-wait-for-connection.js +parallel/test-inspector-waiting-for-disconnect.js +parallel/test-inspector-workers-flat-list.js +parallel/test-inspect-publish-uid.js +parallel/test-inspect-support-for-node_options.js +parallel/test-instanceof.js +parallel/test-internal-assert.js +parallel/test-internal-error-original-names.js +parallel/test-internal-errors.js +parallel/test-internal-fs.js +parallel/test-internal-fs-syncwritestream.js +parallel/test-internal-module-require.js +parallel/test-internal-modules.js +parallel/test-internal-module-wrap.js +parallel/test-internal-only-binding.js +parallel/test-internal-process-binding.js +parallel/test-internal-socket-list-receive.js +parallel/test-internal-socket-list-send.js +parallel/test-internal-util-assertCrypto.js +parallel/test-internal-util-classwrapper.js +parallel/test-internal-util-decorate-error-stack.js +parallel/test-internal-util-helpers.js +parallel/test-internal-util-normalizeencoding.js +parallel/test-internal-util-objects.js +parallel/test-internal-util-weakreference.js +parallel/test-internal-validators-validateoneof.js +parallel/test-internal-validators-validateport.js +parallel/test-internal-webidl-converttoint.js +parallel/test-intl.js +parallel/test-intl-v8BreakIterator.js +parallel/test-js-stream-call-properties.js +parallel/test-kill-segfault-freebsd.js +parallel/test-listen-fd-cluster.js +parallel/test-listen-fd-detached-inherit.js +parallel/test-listen-fd-detached.js +parallel/test-listen-fd-server.js +parallel/test-macos-app-sandbox.js +parallel/test-math-random.js +parallel/test-memory-usage-emfile.js +parallel/test-memory-usage.js +parallel/test-messagechannel.js +parallel/test-messageevent-brandcheck.js +parallel/test-messageport-hasref.js +parallel/test-messaging-marktransfermode.js +parallel/test-microtask-queue-integration.js +parallel/test-microtask-queue-run-immediate.js +parallel/test-microtask-queue-run.js +parallel/test-mime-api.js +parallel/test-mime-whatwg.js +parallel/test-module-builtin.js +parallel/test-module-cache.js +parallel/test-module-children.js +parallel/test-module-circular-dependency-warning.js +parallel/test-module-circular-symlinks.js +parallel/test-module-create-require.js +parallel/test-module-create-require-multibyte.js +parallel/test-module-globalpaths-nodepath.js +parallel/test-module-isBuiltin.js +parallel/test-module-loading-deprecated.js +parallel/test-module-loading-error.js +parallel/test-module-loading-globalpaths.js +parallel/test-module-main-extension-lookup.js +parallel/test-module-main-fail.js +parallel/test-module-main-preserve-symlinks-fail.js +parallel/test-module-multi-extensions.js +parallel/test-module-nodemodulepaths.js +parallel/test-module-parent-deprecation.js +parallel/test-module-parent-setter-deprecation.js +parallel/test-module-prototype-mutation.js +parallel/test-module-readonly.js +parallel/test-module-relative-lookup.js +parallel/test-module-run-main-monkey-patch.js +parallel/test-module-setsourcemapssupport.js +parallel/test-module-stat.js +parallel/test-module-strip-types.js +parallel/test-module-symlinked-peer-modules.js +parallel/test-module-version.js +parallel/test-module-wrap.js +parallel/test-module-wrapper.js +parallel/test-navigator.js +parallel/test-net-access-byteswritten.js +parallel/test-net-after-close.js +parallel/test-net-allow-half-open.js +parallel/test-net-autoselectfamily-attempt-timeout-cli-option.js +parallel/test-net-autoselectfamily-attempt-timeout-default-value.js +parallel/test-net-autoselectfamily-commandline-option.js +parallel/test-net-autoselectfamily-default.js +parallel/test-net-autoselectfamily-ipv4first.js +parallel/test-net-autoselectfamily.js +parallel/test-net-better-error-messages-listen.js +parallel/test-net-better-error-messages-listen-path.js +parallel/test-net-better-error-messages-path.js +parallel/test-net-better-error-messages-port-hostname.js +parallel/test-net-binary.js +parallel/test-net-bind-twice.js +parallel/test-net-blocklist.js +parallel/test-net-buffersize.js +parallel/test-net-bytes-read.js +parallel/test-net-bytes-stats.js +parallel/test-net-bytes-written-large.js +parallel/test-net-can-reset-timeout.js +parallel/test-net-child-process-connect-reset.js +parallel/test-net-client-bind-twice.js +parallel/test-net-connect-abort-controller.js +parallel/test-net-connect-after-destroy.js +parallel/test-net-connect-buffer2.js +parallel/test-net-connect-buffer.js +parallel/test-net-connect-call-socket-connect.js +parallel/test-net-connect-destroy.js +parallel/test-net-connect-immediate-destroy.js +parallel/test-net-connect-immediate-finish.js +parallel/test-net-connect-keepalive.js +parallel/test-net-connect-memleak.js +parallel/test-net-connect-no-arg.js +parallel/test-net-connect-nodelay.js +parallel/test-net-connect-options-allowhalfopen.js +parallel/test-net-connect-options-fd.js +parallel/test-net-connect-options-invalid.js +parallel/test-net-connect-options-ipv6.js +parallel/test-net-connect-options-path.js +parallel/test-net-connect-options-port.js +parallel/test-net-connect-paused-connection.js +parallel/test-net-connect-reset-after-destroy.js +parallel/test-net-connect-reset-before-connected.js +parallel/test-net-connect-reset.js +parallel/test-net-connect-reset-until-connected.js +parallel/test-net-deprecated-setsimultaneousaccepts.js +parallel/test-net-dns-custom-lookup.js +parallel/test-net-dns-error.js +parallel/test-net-dns-lookup.js +parallel/test-net-dns-lookup-skip.js +parallel/test-net-during-close.js +parallel/test-net-eaddrinuse.js +parallel/test-net-end-close.js +parallel/test-net-end-destroyed.js +parallel/test-net-end-without-connect.js +parallel/test-net-error-twice.js +parallel/test-net-isip.js +parallel/test-net-isipv4.js +parallel/test-net-isipv6.js +parallel/test-net-keepalive.js +parallel/test-net-large-string.js +parallel/test-net-listen-after-destroying-stdin.js +parallel/test-net-listen-close-server-callback-is-not-function.js +parallel/test-net-listen-close-server.js +parallel/test-net-listen-error.js +parallel/test-net-listen-exclusive-random-ports.js +parallel/test-net-listen-fd0.js +parallel/test-net-listen-handle-in-cluster-1.js +parallel/test-net-listen-handle-in-cluster-2.js +parallel/test-net-listening.js +parallel/test-net-listen-invalid-port.js +parallel/test-net-listen-ipv6only.js +parallel/test-net-listen-twice.js +parallel/test-net-local-address-port.js +parallel/test-net-localerror.js +parallel/test-net-normalize-args.js +parallel/test-net-onread-static-buffer.js +parallel/test-net-options-lookup.js +parallel/test-net-pause-resume-connecting.js +parallel/test-net-perf_hooks.js +parallel/test-net-persistent-keepalive.js +parallel/test-net-persistent-nodelay.js +parallel/test-net-persistent-ref-unref.js +parallel/test-net-pingpong.js +parallel/test-net-pipe-connect-errors.js +parallel/test-net-reconnect.js +parallel/test-net-remote-address.js +parallel/test-net-remote-address-port.js +parallel/test-net-reuseport.js +parallel/test-net-server-blocklist.js +parallel/test-net-server-call-listen-multiple-times.js +parallel/test-net-server-capture-rejection.js +parallel/test-net-server-close-before-calling-lookup-callback.js +parallel/test-net-server-close-before-ipc-response.js +parallel/test-net-server-close.js +parallel/test-net-server-drop-connections-in-cluster.js +parallel/test-net-server-drop-connections.js +parallel/test-net-server-keepalive.js +parallel/test-net-server-listen-handle.js +parallel/test-net-server-listen-options.js +parallel/test-net-server-listen-options-signal.js +parallel/test-net-server-listen-path.js +parallel/test-net-server-listen-remove-callback.js +parallel/test-net-server-max-connections-close-makes-more-available.js +parallel/test-net-server-max-connections.js +parallel/test-net-server-nodelay.js +parallel/test-net-server-options.js +parallel/test-net-server-pause-on-connect.js +parallel/test-net-server-reset.js +parallel/test-net-server-simultaneous-accepts-produce-warning-once.js +parallel/test-net-server-try-ports.js +parallel/test-net-server-unref.js +parallel/test-net-server-unref-persistent.js +parallel/test-net-settimeout.js +parallel/test-net-socket-byteswritten.js +parallel/test-net-socket-close-after-end.js +parallel/test-net-socket-connecting.js +parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js +parallel/test-net-socket-connect-invalid-autoselectfamily.js +parallel/test-net-socket-constructor.js +parallel/test-net-socket-destroy-send.js +parallel/test-net-socket-destroy-twice.js +parallel/test-net-socket-end-before-connect.js +parallel/test-net-socket-end-callback.js +parallel/test-net-socket-local-address.js +parallel/test-net-socket-no-halfopen-enforcer.js +parallel/test-net-socket-ready-without-cb.js +parallel/test-net-socket-reset-send.js +parallel/test-net-socket-reset-twice.js +parallel/test-net-socket-setnodelay.js +parallel/test-net-socket-timeout.js +parallel/test-net-socket-timeout-unref.js +parallel/test-net-socket-write-after-close.js +parallel/test-net-socket-write-error.js +parallel/test-net-stream.js +parallel/test-net-sync-cork.js +parallel/test-net-throttle.js +parallel/test-net-timeout-no-handle.js +parallel/test-net-writable.js +parallel/test-net-write-after-close.js +parallel/test-net-write-after-end-nt.js +parallel/test-net-write-arguments.js +parallel/test-net-write-cb-on-destroy-before-connect.js +parallel/test-net-write-connect-write.js +parallel/test-net-write-fully-async-buffer.js +parallel/test-net-write-fully-async-hex-string.js +parallel/test-net-write-slow.js +parallel/test-next-tick-doesnt-hang.js +parallel/test-next-tick-domain.js +parallel/test-next-tick-errors.js +parallel/test-next-tick-fixed-queue-regression.js +parallel/test-next-tick-intentional-starvation.js +parallel/test-next-tick.js +parallel/test-next-tick-ordering2.js +parallel/test-next-tick-ordering.js +parallel/test-next-tick-when-exiting.js +parallel/test-no-addons-resolution-condition.js +parallel/test-nodeeventtarget.js +parallel/test-node-run.js +parallel/test-no-node-snapshot.js +parallel/test-npm-install.js +parallel/test-npm-version.js +parallel/test-openssl-ca-options.js +parallel/test-options-binding.js +parallel/test-os-checked-function.js +parallel/test-os-eol.js +parallel/test-os-homedir-no-envvar.js +parallel/test-os.js +parallel/test-os-process-priority.js +parallel/test-os-userinfo-handles-getter-errors.js +parallel/test-outgoing-message-destroy.js +parallel/test-outgoing-message-pipe.js +parallel/test-path-basename.js +parallel/test-path-dirname.js +parallel/test-path-extname.js +parallel/test-path-glob.js +parallel/test-path-isabsolute.js +parallel/test-path-join.js +parallel/test-path.js +parallel/test-path-makelong.js +parallel/test-path-normalize.js +parallel/test-path-parse-format.js +parallel/test-path-posix-exists.js +parallel/test-path-posix-relative-on-windows.js +parallel/test-path-relative.js +parallel/test-path-resolve.js +parallel/test-path-win32-exists.js +parallel/test-path-zero-length-strings.js +parallel/test-pending-deprecation.js +parallel/test-perf-gc-crash.js +parallel/test-perf-hooks-histogram.js +parallel/test-perf-hooks-resourcetiming.js +parallel/test-perf-hooks-usertiming.js +parallel/test-perf-hooks-worker-timeorigin.js +parallel/test-performance-eventlooputil.js +parallel/test-performance-function-async.js +parallel/test-performance-function.js +parallel/test-performance-gc.js +parallel/test-performance-global.js +parallel/test-performance-measure-detail.js +parallel/test-performance-measure.js +parallel/test-performance-nodetiming.js +parallel/test-performance-nodetiming-uvmetricsinfo.js +parallel/test-performanceobserver-gc.js +parallel/test-performanceobserver.js +parallel/test-performance-resourcetimingbufferfull.js +parallel/test-performance-resourcetimingbuffersize.js +parallel/test-permission-allow-addons-cli.js +parallel/test-permission-allow-child-process-cli.js +parallel/test-permission-allow-wasi-cli.js +parallel/test-permission-allow-worker-cli.js +parallel/test-permission-child-process-cli.js +parallel/test-permission-dc-worker-threads.js +parallel/test-permission-fs-absolute-path.js +parallel/test-permission-fs-read.js +parallel/test-permission-fs-relative-path.js +parallel/test-permission-fs-repeat-path.js +parallel/test-permission-fs-require.js +parallel/test-permission-fs-supported.js +parallel/test-permission-fs-symlink.js +parallel/test-permission-fs-symlink-relative.js +parallel/test-permission-fs-symlink-target-write.js +parallel/test-permission-fs-traversal-path.js +parallel/test-permission-fs-wildcard.js +parallel/test-permission-fs-windows-path.js +parallel/test-permission-fs-write-report.js +parallel/test-permission-fs-write-v8.js +parallel/test-permission-has.js +parallel/test-permission-inspector-brk.js +parallel/test-permission-inspector.js +parallel/test-permission-no-addons.js +parallel/test-permission-processbinding.js +parallel/test-permission-sqlite-load-extension.js +parallel/test-permission-warning-flags.js +parallel/test-permission-wasi.js +parallel/test-permission-worker-threads-cli.js +parallel/test-pipe-abstract-socket-http.js +parallel/test-pipe-abstract-socket.js +parallel/test-pipe-address.js +parallel/test-pipe-file-to-http.js +parallel/test-pipe-head.js +parallel/test-pipe-outgoing-message-data-emitted-after-ended.js +parallel/test-pipe-return-val.js +parallel/test-pipe-stream.js +parallel/test-pipe-unref.js +parallel/test-pipe-writev.js +parallel/test-preload.js +parallel/test-preload-print-process-argv.js +parallel/test-preload-self-referential.js +parallel/test-preload-worker.js +parallel/test-primitive-timer-leak.js +parallel/test-primordials-apply.js +parallel/test-primordials-promise.js +parallel/test-primordials-regexp.js +parallel/test-priority-queue.js +parallel/test-process-abort.js +parallel/test-process-argv-0.js +parallel/test-process-assert.js +parallel/test-process-available-memory.js +parallel/test-process-beforeexit.js +parallel/test-process-beforeexit-throw-exit.js +parallel/test-process-binding-internalbinding-allowlist.js +parallel/test-process-binding.js +parallel/test-process-binding-util.js +parallel/test-process-chdir-errormessage.js +parallel/test-process-chdir.js +parallel/test-process-config.js +parallel/test-process-constants-noatime.js +parallel/test-process-constrained-memory.js +parallel/test-process-cpuUsage.js +parallel/test-process-default.js +parallel/test-process-dlopen-undefined-exports.js +parallel/test-process-domain-segfault.js +parallel/test-process-emit.js +parallel/test-process-emitwarning.js +parallel/test-process-env-allowed-flags-are-documented.js +parallel/test-process-env-allowed-flags.js +parallel/test-process-env-delete.js +parallel/test-process-env-deprecation.js +parallel/test-process-env-ignore-getter-setter.js +parallel/test-process-env.js +parallel/test-process-env-sideeffects.js +parallel/test-process-env-symbols.js +parallel/test-process-env-tz.js +parallel/test-process-env-windows-error-reset.js +parallel/test-process-euid-egid.js +parallel/test-process-exception-capture-errors.js +parallel/test-process-exception-capture.js +parallel/test-process-exception-capture-should-abort-on-uncaught.js +parallel/test-process-exception-capture-should-abort-on-uncaught-setflagsfromstring.js +parallel/test-process-exec-argv.js +parallel/test-process-execpath.js +parallel/test-process-exit-code.js +parallel/test-process-exit-code-validation.js +parallel/test-process-exit-from-before-exit.js +parallel/test-process-exit-handler.js +parallel/test-process-exit.js +parallel/test-process-exit-recursive.js +parallel/test-process-external-stdio-close.js +parallel/test-process-external-stdio-close-spawn.js +parallel/test-process-features.js +parallel/test-process-getactivehandles.js +parallel/test-process-getactiverequests.js +parallel/test-process-getactiveresources-track-active-handles.js +parallel/test-process-getactiveresources-track-interval-lifetime.js +parallel/test-process-getactiveresources-track-multiple-timers.js +parallel/test-process-getactiveresources-track-timer-lifetime.js +parallel/test-process-getgroups.js +parallel/test-process-hrtime-bigint.js +parallel/test-process-hrtime.js +parallel/test-process-initgroups.js +parallel/test-process-kill-null.js +parallel/test-process-kill-pid.js +parallel/test-process-next-tick.js +parallel/test-process-no-deprecation.js +parallel/test-process-ppid.js +parallel/test-process-prototype.js +parallel/test-process-raw-debug.js +parallel/test-process-really-exit.js +parallel/test-process-redirect-warnings-env.js +parallel/test-process-redirect-warnings.js +parallel/test-process-ref-unref.js +parallel/test-process-release.js +parallel/test-process-remove-all-signal-listeners.js +parallel/test-process-setgroups.js +parallel/test-process-setsourcemapsenabled.js +parallel/test-process-title-cli.js +parallel/test-process-uid-gid.js +parallel/test-process-umask.js +parallel/test-process-umask-mask.js +parallel/test-process-uncaught-exception-monitor.js +parallel/test-process-uptime.js +parallel/test-process-warning.js +parallel/test-promise-handled-rejection-no-warning.js +parallel/test-promise-hook-create-hook.js +parallel/test-promise-hook-exceptions.js +parallel/test-promise-hook-on-after.js +parallel/test-promise-hook-on-before.js +parallel/test-promise-hook-on-init.js +parallel/test-promise-hook-on-resolve.js +parallel/test-promise-reject-callback-exception.js +parallel/test-promises-unhandled-proxy-rejections.js +parallel/test-promises-unhandled-rejections.js +parallel/test-promises-unhandled-symbol-rejections.js +parallel/test-promise-swallowed-event.js +parallel/test-promises-warning-on-unhandled-rejection.js +parallel/test-promise-unhandled-default.js +parallel/test-promise-unhandled-error.js +parallel/test-promise-unhandled-flag.js +parallel/test-promise-unhandled-issue-43655.js +parallel/test-promise-unhandled-silent.js +parallel/test-promise-unhandled-silent-no-hook.js +parallel/test-promise-unhandled-throw-handler.js +parallel/test-promise-unhandled-throw.js +parallel/test-promise-unhandled-warn.js +parallel/test-promise-unhandled-warn-no-hook.js +parallel/test-punycode.js +parallel/test-querystring-escape.js +parallel/test-querystring.js +parallel/test-querystring-maxKeys-non-finite.js +parallel/test-querystring-multichar-separator.js +parallel/test-queue-microtask.js +parallel/test-queue-microtask-uncaught-asynchooks.js +parallel/test-quic-internal-endpoint-listen-defaults.js +parallel/test-quic-internal-endpoint-options.js +parallel/test-quic-internal-endpoint-stats-state.js +parallel/test-quic-internal-setcallbacks.js +parallel/test-readable-from-iterator-closing.js +parallel/test-readable-from.js +parallel/test-readable-from-web-enqueue-then-close.js +parallel/test-readable-large-hwm.js +parallel/test-readable-single-end.js +parallel/test-readline-async-iterators-backpressure.js +parallel/test-readline-async-iterators-destroy.js +parallel/test-readline-async-iterators.js +parallel/test-readline-carriage-return-between-chunks.js +parallel/test-readline-csi.js +parallel/test-readline-emit-keypress-events.js +parallel/test-readline-input-onerror.js +parallel/test-readline-interface-escapecodetimeout.js +parallel/test-readline-interface.js +parallel/test-readline-interface-no-trailing-newline.js +parallel/test-readline-interface-recursive-writes.js +parallel/test-readline.js +parallel/test-readline-keys.js +parallel/test-readline-position.js +parallel/test-readline-promises-interface.js +parallel/test-readline-promises-tab-complete.js +parallel/test-readline-reopen.js +parallel/test-readline-set-raw-mode.js +parallel/test-readline-tab-complete.js +parallel/test-readline-undefined-columns.js +parallel/test-ref-unref-return.js +parallel/test-regression-object-prototype.js +parallel/test-release-changelog.js +parallel/test-release-npm.js +parallel/test-repl-array-prototype-tempering.js +parallel/test-repl-autocomplete.js +parallel/test-repl-autolibs.js +parallel/test-repl-clear-immediate-crash.js +parallel/test-repl-cli-eval.js +parallel/test-repl-colors.js +parallel/test-repl-context.js +parallel/test-repl-definecommand.js +parallel/test-repl-domain.js +parallel/test-repl-dynamic-import.js +parallel/test-repl-editor.js +parallel/test-repl-empty.js +parallel/test-repl-end-emits-exit.js +parallel/test-repl-envvars.js +parallel/test-repl-eval.js +parallel/test-repl-function-definition-edge-case.js +parallel/test-repl-harmony.js +parallel/test-repl-history-navigation.js +parallel/test-repl-history-perm.js +parallel/test-repl-import-referrer.js +parallel/test-repl-inspect-defaults.js +parallel/test-repl-inspector.js +parallel/test-repl.js +parallel/test-repl-let-process.js +parallel/test-repl-load-multiline.js +parallel/test-repl-load-multiline-no-trailing-newline.js +parallel/test-repl-mode.js +parallel/test-repl-multiline.js +parallel/test-repl-no-terminal.js +parallel/test-repl-null.js +parallel/test-repl-null-thrown.js +parallel/test-repl-options.js +parallel/test-repl-permission-model.js +parallel/test-repl-persistent-history.js +parallel/test-repl-preprocess-top-level-await.js +parallel/test-repl-pretty-custom-stack.js +parallel/test-repl-pretty-stack-custom-writer.js +parallel/test-repl-pretty-stack.js +parallel/test-repl-preview.js +parallel/test-repl-preview-newlines.js +parallel/test-repl-preview-without-inspector.js +parallel/test-repl-programmatic-history.js +parallel/test-repl-recoverable.js +parallel/test-repl-require-after-write.js +parallel/test-repl-require-cache.js +parallel/test-repl-require-context.js +parallel/test-repl-require.js +parallel/test-repl-require-self-referential.js +parallel/test-repl-reset-event.js +parallel/test-repl-reverse-search.js +parallel/test-repl-save-load.js +parallel/test-repl-setprompt.js +parallel/test-repl-sigint.js +parallel/test-repl-sigint-nested-eval.js +parallel/test-repl-stdin-push-null.js +parallel/test-repl-strict-mode-previews.js +parallel/test-repl-syntax-error-handling.js +parallel/test-repl-syntax-error-stack.js +parallel/test-repl-tab-complete-crash.js +parallel/test-repl-tab-complete-import.js +parallel/test-repl-tab-complete.js +parallel/test-repl-tab-complete-nested-repls.js +parallel/test-repl-tab-complete-no-warn.js +parallel/test-repl-tab-complete-on-editor-mode.js +parallel/test-repl-tab.js +parallel/test-repl-throw-null-or-undefined.js +parallel/test-repl-top-level-await.js +parallel/test-repl-uncaught-exception-async.js +parallel/test-repl-uncaught-exception-evalcallback.js +parallel/test-repl-uncaught-exception.js +parallel/test-repl-uncaught-exception-standalone.js +parallel/test-repl-underscore.js +parallel/test-repl-unexpected-token-recoverable.js +parallel/test-repl-unsafe-array-iteration.js +parallel/test-repl-unsupported-option.js +parallel/test-repl-use-global.js +parallel/test-require-cache.js +parallel/test-require-delete-array-iterator.js +parallel/test-require-dot.js +parallel/test-require-empty-main.js +parallel/test-require-enoent-dir.js +parallel/test-require-exceptions.js +parallel/test-require-extension-over-directory.js +parallel/test-require-extensions-main.js +parallel/test-require-extensions-same-filename-as-dir.js +parallel/test-require-extensions-same-filename-as-dir-trailing-slash.js +parallel/test-require-invalid-main-no-exports.js +parallel/test-require-invalid-package.js +parallel/test-require-json.js +parallel/test-require-long-path.js +parallel/test-require-mjs.js +parallel/test-require-node-prefix.js +parallel/test-require-nul.js +parallel/test-require-process.js +parallel/test-require-resolve.js +parallel/test-require-resolve-opts-paths-relative.js +parallel/test-require-symlink.js +parallel/test-require-unicode.js +parallel/test-resource-usage.js +parallel/test-runner-aliases.js +parallel/test-runner-assert.js +parallel/test-runner-cli-concurrency.js +parallel/test-runner-cli-timeout.js +parallel/test-runner-concurrency.js +parallel/test-runner-custom-assertions.js +parallel/test-runner-enable-source-maps-issue.js +parallel/test-runner-exit-code.js +parallel/test-runner-extraneous-async-activity.js +parallel/test-runner-filetest-location.js +parallel/test-runner-filter-warning.js +parallel/test-runner-force-exit-failure.js +parallel/test-runner-force-exit-flush.js +parallel/test-runner-import-no-scheme.js +parallel/test-runner-misc.js +parallel/test-runner-mocking.js +parallel/test-runner-mock-timers-date.js +parallel/test-runner-mock-timers.js +parallel/test-runner-mock-timers-scheduler.js +parallel/test-runner-module-mocking.js +parallel/test-runner-no-isolation-filtering.js +parallel/test-runner-option-validation.js +parallel/test-runner-reporters.js +parallel/test-runner-root-after-with-refed-handles.js +parallel/test-runner-root-duration.js +parallel/test-runner-snapshot-file-tests.js +parallel/test-runner-snapshot-tests.js +parallel/test-runner-source-maps-invalid-json.js +parallel/test-runner-string-to-regexp.js +parallel/test-runner-subtest-after-hook.js +parallel/test-runner-test-filepath.js +parallel/test-runner-test-fullname.js +parallel/test-runner-todo-skip-tests.js +parallel/test-runner-typechecking.js +parallel/test-runner-wait-for.js +parallel/test-safe-get-env.js +parallel/test-security-revert-unknown.js +parallel/test-set-http-max-http-headers.js +parallel/test-set-incoming-message-header.js +parallel/test-set-process-debug-port.js +parallel/test-setproctitle.js +parallel/test-shadow-realm-allowed-builtin-modules.js +parallel/test-shadow-realm-custom-loaders.js +parallel/test-shadow-realm-gc.js +parallel/test-shadow-realm-gc-module.js +parallel/test-shadow-realm-globals.js +parallel/test-shadow-realm-import-value-resolve.js +parallel/test-shadow-realm.js +parallel/test-shadow-realm-module.js +parallel/test-shadow-realm-preload-module.js +parallel/test-shadow-realm-prepare-stack-trace.js +parallel/test-sigint-infinite-loop.js +parallel/test-signal-args.js +parallel/test-signal-handler.js +parallel/test-signal-handler-remove-on-exit.js +parallel/test-signal-safety.js +parallel/test-signal-unregister.js +parallel/test-single-executable-blob-config-errors.js +parallel/test-single-executable-blob-config.js +parallel/test-snapshot-api.js +parallel/test-snapshot-argv1.js +parallel/test-snapshot-basic.js +parallel/test-snapshot-child-process-sync.js +parallel/test-snapshot-cjs-main.js +parallel/test-snapshot-config.js +parallel/test-snapshot-console.js +parallel/test-snapshot-coverage.js +parallel/test-snapshot-cwd.js +parallel/test-snapshot-dns-lookup-localhost.js +parallel/test-snapshot-dns-lookup-localhost-promise.js +parallel/test-snapshot-dns-resolve-localhost.js +parallel/test-snapshot-dns-resolve-localhost-promise.js +parallel/test-snapshot-error.js +parallel/test-snapshot-eval.js +parallel/test-snapshot-gzip.js +parallel/test-snapshot-namespaced-builtin.js +parallel/test-snapshot-net.js +parallel/test-snapshot-reproducible.js +parallel/test-snapshot-stack-trace-limit.js +parallel/test-snapshot-stack-trace-limit-mutation.js +parallel/test-snapshot-typescript.js +parallel/test-snapshot-umd.js +parallel/test-snapshot-weak-reference.js +parallel/test-snapshot-worker.js +parallel/test-socket-address.js +parallel/test-socketaddress.js +parallel/test-socket-options-invalid.js +parallel/test-socket-write-after-fin-error.js +parallel/test-socket-write-after-fin.js +parallel/test-socket-writes-before-passed-to-tls-socket.js +parallel/test-source-map-api.js +parallel/test-source-map-cjs-require-cache.js +parallel/test-source-map-enable.js +parallel/test-spawn-cmd-named-pipe.js +parallel/test-sqlite-custom-functions.js +parallel/test-sqlite-database-sync.js +parallel/test-sqlite-data-types.js +parallel/test-sqlite.js +parallel/test-sqlite-named-parameters.js +parallel/test-sqlite-session.js +parallel/test-sqlite-statement-sync.js +parallel/test-sqlite-transactions.js +parallel/test-sqlite-typed-array-and-data-view.js +parallel/test-stack-size-limit.js +parallel/test-startup-empty-regexp-statics.js +parallel/test-startup-large-pages.js +parallel/test-stdin-child-proc.js +parallel/test-stdin-from-file.js +parallel/test-stdin-from-file-spawn.js +parallel/test-stdin-hang.js +parallel/test-stdin-pause-resume.js +parallel/test-stdin-pause-resume-sync.js +parallel/test-stdin-pipe-large.js +parallel/test-stdin-pipe-resume.js +parallel/test-stdin-resume-pause.js +parallel/test-stdin-script-child.js +parallel/test-stdin-script-child-option.js +parallel/test-stdio-closed.js +parallel/test-stdio-pipe-access.js +parallel/test-stdio-pipe-redirect.js +parallel/test-stdio-pipe-stderr.js +parallel/test-stdio-undestroy.js +parallel/test-stdout-cannot-be-closed-child-process-pipe.js +parallel/test-stdout-close-catch.js +parallel/test-stdout-close-unref.js +parallel/test-stdout-pipeline-destroy.js +parallel/test-stdout-stderr-reading.js +parallel/test-stdout-stderr-write.js +parallel/test-stdout-to-file.js +parallel/test-strace-openat-openssl.js +parallel/test-stream2-base64-single-char-read-end.js +parallel/test-stream2-basic.js +parallel/test-stream2-compatibility.js +parallel/test-stream2-decode-partial.js +parallel/test-stream2-finish-pipe-error.js +parallel/test-stream2-finish-pipe.js +parallel/test-stream2-httpclient-response-end.js +parallel/test-stream2-large-read-stall.js +parallel/test-stream2-objects.js +parallel/test-stream2-pipe-error-handling.js +parallel/test-stream2-pipe-error-once-listener.js +parallel/test-stream2-push.js +parallel/test-stream2-readable-empty-buffer-no-eof.js +parallel/test-stream2-readable-legacy-drain.js +parallel/test-stream2-readable-non-empty-end.js +parallel/test-stream2-readable-wrap-destroy.js +parallel/test-stream2-readable-wrap-empty.js +parallel/test-stream2-readable-wrap-error.js +parallel/test-stream2-readable-wrap.js +parallel/test-stream2-read-sync-stack.js +parallel/test-stream2-set-encoding.js +parallel/test-stream2-transform.js +parallel/test-stream2-unpipe-drain.js +parallel/test-stream2-unpipe-leak.js +parallel/test-stream2-writable.js +parallel/test-stream3-cork-end.js +parallel/test-stream3-cork-uncork.js +parallel/test-stream3-pause-then-read.js +parallel/test-stream3-pipeline-async-iterator.js +parallel/test-stream-add-abort-signal.js +parallel/test-stream-aliases-legacy.js +parallel/test-stream-auto-destroy.js +parallel/test-stream-await-drain-writers-in-synchronously-recursion-write.js +parallel/test-stream-backpressure.js +parallel/test-stream-base-prototype-accessors-enumerability.js +parallel/test-stream-base-typechecking.js +parallel/test-stream-big-packet.js +parallel/test-stream-big-push.js +parallel/test-stream-catch-rejections.js +parallel/test-stream-compose.js +parallel/test-stream-compose-operator.js +parallel/test-stream-construct.js +parallel/test-stream-consumers.js +parallel/test-stream-decoder-objectmode.js +parallel/test-stream-destroy-event-order.js +parallel/test-stream-destroy.js +parallel/test-stream-drop-take.js +parallel/test-stream-duplex-destroy.js +parallel/test-stream-duplex-end.js +parallel/test-stream-duplex-from.js +parallel/test-stream-duplex.js +parallel/test-stream-duplexpair.js +parallel/test-stream-duplex-props.js +parallel/test-stream-duplex-readable-end.js +parallel/test-stream-duplex-readable-writable.js +parallel/test-stream-duplex-writable-finished.js +parallel/test-stream-end-of-streams.js +parallel/test-stream-end-paused.js +parallel/test-stream-err-multiple-callback-construction.js +parallel/test-stream-error-once.js +parallel/test-stream-event-names.js +parallel/test-stream-events-prepend.js +parallel/test-stream-filter.js +parallel/test-stream-finished.js +parallel/test-stream-flatMap.js +parallel/test-stream-forEach.js +parallel/test-stream-inheritance.js +parallel/test-stream-ispaused.js +parallel/test-stream-map.js +parallel/test-stream-objectmode-undefined.js +parallel/test-stream-once-readable-pipe.js +parallel/test-stream-passthrough-drain.js +parallel/test-stream-pipe-after-end.js +parallel/test-stream-pipe-await-drain.js +parallel/test-stream-pipe-await-drain-manual-resume.js +parallel/test-stream-pipe-await-drain-push-while-write.js +parallel/test-stream-pipe-cleanup.js +parallel/test-stream-pipe-cleanup-pause.js +parallel/test-stream-pipe-deadlock.js +parallel/test-stream-pipe-error-handling.js +parallel/test-stream-pipe-error-unhandled.js +parallel/test-stream-pipe-event.js +parallel/test-stream-pipe-flow-after-unpipe.js +parallel/test-stream-pipe-flow.js +parallel/test-stream-pipeline-async-iterator.js +parallel/test-stream-pipeline-duplex.js +parallel/test-stream-pipeline-http2.js +parallel/test-stream-pipeline.js +parallel/test-stream-pipeline-listeners.js +parallel/test-stream-pipeline-process.js +parallel/test-stream-pipeline-queued-end-in-destroy.js +parallel/test-stream-pipeline-uncaught.js +parallel/test-stream-pipeline-with-empty-string.js +parallel/test-stream-pipe-manual-resume.js +parallel/test-stream-pipe-multiple-pipes.js +parallel/test-stream-pipe-needDrain.js +parallel/test-stream-pipe-same-destination-twice.js +parallel/test-stream-pipe-unpipe-streams.js +parallel/test-stream-pipe-without-listenerCount.js +parallel/test-stream-preprocess.js +parallel/test-stream-promises.js +parallel/test-stream-push-order.js +parallel/test-stream-push-strings.js +parallel/test-stream-readable-aborted.js +parallel/test-stream-readable-add-chunk-during-data.js +parallel/test-stream-readable-async-iterators.js +parallel/test-stream-readable-constructor-set-methods.js +parallel/test-stream-readable-data.js +parallel/test-stream-readable-default-encoding.js +parallel/test-stream-readable-destroy.js +parallel/test-stream-readable-didRead.js +parallel/test-stream-readable-dispose.js +parallel/test-stream-readable-emit-readable-short-stream.js +parallel/test-stream-readable-emittedReadable.js +parallel/test-stream-readable-end-destroyed.js +parallel/test-stream-readable-ended.js +parallel/test-stream-readable-error-end.js +parallel/test-stream-readable-event.js +parallel/test-stream-readable-flow-recursion.js +parallel/test-stream-readable-from-web-termination.js +parallel/test-stream-readable-hwm-0-async.js +parallel/test-stream-readable-hwm-0.js +parallel/test-stream-readable-hwm-0-no-flow-data.js +parallel/test-stream-readable-infinite-read.js +parallel/test-stream-readable-invalid-chunk.js +parallel/test-stream-readableListening-state.js +parallel/test-stream-readable-needReadable.js +parallel/test-stream-readable-next-no-null.js +parallel/test-stream-readable-no-unneeded-readable.js +parallel/test-stream-readable-object-multi-push-async.js +parallel/test-stream-readable-pause-and-resume.js +parallel/test-stream-readable-readable.js +parallel/test-stream-readable-readable-then-resume.js +parallel/test-stream-readable-reading-readingMore.js +parallel/test-stream-readable-resume-hwm.js +parallel/test-stream-readable-resumeScheduled.js +parallel/test-stream-readable-setEncoding-existing-buffers.js +parallel/test-stream-readable-setEncoding-null.js +parallel/test-stream-readable-strategy-option.js +parallel/test-stream-readable-to-web.js +parallel/test-stream-readable-to-web-termination.js +parallel/test-stream-readable-unpipe-resume.js +parallel/test-stream-readable-unshift.js +parallel/test-stream-readable-with-unimplemented-_read.js +parallel/test-stream-reduce.js +parallel/test-stream-set-default-hwm.js +parallel/test-streams-highwatermark.js +parallel/test-stream-toArray.js +parallel/test-stream-toWeb-allows-server-response.js +parallel/test-stream-transform-callback-twice.js +parallel/test-stream-transform-constructor-set-methods.js +parallel/test-stream-transform-destroy.js +parallel/test-stream-transform-final.js +parallel/test-stream-transform-final-sync.js +parallel/test-stream-transform-flush-data.js +parallel/test-stream-transform-hwm0.js +parallel/test-stream-transform-objectmode-falsey-value.js +parallel/test-stream-transform-split-highwatermark.js +parallel/test-stream-transform-split-objectmode.js +parallel/test-stream-typedarray.js +parallel/test-stream-uint8array.js +parallel/test-stream-unpipe-event.js +parallel/test-stream-unshift-empty-chunk.js +parallel/test-stream-unshift-read-race.js +parallel/test-stream-wrap-drain.js +parallel/test-stream-wrap-encoding.js +parallel/test-stream-wrap.js +parallel/test-stream-writable-aborted.js +parallel/test-stream-writable-change-default-encoding.js +parallel/test-stream-writable-clear-buffer.js +parallel/test-stream-writable-constructor-set-methods.js +parallel/test-stream-writable-decoded-encoding.js +parallel/test-stream-writable-destroy.js +parallel/test-stream-writable-end-cb-error.js +parallel/test-stream-writable-end-cb-uncaught.js +parallel/test-stream-writable-ended-state.js +parallel/test-stream-writable-end-multiple.js +parallel/test-stream-writable-final-async.js +parallel/test-stream-writable-final-destroy.js +parallel/test-stream-writable-final-throw.js +parallel/test-stream-writable-finish-destroyed.js +parallel/test-stream-writable-finished.js +parallel/test-stream-writable-finished-state.js +parallel/test-stream-writable-invalid-chunk.js +parallel/test-stream-writable-needdrain-state.js +parallel/test-stream-writable-null.js +parallel/test-stream-writable-properties.js +parallel/test-stream-writable-samecb-singletick.js +parallel/test-stream-writableState-ending.js +parallel/test-stream-writableState-uncorked-bufferedRequestCount.js +parallel/test-stream-writable-writable.js +parallel/test-stream-writable-write-cb-error.js +parallel/test-stream-writable-write-cb-twice.js +parallel/test-stream-writable-write-error.js +parallel/test-stream-writable-write-writev-finish.js +parallel/test-stream-write-destroy.js +parallel/test-stream-write-drain.js +parallel/test-stream-write-final.js +parallel/test-stream-writev.js +parallel/test-stringbytes-external.js +parallel/test-string-decoder-end.js +parallel/test-string-decoder-fuzz.js +parallel/test-string-decoder.js +parallel/test-structuredClone-global.js +parallel/test-sync-fileread.js +parallel/test-sync-io-option.js +parallel/test-sys.js +parallel/test-tcp-wrap-connect.js +parallel/test-tcp-wrap.js +parallel/test-tcp-wrap-listen.js +parallel/test-tick-processor-arguments.js +parallel/test-tick-processor-version-check.js +parallel/test-timers-active.js +parallel/test-timers-api-refs.js +parallel/test-timers-args.js +parallel/test-timers-clearImmediate-als.js +parallel/test-timers-clearImmediate.js +parallel/test-timers-clear-null-does-not-throw-error.js +parallel/test-timers-clear-object-does-not-throw-error.js +parallel/test-timers-clear-timeout-interval-equivalent.js +parallel/test-timers-destroyed.js +parallel/test-timers-dispose.js +parallel/test-timers-enroll-invalid-msecs.js +parallel/test-timers-enroll-second-time.js +parallel/test-timers-immediate.js +parallel/test-timers-immediate-promisified.js +parallel/test-timers-immediate-queue.js +parallel/test-timers-immediate-queue-throw.js +parallel/test-timers-immediate-unref.js +parallel/test-timers-immediate-unref-nested-once.js +parallel/test-timers-immediate-unref-simple.js +parallel/test-timers-interval-promisified.js +parallel/test-timers-interval-throw.js +parallel/test-timers.js +parallel/test-timers-linked-list.js +parallel/test-timers-max-duration-warning.js +parallel/test-timers-nested.js +parallel/test-timers-next-tick.js +parallel/test-timers-non-integer-delay.js +parallel/test-timers-now.js +parallel/test-timers-ordering.js +parallel/test-timers-process-tampering.js +parallel/test-timers-promises.js +parallel/test-timers-promises-scheduler.js +parallel/test-timers-refresh-in-callback.js +parallel/test-timers-refresh.js +parallel/test-timers-reset-process-domain-on-throw.js +parallel/test-timers-same-timeout-wrong-list-deleted.js +parallel/test-timers-setimmediate-infinite-loop.js +parallel/test-timers-socket-timeout-removes-other-socket-unref-timer.js +parallel/test-timers-this.js +parallel/test-timers-throw-when-cb-not-function.js +parallel/test-timers-timeout-promisified.js +parallel/test-timers-timeout-to-interval.js +parallel/test-timers-timeout-with-non-integer.js +parallel/test-timers-to-primitive.js +parallel/test-timers-uncaught-exception.js +parallel/test-timers-unenroll-unref-interval.js +parallel/test-timers-unref-active.js +parallel/test-timers-unrefd-interval-still-fires.js +parallel/test-timers-unrefed-in-beforeexit.js +parallel/test-timers-unrefed-in-callback.js +parallel/test-timers-unref.js +parallel/test-timers-unref-remove-other-unref-timers.js +parallel/test-timers-unref-remove-other-unref-timers-only-one-fires.js +parallel/test-timers-unref-throw-then-ref.js +parallel/test-timers-user-call.js +parallel/test-timers-zero-timeout.js +parallel/test-tls-0-dns-altname.js +parallel/test-tls-addca.js +parallel/test-tls-add-context.js +parallel/test-tls-alert-handling.js +parallel/test-tls-alert.js +parallel/test-tls-alpn-server-client.js +parallel/test-tls-async-cb-after-socket-end.js +parallel/test-tls-basic-validations.js +parallel/test-tls-buffersize.js +parallel/test-tls-ca-concat.js +parallel/test-tls-canonical-ip.js +parallel/test-tls-cert-chains-concat.js +parallel/test-tls-cert-chains-in-ca.js +parallel/test-tls-cert-ext-encoding.js +parallel/test-tls-cert-regression.js +parallel/test-tls-check-server-identity.js +parallel/test-tls-cipher-list.js +parallel/test-tls-client-abort2.js +parallel/test-tls-client-abort.js +parallel/test-tls-client-allow-partial-trust-chain.js +parallel/test-tls-client-auth.js +parallel/test-tls-clientcertengine-invalid-arg-type.js +parallel/test-tls-clientcertengine-unsupported.js +parallel/test-tls-client-default-ciphers.js +parallel/test-tls-client-destroy-soon.js +parallel/test-tls-client-getephemeralkeyinfo.js +parallel/test-tls-client-mindhsize.js +parallel/test-tls-client-reject-12.js +parallel/test-tls-client-reject.js +parallel/test-tls-client-renegotiation-13.js +parallel/test-tls-client-renegotiation-limit.js +parallel/test-tls-client-resume-12.js +parallel/test-tls-client-resume.js +parallel/test-tls-client-verify.js +parallel/test-tls-cli-min-max-conflict.js +parallel/test-tls-close-error.js +parallel/test-tls-close-event-after-write.js +parallel/test-tls-close-notify.js +parallel/test-tls-cnnic-whitelist.js +parallel/test-tls-connect-abort-controller.js +parallel/test-tls-connect-address-family.js +parallel/test-tls-connect-allow-half-open-option.js +parallel/test-tls-connect-given-socket.js +parallel/test-tls-connect-hints-option.js +parallel/test-tls-connect-hwm-option.js +parallel/test-tls-connect-memleak.js +parallel/test-tls-connect-no-host.js +parallel/test-tls-connect-pipe.js +parallel/test-tls-connect-secure-context.js +parallel/test-tls-connect-simple.js +parallel/test-tls-connect-stream-writes.js +parallel/test-tls-connect-timeout-option.js +parallel/test-tls-delayed-attach-error.js +parallel/test-tls-delayed-attach.js +parallel/test-tls-destroy-stream-12.js +parallel/test-tls-destroy-stream.js +parallel/test-tls-destroy-whilst-write.js +parallel/test-tls-dhe.js +parallel/test-tls-disable-renegotiation.js +parallel/test-tls-ecdh-auto.js +parallel/test-tls-ecdh.js +parallel/test-tls-ecdh-multiple.js +parallel/test-tls-econnreset.js +parallel/test-tls-empty-sni-context.js +parallel/test-tls-enable-keylog-cli.js +parallel/test-tls-enable-trace-cli.js +parallel/test-tls-enable-trace.js +parallel/test-tls-env-bad-extra-ca.js +parallel/test-tls-env-extra-ca.js +parallel/test-tls-env-extra-ca-no-crypto.js +parallel/test-tls-env-extra-ca-with-options.js +parallel/test-tls-error-servername.js +parallel/test-tls-exportkeyingmaterial.js +parallel/test-tls-external-accessor.js +parallel/test-tls-fast-writing.js +parallel/test-tls-finished.js +parallel/test-tls-friendly-error-message.js +parallel/test-tls-generic-stream.js +parallel/test-tls-getcertificate-x509.js +parallel/test-tls-getcipher.js +parallel/test-tls-getprotocol.js +parallel/test-tls-handshake-error.js +parallel/test-tls-handshake-exception.js +parallel/test-tls-handshake-nohang.js +parallel/test-tls-hello-parser-failure.js +parallel/test-tls-honorcipherorder.js +parallel/test-tls-inception.js +parallel/test-tls-interleave.js +parallel/test-tls-invalid-pfx.js +parallel/test-tls-invoke-queued.js +parallel/test-tls-ip-servername-deprecation.js +parallel/test-tls-js-stream.js +parallel/test-tls-junk-closes-server.js +parallel/test-tls-junk-server.js +parallel/test-tls-keyengine-invalid-arg-type.js +parallel/test-tls-keyengine-unsupported.js +parallel/test-tls-keylog-tlsv13.js +parallel/test-tls-key-mismatch.js +parallel/test-tls-legacy-deprecated.js +parallel/test-tls-legacy-pfx.js +parallel/test-tls-max-send-fragment.js +parallel/test-tls-multi-key.js +parallel/test-tls-multi-pfx.js +parallel/test-tls-multiple-cas-as-string.js +parallel/test-tls-net-connect-prefer-path.js +parallel/test-tls-net-socket-keepalive-12.js +parallel/test-tls-net-socket-keepalive.js +parallel/test-tls-no-cert-required.js +parallel/test-tls-no-rsa-key.js +parallel/test-tls-no-sslv23.js +parallel/test-tls-no-sslv3.js +parallel/test-tls-ocsp-callback.js +parallel/test-tls-on-empty-socket.js +parallel/test-tls-onread-static-buffer.js +parallel/test-tls-options-boolean-check.js +parallel/test-tls-over-http-tunnel.js +parallel/test-tls-passphrase.js +parallel/test-tls-pause.js +parallel/test-tls-peer-certificate-encoding.js +parallel/test-tls-peer-certificate.js +parallel/test-tls-peer-certificate-multi-keys.js +parallel/test-tls-pfx-authorizationerror.js +parallel/test-tls-psk-circuit.js +parallel/test-tls-psk-errors.js +parallel/test-tls-psk-server.js +parallel/test-tls-reduced-SECLEVEL-in-cipher.js +parallel/test-tls-reinitialize-listeners.js +parallel/test-tls-request-timeout.js +parallel/test-tls-retain-handle-no-abort.js +parallel/test-tls-reuse-host-from-socket.js +parallel/test-tls-root-certificates.js +parallel/test-tls-secure-context-usage-order.js +parallel/test-tls-securepair-fiftharg.js +parallel/test-tls-securepair-leak.js +parallel/test-tls-securepair-server.js +parallel/test-tls-secure-session.js +parallel/test-tls-server-capture-rejection.js +parallel/test-tls-server-connection-server.js +parallel/test-tls-server-failed-handshake-emits-clienterror.js +parallel/test-tls-server-parent-constructor-options.js +parallel/test-tls-server-setkeycert.js +parallel/test-tls-server-setoptions-clientcertengine.js +parallel/test-tls-server-verify.js +parallel/test-tls-session-cache.js +parallel/test-tls-set-ciphers-error.js +parallel/test-tls-set-ciphers.js +parallel/test-tls-set-encoding.js +parallel/test-tls-set-secure-context.js +parallel/test-tls-set-sigalgs.js +parallel/test-tls-snicallback-error.js +parallel/test-tls-sni-option.js +parallel/test-tls-sni-server-client.js +parallel/test-tls-sni-servername.js +parallel/test-tls-socket-allow-half-open-option.js +parallel/test-tls-socket-close.js +parallel/test-tls-socket-constructor-alpn-options-parsing.js +parallel/test-tls-socket-default-options.js +parallel/test-tls-socket-destroy.js +parallel/test-tls-socket-failed-handshake-emits-error.js +parallel/test-tls-socket-snicallback-without-server.js +parallel/test-tls-startcom-wosign-whitelist.js +parallel/test-tls-starttls-server.js +parallel/test-tls-streamwrap-buffersize.js +parallel/test-tls-ticket-12.js +parallel/test-tls-ticket-cluster.js +parallel/test-tls-ticket-invalid-arg.js +parallel/test-tls-ticket.js +parallel/test-tls-timeout-server-2.js +parallel/test-tls-timeout-server.js +parallel/test-tls-tlswrap-segfault-2.js +parallel/test-tls-tlswrap-segfault.js +parallel/test-tls-translate-peer-certificate.js +parallel/test-tls-transport-destroy-after-own-gc.js +parallel/test-tls-use-after-free-regression.js +parallel/test-tls-wrap-econnreset.js +parallel/test-tls-wrap-econnreset-localaddress.js +parallel/test-tls-wrap-econnreset-pipe.js +parallel/test-tls-wrap-econnreset-socket.js +parallel/test-tls-wrap-event-emmiter.js +parallel/test-tls-wrap-no-abort.js +parallel/test-tls-wrap-timeout.js +parallel/test-tls-writewrap-leak.js +parallel/test-tls-zero-clear-in.js +parallel/test-tojson-perf_hooks.js +parallel/test-trace-atomic-deprecation.js +parallel/test-trace-atomics-wait.js +parallel/test-trace-env.js +parallel/test-trace-env-stack.js +parallel/test-trace-events-all.js +parallel/test-trace-events-api.js +parallel/test-trace-events-api-worker-disabled.js +parallel/test-trace-events-async-hooks-dynamic.js +parallel/test-trace-events-async-hooks.js +parallel/test-trace-events-async-hooks-worker.js +parallel/test-trace-events-binding.js +parallel/test-trace-events-bootstrap.js +parallel/test-trace-events-category-used.js +parallel/test-trace-events-console.js +parallel/test-trace-events-dynamic-enable.js +parallel/test-trace-events-dynamic-enable-workers-disabled.js +parallel/test-trace-events-environment.js +parallel/test-trace-events-file-pattern.js +parallel/test-trace-events-fs-async.js +parallel/test-trace-events-fs-sync.js +parallel/test-trace-events-get-category-enabled-buffer.js +parallel/test-trace-events-http.js +parallel/test-trace-events-metadata.js +parallel/test-trace-events-net-abstract-socket.js +parallel/test-trace-events-net.js +parallel/test-trace-events-none.js +parallel/test-trace-events-process-exit.js +parallel/test-trace-events-promises.js +parallel/test-trace-events-threadpool.js +parallel/test-trace-events-v8.js +parallel/test-trace-events-vm.js +parallel/test-trace-events-worker-metadata.js +parallel/test-trace-events-worker-metadata-with-name.js +parallel/test-trace-exit.js +parallel/test-trace-exit-stack-limit.js +parallel/test-tracing-no-crash.js +parallel/test-tty-backwards-api.js +parallel/test-tty-stdin-end.js +parallel/test-tty-stdin-pipe.js +parallel/test-ttywrap-invalid-fd.js +parallel/test-ttywrap-stack.js +parallel/test-tz-version.js +parallel/test-unhandled-exception-rethrow-error.js +parallel/test-unhandled-exception-with-worker-inuse.js +parallel/test-unicode-node-options.js +parallel/test-url-domain-ascii-unicode.js +parallel/test-url-fileurltopath.js +parallel/test-url-format-invalid-input.js +parallel/test-url-format.js +parallel/test-url-format-whatwg.js +parallel/test-url-is-url-internal.js +parallel/test-url-parse-format.js +parallel/test-url-parse-invalid-input.js +parallel/test-url-parse-query.js +parallel/test-url-pathtofileurl.js +parallel/test-url-relative.js +parallel/test-url-revokeobjecturl.js +parallel/test-url-urltooptions.js +parallel/test-utf8-scripts.js +parallel/test-util-callbackify.js +parallel/test-util-deprecate-invalid-code.js +parallel/test-util-deprecate.js +parallel/test-util-emit-experimental-warning.js +parallel/test-util-format.js +parallel/test-util-getcallsite.js +parallel/test-util-getcallsites.js +parallel/test-util-inherits.js +parallel/test-util-inspect-getters-accessing-this.js +parallel/test-util-inspect.js +parallel/test-util-inspect-long-running.js +parallel/test-util-inspect-namespace.js +parallel/test-util-inspect-proxy.js +parallel/test-util-internal.js +parallel/test-util-isDeepStrictEqual.js +parallel/test-util.js +parallel/test-util-log.js +parallel/test-util-parse-env.js +parallel/test-util-primordial-monkeypatching.js +parallel/test-util-promisify.js +parallel/test-util-sigint-watchdog.js +parallel/test-util-sleep.js +parallel/test-util-stripvtcontrolcharacters.js +parallel/test-util-styletext.js +parallel/test-util-text-decoder.js +parallel/test-util-types-exists.js +parallel/test-util-types.js +parallel/test-uv-binding-constant.js +parallel/test-uv-errmap.js +parallel/test-uv-errno.js +parallel/test-uv-unmapped-exception.js +parallel/test-v8-collect-gc-profile-exit-before-stop.js +parallel/test-v8-collect-gc-profile-in-worker.js +parallel/test-v8-collect-gc-profile.js +parallel/test-v8-coverage.js +parallel/test-v8-deserialize-buffer.js +parallel/test-v8-flag-pool-size-0.js +parallel/test-v8-flags.js +parallel/test-v8-flag-type-check.js +parallel/test-v8-getheapsnapshot-twice.js +parallel/test-v8-global-setter.js +parallel/test-v8-query-objects.js +parallel/test-v8-serdes.js +parallel/test-v8-serialize-leak.js +parallel/test-v8-startup-snapshot-api.js +parallel/test-v8-stats.js +parallel/test-v8-stop-coverage.js +parallel/test-v8-take-coverage.js +parallel/test-v8-take-coverage-noop.js +parallel/test-v8-version-tag.js +parallel/test-validators.js +parallel/test-vfs.js +parallel/test-vm-access-process-env.js +parallel/test-vm-api-handles-getter-errors.js +parallel/test-vm-attributes-property-not-on-sandbox.js +parallel/test-vm-basic.js +parallel/test-vm-cached-data.js +parallel/test-vm-codegen.js +parallel/test-vm-context-async-script.js +parallel/test-vm-context-dont-contextify.js +parallel/test-vm-context.js +parallel/test-vm-context-property-forwarding.js +parallel/test-vm-create-and-run-in-context.js +parallel/test-vm-createcacheddata.js +parallel/test-vm-create-context-accessors.js +parallel/test-vm-create-context-arg.js +parallel/test-vm-create-context-circular-reference.js +parallel/test-vm-cross-context.js +parallel/test-vm-data-property-writable.js +parallel/test-vm-deleting-property.js +parallel/test-vm-dynamic-import-callback-missing-flag.js +parallel/test-vm-function-declaration.js +parallel/test-vm-function-redefinition.js +parallel/test-vm-getters.js +parallel/test-vm-global-assignment.js +parallel/test-vm-global-configurable-properties.js +parallel/test-vm-global-define-property.js +parallel/test-vm-global-get-own.js +parallel/test-vm-global-identity.js +parallel/test-vm-global-non-writable-properties.js +parallel/test-vm-global-property-enumerator.js +parallel/test-vm-global-property-interceptors.js +parallel/test-vm-global-property-prototype.js +parallel/test-vm-global-setter.js +parallel/test-vm-harmony-symbols.js +parallel/test-vm-indexed-properties.js +parallel/test-vm-inherited_properties.js +parallel/test-vm-is-context.js +parallel/test-vm-low-stack-space.js +parallel/test-vm-measure-memory.js +parallel/test-vm-measure-memory-lazy.js +parallel/test-vm-measure-memory-multi-context.js +parallel/test-vm-module-basic.js +parallel/test-vm-module-cached-data.js +parallel/test-vm-module-dynamic-import.js +parallel/test-vm-module-dynamic-namespace.js +parallel/test-vm-module-errors.js +parallel/test-vm-module-import-meta.js +parallel/test-vm-module-link.js +parallel/test-vm-module-reevaluate.js +parallel/test-vm-module-synthetic.js +parallel/test-vm-new-script-new-context.js +parallel/test-vm-new-script-this-context.js +parallel/test-vm-no-dynamic-import-callback.js +parallel/test-vm-not-strict.js +parallel/test-vm-options-validation.js +parallel/test-vm-ownkeys.js +parallel/test-vm-ownpropertynames.js +parallel/test-vm-ownpropertysymbols.js +parallel/test-vm-parse-abort-on-uncaught-exception.js +parallel/test-vm-preserves-property.js +parallel/test-vm-property-not-on-sandbox.js +parallel/test-vm-proxies.js +parallel/test-vm-proxy-failure-CP.js +parallel/test-vm-run-in-new-context.js +parallel/test-vm-script-throw-in-tostring.js +parallel/test-vm-set-property-proxy.js +parallel/test-vm-set-proto-null-on-globalthis.js +parallel/test-vm-sigint-existing-handler.js +parallel/test-vm-sigint.js +parallel/test-vm-source-map-url.js +parallel/test-vm-static-this.js +parallel/test-vm-strict-assign.js +parallel/test-vm-strict-mode.js +parallel/test-vm-symbols.js +parallel/test-vm-syntax-error-message.js +parallel/test-vm-syntax-error-stderr.js +parallel/test-vm-timeout-escape-promise-2.js +parallel/test-vm-timeout-escape-promise.js +parallel/test-vm-timeout-escape-promise-module.js +parallel/test-vm-timeout.js +parallel/test-warn-sigprof.js +parallel/test-warn-stream-wrap.js +parallel/test-weakref.js +parallel/test-webcrypto-constructors.js +parallel/test-webcrypto-cryptokey-workers.js +parallel/test-webcrypto-derivebits-cfrg.js +parallel/test-webcrypto-derivebits-ecdh.js +parallel/test-webcrypto-derivebits-hkdf.js +parallel/test-webcrypto-derivebits.js +parallel/test-webcrypto-derivekey-cfrg.js +parallel/test-webcrypto-derivekey-ecdh.js +parallel/test-webcrypto-derivekey.js +parallel/test-webcrypto-digest.js +parallel/test-webcrypto-encrypt-decrypt-aes.js +parallel/test-webcrypto-encrypt-decrypt.js +parallel/test-webcrypto-encrypt-decrypt-rsa.js +parallel/test-webcrypto-export-import-cfrg.js +parallel/test-webcrypto-export-import-ec.js +parallel/test-webcrypto-export-import.js +parallel/test-webcrypto-export-import-rsa.js +parallel/test-webcrypto-getRandomValues.js +parallel/test-webcrypto-keygen.js +parallel/test-webcrypto-random.js +parallel/test-webcrypto-sign-verify-eddsa.js +parallel/test-webcrypto-sign-verify-hmac.js +parallel/test-webcrypto-sign-verify.js +parallel/test-webcrypto-util.js +parallel/test-webcrypto-webidl.js +parallel/test-webcrypto-wrap-unwrap.js +parallel/test-websocket-disabled.js +parallel/test-websocket.js +parallel/test-webstorage.js +parallel/test-webstream-encoding-inspect.js +parallel/test-webstream-readable-from.js +parallel/test-webstream-readablestream-pipeto.js +parallel/test-webstreams-abort-controller.js +parallel/test-webstreams-clone-unref.js +parallel/test-webstreams-compose.js +parallel/test-webstreams-finished.js +parallel/test-webstreams-pipeline.js +parallel/test-webstream-string-tag.js +parallel/test-whatwg-encoding-custom-api-basics.js +parallel/test-whatwg-encoding-custom-fatal-streaming.js +parallel/test-whatwg-encoding-custom-internals.js +parallel/test-whatwg-encoding-custom-interop.js +parallel/test-whatwg-encoding-custom-textdecoder-api-invalid-label.js +parallel/test-whatwg-encoding-custom-textdecoder-fatal.js +parallel/test-whatwg-encoding-custom-textdecoder-ignorebom.js +parallel/test-whatwg-encoding-custom-textdecoder-invalid-arg.js +parallel/test-whatwg-encoding-custom-textdecoder.js +parallel/test-whatwg-encoding-custom-textdecoder-streaming.js +parallel/test-whatwg-encoding-custom-textdecoder-utf16-surrogates.js +parallel/test-whatwg-events-add-event-listener-options-passive.js +parallel/test-whatwg-events-add-event-listener-options-signal.js +parallel/test-whatwg-events-customevent.js +parallel/test-whatwg-events-event-constructors.js +parallel/test-whatwg-events-eventtarget-this-of-listener.js +parallel/test-whatwg-readablebytestream-bad-buffers-and-views.js +parallel/test-whatwg-readablebytestreambyob.js +parallel/test-whatwg-readablebytestream.js +parallel/test-whatwg-readablestream.js +parallel/test-whatwg-transformstream.js +parallel/test-whatwg-url-canparse.js +parallel/test-whatwg-url-custom-deepequal.js +parallel/test-whatwg-url-custom-global.js +parallel/test-whatwg-url-custom-href-side-effect.js +parallel/test-whatwg-url-custom-inspect.js +parallel/test-whatwg-url-custom-parsing.js +parallel/test-whatwg-url-custom-properties.js +parallel/test-whatwg-url-custom-searchparams-append.js +parallel/test-whatwg-url-custom-searchparams-constructor.js +parallel/test-whatwg-url-custom-searchparams-delete.js +parallel/test-whatwg-url-custom-searchparams-entries.js +parallel/test-whatwg-url-custom-searchparams-foreach.js +parallel/test-whatwg-url-custom-searchparams-getall.js +parallel/test-whatwg-url-custom-searchparams-get.js +parallel/test-whatwg-url-custom-searchparams-has.js +parallel/test-whatwg-url-custom-searchparams-inspect.js +parallel/test-whatwg-url-custom-searchparams.js +parallel/test-whatwg-url-custom-searchparams-keys.js +parallel/test-whatwg-url-custom-searchparams-set.js +parallel/test-whatwg-url-custom-searchparams-sort.js +parallel/test-whatwg-url-custom-searchparams-stringifier.js +parallel/test-whatwg-url-custom-searchparams-values.js +parallel/test-whatwg-url-custom-setters.js +parallel/test-whatwg-url-custom-tostringtag.js +parallel/test-whatwg-url-invalidthis.js +parallel/test-whatwg-url-override-hostname.js +parallel/test-whatwg-url-properties.js +parallel/test-whatwg-webstreams-adapters-streambase.js +parallel/test-whatwg-webstreams-adapters-to-readablestream.js +parallel/test-whatwg-webstreams-adapters-to-readablewritablepair.js +parallel/test-whatwg-webstreams-adapters-to-streamduplex.js +parallel/test-whatwg-webstreams-adapters-to-streamreadable.js +parallel/test-whatwg-webstreams-adapters-to-streamwritable.js +parallel/test-whatwg-webstreams-adapters-to-writablestream.js +parallel/test-whatwg-webstreams-compression.js +parallel/test-whatwg-webstreams-coverage.js +parallel/test-whatwg-webstreams-encoding.js +parallel/test-whatwg-webstreams-transfer.js +parallel/test-whatwg-writablestream.js +parallel/test-windows-abort-exitcode.js +parallel/test-windows-failed-heap-allocation.js +parallel/test-worker-abort-on-uncaught-exception.js +parallel/test-worker-abort-on-uncaught-exception-terminate.js +parallel/test-worker-arraybuffer-zerofill.js +parallel/test-worker-beforeexit-throw-exit.js +parallel/test-worker-broadcastchannel.js +parallel/test-worker-broadcastchannel-wpt.js +parallel/test-worker-cjs-workerdata.js +parallel/test-worker-cleanexit-with-js.js +parallel/test-worker-cleanexit-with-moduleload.js +parallel/test-worker-cleanup-handles.js +parallel/test-worker-cli-options.js +parallel/test-worker-console-listeners.js +parallel/test-worker-crypto-sign-transfer-result.js +parallel/test-worker-data-url.js +parallel/test-worker-debug.js +parallel/test-worker-dns-terminate-during-query.js +parallel/test-worker-dns-terminate.js +parallel/test-worker-environmentdata.js +parallel/test-worker-error-stack-getter-throws.js +parallel/test-worker-esm-exit.js +parallel/test-worker-esm-missing-main.js +parallel/test-worker-esmodule.js +parallel/test-worker-eval-typescript.js +parallel/test-worker-event.js +parallel/test-worker-execargv-invalid.js +parallel/test-worker-execargv.js +parallel/test-worker-exit-code.js +parallel/test-worker-exit-event-error.js +parallel/test-worker-exit-from-uncaught-exception.js +parallel/test-worker-exit-heapsnapshot.js +parallel/test-worker-fs-stat-watcher.js +parallel/test-worker-hasref.js +parallel/test-worker-heapdump-failure.js +parallel/test-worker-heap-snapshot.js +parallel/test-worker-http2-generic-streams-terminate.js +parallel/test-worker-http2-stream-terminate.js +parallel/test-worker-init-failure.js +parallel/test-worker-invalid-workerdata.js +parallel/test-worker.js +parallel/test-worker-load-file-with-extension-other-than-js.js +parallel/test-worker-memory.js +parallel/test-worker-message-channel.js +parallel/test-worker-message-channel-sharedarraybuffer.js +parallel/test-worker-message-event.js +parallel/test-worker-message-mark-as-uncloneable.js +parallel/test-worker-message-not-serializable.js +parallel/test-worker-message-port-arraybuffer.js +parallel/test-worker-message-port-close.js +parallel/test-worker-message-port-close-while-receiving.js +parallel/test-worker-message-port-constructor.js +parallel/test-worker-message-port-drain.js +parallel/test-worker-messageport-hasref.js +parallel/test-worker-message-port-infinite-message-loop.js +parallel/test-worker-message-port-inspect-during-init-hook.js +parallel/test-worker-message-port.js +parallel/test-worker-message-port-jstransferable-nested-untransferable.js +parallel/test-worker-message-port-message-before-close.js +parallel/test-worker-message-port-message-port-transferring.js +parallel/test-worker-message-port-move.js +parallel/test-worker-message-port-multiple-sharedarraybuffers.js +parallel/test-worker-message-port-receive-message.js +parallel/test-worker-message-port-terminate-transfer-list.js +parallel/test-worker-message-port-transfer-closed.js +parallel/test-worker-message-port-transfer-duplicate.js +parallel/test-worker-message-port-transfer-fake-js-transferable-internal.js +parallel/test-worker-message-port-transfer-fake-js-transferable.js +parallel/test-worker-message-port-transfer-filehandle.js +parallel/test-worker-message-port-transfer-native.js +parallel/test-worker-message-port-transfer-self.js +parallel/test-worker-message-port-transfer-target.js +parallel/test-worker-message-port-transfer-terminate.js +parallel/test-worker-message-port-wasm-module.js +parallel/test-worker-message-port-wasm-threads.js +parallel/test-worker-message-transfer-port-mark-as-untransferable.js +parallel/test-worker-message-type-unknown.js +parallel/test-worker-messaging-errors-handler.js +parallel/test-worker-messaging-errors-invalid.js +parallel/test-worker-messaging-errors-timeout.js +parallel/test-worker-messaging.js +parallel/test-worker-mjs-workerdata.js +parallel/test-worker-name.js +parallel/test-worker-nearheaplimit-deadlock.js +parallel/test-worker-nested-on-process-exit.js +parallel/test-worker-nested-uncaught.js +parallel/test-worker-nexttick-terminate.js +parallel/test-worker-node-options.js +parallel/test-worker-non-fatal-uncaught-exception.js +parallel/test-worker-no-sab.js +parallel/test-worker-no-stdin-stdout-interaction.js +parallel/test-worker-onmessage.js +parallel/test-worker-onmessage-not-a-function.js +parallel/test-worker-on-process-exit.js +parallel/test-worker-parent-port-ref.js +parallel/test-worker-process-argv.js +parallel/test-worker-process-cwd.js +parallel/test-worker-process-env.js +parallel/test-worker-process-env-shared.js +parallel/test-worker-process-exit-async-module.js +parallel/test-worker-ref.js +parallel/test-worker-ref-onexit.js +parallel/test-worker-relative-path-double-dot.js +parallel/test-worker-relative-path.js +parallel/test-worker-resource-limits.js +parallel/test-worker-safe-getters.js +parallel/test-worker-sharedarraybuffer-from-worker-thread.js +parallel/test-worker-stack-overflow.js +parallel/test-worker-stack-overflow-stack-size.js +parallel/test-worker-stdio-flush-inflight.js +parallel/test-worker-stdio-flush.js +parallel/test-worker-stdio-from-preload-module.js +parallel/test-worker-stdio.js +parallel/test-worker-syntax-error-file.js +parallel/test-worker-syntax-error.js +parallel/test-worker-terminate-http2-respond-with-file.js +parallel/test-worker-terminate-microtask-loop.js +parallel/test-worker-terminate-nested.js +parallel/test-worker-terminate-null-handler.js +parallel/test-worker-terminate-ref-public-port.js +parallel/test-worker-terminate-source-map.js +parallel/test-worker-terminate-timers.js +parallel/test-worker-terminate-unrefed.js +parallel/test-worker-track-unmanaged-fds.js +parallel/test-worker-type-check.js +parallel/test-worker-uncaught-exception-async.js +parallel/test-worker-uncaught-exception.js +parallel/test-worker-unref-from-message-during-exit.js +parallel/test-worker-unsupported-path.js +parallel/test-worker-unsupported-things.js +parallel/test-worker-vm-context-terminate.js +parallel/test-worker-voluntarily-exit-followed-by-addition.js +parallel/test-worker-voluntarily-exit-followed-by-throw.js +parallel/test-worker-workerdata-messageport.js +parallel/test-worker-workerdata-sharedarraybuffer.js +parallel/test-wrap-js-stream-destroy.js +parallel/test-wrap-js-stream-duplex.js +parallel/test-wrap-js-stream-exceptions.js +parallel/test-wrap-js-stream-read-stop.js +parallel/test-x509-escaping.js +parallel/test-zlib-brotli-16GB.js +parallel/test-zlib-brotli-flush.js +parallel/test-zlib-brotli-from-brotli.js +parallel/test-zlib-brotli-from-string.js +parallel/test-zlib-brotli.js +parallel/test-zlib-brotli-kmaxlength-rangeerror.js +parallel/test-zlib-bytes-read.js +parallel/test-zlib-close-after-error.js +parallel/test-zlib-close-after-write.js +parallel/test-zlib-close-in-ondata.js +parallel/test-zlib-const.js +parallel/test-zlib-convenience-methods.js +parallel/test-zlib-crc32.js +parallel/test-zlib-create-raw.js +parallel/test-zlib-deflate-constructors.js +parallel/test-zlib-deflate-raw-inherits.js +parallel/test-zlib-destroy.js +parallel/test-zlib-destroy-pipe.js +parallel/test-zlib-dictionary-fail.js +parallel/test-zlib-dictionary.js +parallel/test-zlib-empty-buffer.js +parallel/test-zlib-failed-init.js +parallel/test-zlib-flush-drain.js +parallel/test-zlib-flush-drain-longblock.js +parallel/test-zlib-flush-flags.js +parallel/test-zlib-flush.js +parallel/test-zlib-flush-write-sync-interleaved.js +parallel/test-zlib-from-concatenated-gzip.js +parallel/test-zlib-from-gzip.js +parallel/test-zlib-from-gzip-with-trailing-garbage.js +parallel/test-zlib-from-string.js +parallel/test-zlib-invalid-arg-value-brotli-compress.js +parallel/test-zlib-invalid-input.js +parallel/test-zlib-invalid-input-memory.js +parallel/test-zlib.js +parallel/test-zlib-kmaxlength-rangeerror.js +parallel/test-zlib-maxOutputLength.js +parallel/test-zlib-no-stream.js +parallel/test-zlib-not-string-or-buffer.js +parallel/test-zlib-object-write.js +parallel/test-zlib-params.js +parallel/test-zlib-premature-end.js +parallel/test-zlib-random-byte-pipes.js +parallel/test-zlib-reset-before-write.js +parallel/test-zlib-sync-no-event.js +parallel/test-zlib-truncated.js +parallel/test-zlib-unused-weak.js +parallel/test-zlib-unzip-one-byte-chunks.js +parallel/test-zlib-write-after-close.js +parallel/test-zlib-write-after-end.js +parallel/test-zlib-write-after-flush.js +parallel/test-zlib-zero-byte.js +parallel/test-zlib-zero-windowBits.js +pseudo-tty/console_colors.js +pseudo-tty/console-dumb-tty.js +pseudo-tty/no_dropped_stdio.js +pseudo-tty/no_interleaved_stdio.js +pseudo-tty/ref_keeps_node_running.js +pseudo-tty/repl-dumb-tty.js diff --git a/v8.pc.in b/v8.pc.in new file mode 100644 index 0000000000000000000000000000000000000000..6b63094c8c4eaa94c525bef3e515c6d0646cd44b --- /dev/null +++ b/v8.pc.in @@ -0,0 +1,9 @@ +prefix=@PREFIX@ +includedir=@INCLUDEDIR@ +libdir=@LIBDIR@ + +Name: v8-@PKGCONFVERSION@ +Description: JavaScript Runtime +Version: @V8_VERSION@ +Libs: -L${libdir} -lv8 +Cflags: -I${includedir} diff --git a/wasi-sdk-11.0-linux.tar.gz b/wasi-sdk-11.0-linux.tar.gz deleted file mode 100644 index 006a6575c1db6df0d973fd9ea137817dd66ab74c..0000000000000000000000000000000000000000 Binary files a/wasi-sdk-11.0-linux.tar.gz and /dev/null differ