diff --git a/.gitignore b/.gitignore index e69de29..d583ab1 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,4 @@ +/icu4c-77_1-data-bin-b.zip +/icu4c-77_1-data-bin-l.zip +/node-v24.4.1-stripped.tar.gz +/packaging-scripts.tar.gz diff --git a/0001-Remove-unused-OpenSSL-config.patch b/0001-Remove-unused-OpenSSL-config.patch new file mode 100644 index 0000000..5ad7382 --- /dev/null +++ b/0001-Remove-unused-OpenSSL-config.patch @@ -0,0 +1,46 @@ +From e93d9b5fdcd8e5744de629461c03a07de2252f8f Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher +Date: Fri, 17 Apr 2020 12:59:44 +0200 +Subject: [PATCH] Remove unused OpenSSL config + +The build process will try to create these config files, even when +using the system OpenSSL and will thus fail since we strip this path +from the tarball. + +Signed-off-by: Stephen Gallagher +Signed-off-by: rpm-build +--- + node.gyp | 17 ----------------- + 1 file changed, 17 deletions(-) + +diff --git a/node.gyp b/node.gyp +index 1147495..da6ea50 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -822,23 +822,6 @@ + ], + }, + ], +- }, { +- 'variables': { +- 'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf', +- 'opensslconfig': './deps/openssl/nodejs-openssl.cnf', +- }, +- 'actions': [ +- { +- 'action_name': 'reset_openssl_cnf', +- 'inputs': [ '<(opensslconfig)', ], +- 'outputs': [ '<(opensslconfig_internal)', ], +- 'action': [ +- '<(python)', 'tools/copyfile.py', +- '<(opensslconfig)', +- '<(opensslconfig_internal)', +- ], +- }, +- ], + }], + ], + }, # node_core_target_name +-- +2.47.0 + diff --git a/0005-v8-highway-Fix-for-GCC-15-compiler-error-on-PPC8-PPC.patch b/0005-v8-highway-Fix-for-GCC-15-compiler-error-on-PPC8-PPC.patch new file mode 100644 index 0000000..815bbd7 --- /dev/null +++ b/0005-v8-highway-Fix-for-GCC-15-compiler-error-on-PPC8-PPC.patch @@ -0,0 +1,265 @@ +From 4208b7849eeee5c2aa76d692e2624bd80422057d Mon Sep 17 00:00:00 2001 +From: John Platts +Date: Fri, 17 Jan 2025 12:16:49 -0600 +Subject: [PATCH] v8(highway): Fix for GCC 15 compiler error on PPC8/PPC9/PPC10 + +Signed-off-by: rpm-build +--- + .../highway/src/hwy/ops/ppc_vsx-inl.h | 167 +++++++++++------- + 1 file changed, 103 insertions(+), 64 deletions(-) + +diff --git a/deps/v8/third_party/highway/src/hwy/ops/ppc_vsx-inl.h b/deps/v8/third_party/highway/src/hwy/ops/ppc_vsx-inl.h +index d216c54..73e736e 100644 +--- a/deps/v8/third_party/highway/src/hwy/ops/ppc_vsx-inl.h ++++ b/deps/v8/third_party/highway/src/hwy/ops/ppc_vsx-inl.h +@@ -3701,16 +3701,73 @@ static HWY_INLINE V VsxF2INormalizeSrcVals(V v) { + #endif + } + ++template ++static HWY_INLINE HWY_MAYBE_UNUSED VFromD>> ++VsxXvcvspsxds(VF32 vf32) { ++ using VI64 = VFromD>>; ++#if (HWY_COMPILER_GCC_ACTUAL && HWY_COMPILER_GCC_ACTUAL < 1500) || \ ++ HWY_HAS_BUILTIN(__builtin_vsx_xvcvspsxds) ++ // Use __builtin_vsx_xvcvspsxds if it is available (which is the case with ++ // GCC 4.8 through GCC 14 or Clang 13 or later on PPC8/PPC9/PPC10) ++ return VI64{__builtin_vsx_xvcvspsxds(vf32.raw)}; ++#elif HWY_COMPILER_GCC_ACTUAL >= 1500 && HWY_IS_LITTLE_ENDIAN ++ // On little-endian PPC8/PPC9/PPC10 with GCC 15 or later, use the F32->I64 ++ // vec_signedo intrinsic as the __builtin_vsx_xvcvspsxds intrinsic has been ++ // removed from GCC in GCC 15 ++ return VI64{vec_signedo(vf32.raw)}; ++#elif HWY_COMPILER_GCC_ACTUAL >= 1500 && HWY_IS_BIG_ENDIAN ++ // On big-endian PPC8/PPC9/PPC10 with GCC 15 or later, use the F32->I64 ++ // vec_signede intrinsic as the __builtin_vsx_xvcvspsxds intrinsic has been ++ // removed from GCC in GCC 15 ++ return VI64{vec_signede(vf32.raw)}; ++#else ++ // Inline assembly fallback for older versions of Clang that do not have the ++ // __builtin_vsx_xvcvspsxds intrinsic ++ __vector signed long long raw_result; ++ __asm__("xvcvspsxds %x0, %x1" : "=wa"(raw_result) : "wa"(vf32.raw) :); ++ return VI64{raw_result}; ++#endif ++} ++ ++template ++static HWY_INLINE HWY_MAYBE_UNUSED VFromD>> ++VsxXvcvspuxds(VF32 vf32) { ++ using VU64 = VFromD>>; ++#if (HWY_COMPILER_GCC_ACTUAL && HWY_COMPILER_GCC_ACTUAL < 1500) || \ ++ HWY_HAS_BUILTIN(__builtin_vsx_xvcvspuxds) ++ // Use __builtin_vsx_xvcvspuxds if it is available (which is the case with ++ // GCC 4.8 through GCC 14 or Clang 13 or later on PPC8/PPC9/PPC10) ++ return VU64{reinterpret_cast<__vector unsigned long long>( ++ __builtin_vsx_xvcvspuxds(vf32.raw))}; ++#elif HWY_COMPILER_GCC_ACTUAL >= 1500 && HWY_IS_LITTLE_ENDIAN ++ // On little-endian PPC8/PPC9/PPC10 with GCC 15 or later, use the F32->U64 ++ // vec_unsignedo intrinsic as the __builtin_vsx_xvcvspuxds intrinsic has been ++ // removed from GCC in GCC 15 ++ return VU64{vec_unsignedo(vf32.raw)}; ++#elif HWY_COMPILER_GCC_ACTUAL >= 1500 && HWY_IS_BIG_ENDIAN ++ // On big-endian PPC8/PPC9/PPC10 with GCC 15 or later, use the F32->U64 ++ // vec_unsignedo intrinsic as the __builtin_vsx_xvcvspuxds intrinsic has been ++ // removed from GCC in GCC 15 ++ return VU64{vec_unsignede(vf32.raw)}; ++#else ++ // Inline assembly fallback for older versions of Clang that do not have the ++ // __builtin_vsx_xvcvspuxds intrinsic ++ __vector unsigned long long raw_result; ++ __asm__("xvcvspuxds %x0, %x1" : "=wa"(raw_result) : "wa"(vf32.raw) :); ++ return VU64{raw_result}; ++#endif ++} ++ + } // namespace detail + #endif // !HWY_S390X_HAVE_Z14 + + template + HWY_API VFromD PromoteTo(D di64, VFromD> v) { +-#if !HWY_S390X_HAVE_Z14 && \ +- (HWY_COMPILER_GCC_ACTUAL || HWY_HAS_BUILTIN(__builtin_vsx_xvcvspsxds)) +- const __vector float raw_v = +- detail::VsxF2INormalizeSrcVals(InterleaveLower(v, v)).raw; +- return VFromD{__builtin_vsx_xvcvspsxds(raw_v)}; ++#if !HWY_S390X_HAVE_Z14 ++ const Repartition dt_f32; ++ const auto vt_f32 = ResizeBitCast(dt_f32, v); ++ return detail::VsxXvcvspsxds( ++ detail::VsxF2INormalizeSrcVals(InterleaveLower(vt_f32, vt_f32))); + #else + const RebindToFloat df64; + return ConvertTo(di64, PromoteTo(df64, v)); +@@ -3719,12 +3776,11 @@ HWY_API VFromD PromoteTo(D di64, VFromD> v) { + + template + HWY_API VFromD PromoteTo(D du64, VFromD> v) { +-#if !HWY_S390X_HAVE_Z14 && \ +- (HWY_COMPILER_GCC_ACTUAL || HWY_HAS_BUILTIN(__builtin_vsx_xvcvspuxds)) +- const __vector float raw_v = +- detail::VsxF2INormalizeSrcVals(InterleaveLower(v, v)).raw; +- return VFromD{reinterpret_cast<__vector unsigned long long>( +- __builtin_vsx_xvcvspuxds(raw_v))}; ++#if !HWY_S390X_HAVE_Z14 ++ const Repartition dt_f32; ++ const auto vt_f32 = ResizeBitCast(dt_f32, v); ++ return detail::VsxXvcvspuxds( ++ detail::VsxF2INormalizeSrcVals(InterleaveLower(vt_f32, vt_f32))); + #else + const RebindToFloat df64; + return ConvertTo(du64, PromoteTo(df64, v)); +@@ -3829,12 +3885,10 @@ HWY_API VFromD PromoteUpperTo(D df64, Vec128 v) { + + template + HWY_API VFromD PromoteUpperTo(D di64, Vec128 v) { +-#if !HWY_S390X_HAVE_Z14 && \ +- (HWY_COMPILER_GCC_ACTUAL || HWY_HAS_BUILTIN(__builtin_vsx_xvcvspsxds)) +- const __vector float raw_v = +- detail::VsxF2INormalizeSrcVals(InterleaveUpper(Full128(), v, v)) +- .raw; +- return VFromD{__builtin_vsx_xvcvspsxds(raw_v)}; ++#if !HWY_S390X_HAVE_Z14 ++ (void)di64; ++ return detail::VsxXvcvspsxds( ++ detail::VsxF2INormalizeSrcVals(InterleaveUpper(Full128(), v, v))); + #else + const RebindToFloat df64; + return ConvertTo(di64, PromoteUpperTo(df64, v)); +@@ -3843,13 +3897,10 @@ HWY_API VFromD PromoteUpperTo(D di64, Vec128 v) { + + template + HWY_API VFromD PromoteUpperTo(D du64, Vec128 v) { +-#if !HWY_S390X_HAVE_Z14 && \ +- (HWY_COMPILER_GCC_ACTUAL || HWY_HAS_BUILTIN(__builtin_vsx_xvcvspuxds)) +- const __vector float raw_v = +- detail::VsxF2INormalizeSrcVals(InterleaveUpper(Full128(), v, v)) +- .raw; +- return VFromD{reinterpret_cast<__vector unsigned long long>( +- __builtin_vsx_xvcvspuxds(raw_v))}; ++#if !HWY_S390X_HAVE_Z14 ++ (void)du64; ++ return detail::VsxXvcvspuxds( ++ detail::VsxF2INormalizeSrcVals(InterleaveUpper(Full128(), v, v))); + #else + const RebindToFloat df64; + return ConvertTo(du64, PromoteUpperTo(df64, v)); +@@ -3937,20 +3988,18 @@ HWY_INLINE VFromD PromoteEvenTo(hwy::SignedTag /*to_type_tag*/, + hwy::SizeTag<8> /*to_lane_size_tag*/, + hwy::FloatTag /*from_type_tag*/, D d_to, + V v) { +-#if !HWY_S390X_HAVE_Z14 && \ +- (HWY_COMPILER_GCC_ACTUAL || HWY_HAS_BUILTIN(__builtin_vsx_xvcvspsxds)) ++#if !HWY_S390X_HAVE_Z14 + (void)d_to; + const auto normalized_v = detail::VsxF2INormalizeSrcVals(v); + #if HWY_IS_LITTLE_ENDIAN +- // __builtin_vsx_xvcvspsxds expects the source values to be in the odd lanes +- // on little-endian PPC, and the vec_sld operation below will shift the even ++ // VsxXvcvspsxds expects the source values to be in the odd lanes on ++ // little-endian PPC, and the Shuffle2103 operation below will shift the even + // lanes of normalized_v into the odd lanes. +- return VFromD{ +- __builtin_vsx_xvcvspsxds(vec_sld(normalized_v.raw, normalized_v.raw, 4))}; ++ return VsxXvcvspsxds(Shuffle2103(normalized_v)); + #else +- // __builtin_vsx_xvcvspsxds expects the source values to be in the even lanes +- // on big-endian PPC. +- return VFromD{__builtin_vsx_xvcvspsxds(normalized_v.raw)}; ++ // VsxXvcvspsxds expects the source values to be in the even lanes on ++ // big-endian PPC. ++ return VsxXvcvspsxds(normalized_v); + #endif + #else + const RebindToFloat df64; +@@ -3965,22 +4014,18 @@ HWY_INLINE VFromD PromoteEvenTo(hwy::UnsignedTag /*to_type_tag*/, + hwy::SizeTag<8> /*to_lane_size_tag*/, + hwy::FloatTag /*from_type_tag*/, D d_to, + V v) { +-#if !HWY_S390X_HAVE_Z14 && \ +- (HWY_COMPILER_GCC_ACTUAL || HWY_HAS_BUILTIN(__builtin_vsx_xvcvspuxds)) ++#if !HWY_S390X_HAVE_Z14 + (void)d_to; + const auto normalized_v = detail::VsxF2INormalizeSrcVals(v); + #if HWY_IS_LITTLE_ENDIAN +- // __builtin_vsx_xvcvspuxds expects the source values to be in the odd lanes +- // on little-endian PPC, and the vec_sld operation below will shift the even +- // lanes of normalized_v into the odd lanes. +- return VFromD{ +- reinterpret_cast<__vector unsigned long long>(__builtin_vsx_xvcvspuxds( +- vec_sld(normalized_v.raw, normalized_v.raw, 4)))}; ++ // VsxXvcvspuxds expects the source values to be in the odd lanes ++ // on little-endian PPC, and the Shuffle2103 operation below will shift the ++ // even lanes of normalized_v into the odd lanes. ++ return VsxXvcvspuxds(Shuffle2103(normalized_v)); + #else +- // __builtin_vsx_xvcvspuxds expects the source values to be in the even lanes ++ // VsxXvcvspuxds expects the source values to be in the even lanes + // on big-endian PPC. +- return VFromD{reinterpret_cast<__vector unsigned long long>( +- __builtin_vsx_xvcvspuxds(normalized_v.raw))}; ++ return VsxXvcvspuxds(normalized_v); + #endif + #else + const RebindToFloat df64; +@@ -4022,20 +4067,18 @@ HWY_INLINE VFromD PromoteOddTo(hwy::SignedTag /*to_type_tag*/, + hwy::SizeTag<8> /*to_lane_size_tag*/, + hwy::FloatTag /*from_type_tag*/, D d_to, + V v) { +-#if !HWY_S390X_HAVE_Z14 && \ +- (HWY_COMPILER_GCC_ACTUAL || HWY_HAS_BUILTIN(__builtin_vsx_xvcvspsxds)) ++#if !HWY_S390X_HAVE_Z14 + (void)d_to; + const auto normalized_v = detail::VsxF2INormalizeSrcVals(v); + #if HWY_IS_LITTLE_ENDIAN +- // __builtin_vsx_xvcvspsxds expects the source values to be in the odd lanes ++ // VsxXvcvspsxds expects the source values to be in the odd lanes + // on little-endian PPC +- return VFromD{__builtin_vsx_xvcvspsxds(normalized_v.raw)}; ++ return VsxXvcvspsxds(normalized_v); + #else +- // __builtin_vsx_xvcvspsxds expects the source values to be in the even lanes +- // on big-endian PPC, and the vec_sld operation below will shift the odd lanes +- // of normalized_v into the even lanes. +- return VFromD{ +- __builtin_vsx_xvcvspsxds(vec_sld(normalized_v.raw, normalized_v.raw, 4))}; ++ // VsxXvcvspsxds expects the source values to be in the even lanes ++ // on big-endian PPC, and the Shuffle0321 operation below will shift the odd ++ // lanes of normalized_v into the even lanes. ++ return VsxXvcvspsxds(Shuffle0321(normalized_v)); + #endif + #else + const RebindToFloat df64; +@@ -4050,22 +4093,18 @@ HWY_INLINE VFromD PromoteOddTo(hwy::UnsignedTag /*to_type_tag*/, + hwy::SizeTag<8> /*to_lane_size_tag*/, + hwy::FloatTag /*from_type_tag*/, D d_to, + V v) { +-#if !HWY_S390X_HAVE_Z14 && \ +- (HWY_COMPILER_GCC_ACTUAL || HWY_HAS_BUILTIN(__builtin_vsx_xvcvspuxds)) ++#if !HWY_S390X_HAVE_Z14 + (void)d_to; + const auto normalized_v = detail::VsxF2INormalizeSrcVals(v); + #if HWY_IS_LITTLE_ENDIAN +- // __builtin_vsx_xvcvspuxds expects the source values to be in the odd lanes ++ // VsxXvcvspuxds expects the source values to be in the odd lanes + // on little-endian PPC +- return VFromD{reinterpret_cast<__vector unsigned long long>( +- __builtin_vsx_xvcvspuxds(normalized_v.raw))}; ++ return VsxXvcvspuxds(normalized_v); + #else +- // __builtin_vsx_xvcvspuxds expects the source values to be in the even lanes +- // on big-endian PPC, and the vec_sld operation below will shift the odd lanes +- // of normalized_v into the even lanes. +- return VFromD{ +- reinterpret_cast<__vector unsigned long long>(__builtin_vsx_xvcvspuxds( +- vec_sld(normalized_v.raw, normalized_v.raw, 4)))}; ++ // VsxXvcvspuxds expects the source values to be in the even lanes ++ // on big-endian PPC, and the Shuffle0321 operation below will shift the odd ++ // lanes of normalized_v into the even lanes. ++ return VsxXvcvspuxds(Shuffle0321(normalized_v)); + #endif + #else + const RebindToFloat df64; +-- +2.50.0 + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4b23044 --- /dev/null +++ b/Makefile @@ -0,0 +1,55 @@ +# This is a packager-level Makefile, used for task related to the RPM updates. + +# === Paths +# Directory of current Makefile; assumed to be the same as the .spec file. +MAKEDIR := $(dir $(lastword ${MAKEFILE_LIST})) +SPECFILE ?= $(wildcard ${MAKEDIR}nodejs*.spec) + +# === Tools +GIT := git +RPM := rpm -D '_sourcedir ${MAKEDIR}' +RPKG ?= fedpkg +SPECTOOL := rpmdev-spectool --define '_sourcedir ${MAKEDIR}' +TAR := tar + +# === Variables potentially overwritten from environment +# Version we want to update to. +TARGET_VERSION ?= $(error No target version specified for update!) + +# === File lists +# Source files that are not stored directly in git +SOURCES := $(shell ${SPECTOOL} --list-files --source 0,1,2,100 ${SPECFILE}|sed -E 's/^Source[[:digit:]]*: //'|xargs basename -a) +# Packaging support files +PACKAGING := Makefile packaging/make-nodejs-tarball.sh packaging/fill-versions.sh + +# === Control targets / actions === +.PHONY: update clean + +# Update the package to TARGET_VERSION +update: ${SPECFILE} packaging/fill-versions.sh + sed -Ei '/^%nodejs_define_version\s+node\>/s|:[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+-|:${TARGET_VERSION}-|' '${SPECFILE}' + ${MAKE} node-v${TARGET_VERSION}-stripped.tar.gz + packaging/fill-versions.sh '${SPECFILE}' node-v${TARGET_VERSION}-stripped.tar.gz + ${GIT} add '${SPECFILE}' + ${MAKE} sources + +# Remove all downloaded and/or created files +clean: + $(RM) -r node-v*-stripped.tar.gz node-v*/ # main archive and it's expanded contents + $(RM) icu4c-*-data-bin-?.zip # ICU database + $(RM) packaging-scripts.tar.gz # packaging tarball + +# === Recipes for concrete files === + +# Upload new sources to lookaside cache +sources: ${SOURCES} + ${RPKG} new-sources $^ + +node-v%-stripped.tar.gz: packaging/make-nodejs-tarball.sh + $< $* + +icu4c-%-data-bin-b.zip icu4c-%-data-bin-l.zip &: ${SPECFILE} + ${SPECTOOL} --get-files --source 1,2 $< + +packaging-scripts.tar.gz: ${PACKAGING} + ${TAR} -czf $@ $^ diff --git a/i18n-btest402.js b/i18n-btest402.js new file mode 100644 index 0000000..277319c --- /dev/null +++ b/i18n-btest402.js @@ -0,0 +1,151 @@ +// Copyright (C) 2014 IBM Corporation and Others. All Rights Reserved. +// This file is part of the Node.JS ICU enablement work +// https://github.com/joyent/node/pull/7719 +// and is under the same license. +// +// This is a very, very, very basic test of es402 +// +// URL: https://github.com/srl295/btest402 +// Author: Steven R. Loomis +// +// for a complete test, see http://test262.ecmascript.org +// +// Usage: node btest402.js + +try { + console.log("You have console.log."); +} catch(e) { + // this works on d8 + console = { log: print }; + console.log("Now you have console.log."); +} + +function runbtest() { + var summary = {}; + + try { + var i = Intl; + summary.haveIntl = true; + console.log("+ Congrats, you have the Intl object."); + } catch(e) { + console.log("You don't have the Intl object: " + e); + } + + if(summary.haveIntl) { + var locs = [ "en", "mt", "ja","tlh"]; + var d = new Date(196400000); + for ( var n=0; n 0 ) { + lsummary.haveSlo = true; + } + } catch (e) { + console.log("SLO err: " + e); + } + var dstr = "ERR"; + try { + lsummary.dstr = d.toLocaleString(loc,{month: "long",day:"numeric",weekday:"long",year:"numeric"}); + console.log(" date: (supported:"+sl+") " + lsummary.dstr); + } catch (e) { + console.log(" Date Format err: " + e); + } + try { + new Intl.v8BreakIterator(); + console.log(" Intl.v8BreakIterator:" + + Intl.v8BreakIterator.supportedLocalesOf(loc) + " Supported, first()==" + + new Intl.v8BreakIterator(loc).first() ); + lsummary.brkOk = true; + } catch ( e) { + console.log(" Intl.v8BreakIterator error (NOT part of EcmaScript402): " + e); + } + console.log(); + } + } + + // print summary + console.log(); + console.log("--------- Analysis ---------"); + stxt = ""; + if( summary.haveIntl ) { + console.log("* You have the 'Intl' object. Congratulations! You have the possibility of being EcmaScript 402 compliant."); + stxt += "Have Intl, "; + + if ( !summary.en.haveSlo ) { + stxt += "Date:no EN, "; + console.log("* English isn't a supported language by the date formatter. Perhaps the data isn't installed properly?"); + } + if ( !summary.tlh.haveSlo ) { + stxt += "Date:no 'tlh', "; + console.log("* Klingon isn't a supported language by the date formatter. It is without honor!"); + } + // now, what is it actually saying + if( summary.en.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'en', "; + console.log("* the English date format text looks bad to me. Doesn't even have the year."); + } else { + if( summary.en.dstr.indexOf("Jan") == -1) { + stxt += "Date:bad 'en', "; + console.log("* The English date format text looks bad to me. Doesn't have the right month."); + } + } + + if( summary.mt.dstr == summary.en.dstr ) { + stxt += "Date:'mt'=='en', "; + console.log("* The English and Maltese look the same to me. Probably a 'small' build."); + } else if( summary.mt.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'mt', "; + console.log("* the Maltese date format text looks bad to me. Doesn't even have the year. (This data is missing from the Chromium ICU build)"); + } else { + if( summary.mt.dstr.indexOf("Jann") == -1) { + stxt += "Date:bad 'mt', "; + console.log("* The Maltese date format text looks bad to me. Doesn't have the right month. (This data is missing from the Chromium ICU build)"); + } + } + + if ( !summary.ja.haveSlo ) { + stxt += "Date:no 'ja', "; + console.log("* Japanese isn't a supported language by the date formatter. Could be a 'small' build."); + } else { + if( summary.ja.dstr.indexOf("1970") == -1) { + stxt += "Date:bad 'ja', "; + console.log("* the Japanese date format text looks bad to me. Doesn't even have the year."); + } else { + if( summary.ja.dstr.indexOf("日") == -1) { + stxt += "Date:bad 'ja', "; + console.log("* The Japanese date format text looks bad to me."); + } + } + } + if ( summary.en.brkOk ) { + stxt += "FYI: v8Brk:have 'en', "; + console.log("* You have Intl.v8BreakIterator support. (Note: not part of ES402.)"); + } + } else { + console.log("* You don't have the 'Intl' object. You aren't EcmaScript 402 compliant."); + stxt += " NO Intl. "; + } + + // 1-liner. + console.log(); + console.log("----------------"); + console.log( "SUMMARY:" + stxt ); +} + +var dorun = true; + +try { + if(btest402_noautorun) { + dorun = false; + } +} catch(e) {} + +if(dorun) { + console.log("Running btest.."); + runbtest(); +} diff --git a/nodejs.pc.in b/nodejs.pc.in new file mode 100644 index 0000000..f83ddd1 --- /dev/null +++ b/nodejs.pc.in @@ -0,0 +1,9 @@ +prefix=@PREFIX@ +includedir=@INCLUDEDIR@ +libdir=@LIBDIR@ + +Name: @PKGCONFNAME@ +Description: JavaScript Runtime +Version: @NODEJS_VERSION@ +Libs: -L${libdir} -lnode +Cflags: -I${includedir}/node diff --git a/nodejs.srpm.macros b/nodejs.srpm.macros new file mode 100644 index 0000000..4b02722 --- /dev/null +++ b/nodejs.srpm.macros @@ -0,0 +1,119 @@ +# ============================================================================ +# Vendored dependencies management + +# --- Version macros definition +# Parse and normalize version string into several macros. +# By default, stores the whole string in `%_evr` macro, +# then automatically strips any epoch and/or release parts +# (specified in the standard "E:V-R" format) +# and defines `%_epoch`, `%_version`, and `%_release` macros. +# +# With the `-p` option, the version is additionally split into +# `%_version_major`, `%_version_minor`, and `%_version_patch` macros. +# +# Any would-be empty macro will evaluate to `%{nil}`. +# +# Options: +# -p : Also define the partial macros. +# +# Arguments: +# 1: Name of the dependency. Any `-' will be replaced by `_' in the macro names. +# 2: The EVR string to parse. +%nodejs_define_version(p) %{lua: +local component = arg[1] or error("No name provided!") +local evr = arg[2] or error("No version string provided!") + +local name = component:gsub("-", "_") -- macro-safe name + +macros[name .. "_evr"] = evr + +local _, epoch_end, epoch = evr:find("^(%d+):") +macros[name .. "_epoch"] = epoch + +local release_start, _, release = evr:find("%-([^-]+)$") +macros[name .. "_release"] = release + +local version_start, version_end = 0, -1 +if epoch_end then version_start = epoch_end + 1 end +if release_start then version_end = release_start -1 end + +local version = evr:sub(version_start, version_end) +macros[name .. "_version"] = version + +if opt.p then + local parts = {}; for p in version:gmatch("[^.]+") do table.insert(parts, p) end + macros[name .. "_version_major"] = parts[1] + macros[name .. "_version_minor"] = parts[2] + macros[name .. "_version_patch"] = parts[3] +end +} + +# --- Declare vendored dependency +# Emits bcond-controlled RPM tags for a (potentially) vendored dependency. +# +# By default, it emits `Provides: bundled() = ` for given arguments. +# If de-vendoring option is provided, also defines a bcond that controls whether to de-vendor or not. +# The default is to de-vendor when possible unless a global bcond (`all_deps_bundled`) is set. +# +# Options: +# -a : Autoversion – try using `_version` macro if the version argument is empty. +# -n[npmname,...] : Also provide the respective npm module name when vendoring. +# -p[pkgname,...] : Use pkgconfig to BuildRequire de-vendored dependency. +# -r[rpmname,...] : Also explicitly declare run time requirement. +# -s[rpmname,...] : BuildRequire de-vendored dependency by RPM name. +# +# All above options accept optional parameter overriding the component name in respective tag. +# If needed, multiple values can be requested by separating them with a comma. +# +# When a name is used in a macro context (for example, in the -a option), +# the same name-mangling as for nodejs_define_version is used; +# no need to adjust it by hand. +# +# Arguments: +# 1: Name of the vendored component. Should be appropriate for `Provides: bundled()` tag. +# 2: Version of the vendored component. Ignored if de-vendored. +%nodejs_declare_bundled(an::p::r::s::) %{lua: +local component = arg[1] or error("Vendored component was not named!") +local version = arg[2] or (opt.a and macros[component:gsub("-", "_") .. "_version"]) or error("Missing component version!") + +local mapvalues = function(fn, tbl) + local output = {}; for _, val in ipairs(tbl) do table.insert(output, fn(val)) end; return output +end +local splitnames = function(input) + local output = {}; for m in input:gmatch("[^,]+") do table.insert(output, m) end; return output +end +local nl = string.char(10); -- \n does not work in rpmlua + +local possible_to_devendor = opt.p or opt.s +local should_devendor = possible_to_devendor and macros.with{"all_deps_bundled"} == "0" + +local bcond_name = "bundled_" .. component:gsub("-", "_") +macros.bcond{bcond_name, should_devendor and "0" or "1"} + +if macros.with{bcond_name} == "1" then + local provides = {string.format("bundled(%s) = %s", component, version)} + if opt.n then + local names = {component}; if opt.n ~= "" then names = splitnames(opt.n) end + for _, name in ipairs(names) do + table.insert(provides, string.format("npm(%s) = %s", name, version)) + end + end + return "Provides: " .. table.concat(provides, ", ") +end + +local buildrequire, require = nil, nil +if opt.p then + local format = function(n) return string.format("pkgconfig(%s)", n) end + local names = {component}; if opt.p ~= "" then names = splitnames(opt.p) end + buildrequire = "BuildRequires: " .. table.concat(mapvalues(format, names), ", ") +elseif opt.s then + local names = {component}; if opt.s ~= "" then names = splitnames(opt.s) end + buildrequire = "BuildRequires: " .. table.concat(names, ", ") +end +if opt.r then + local names = {component}; if opt.r ~= "" then names = splitnames(opt.r) end + require = "Requires: " .. table.concat(names, ", ") +end + +return table.concat({buildrequire, require}, nl) +} diff --git a/nodejs24.spec b/nodejs24.spec new file mode 100644 index 0000000..2aea087 --- /dev/null +++ b/nodejs24.spec @@ -0,0 +1,583 @@ +# This should be moved to rpm-redhat-config or similar as soon as feasible +# NOTE: %%SOURCE macros are not yet defined, so explicit path is needed +%{load:%{_sourcedir}/nodejs.srpm.macros} + +# === Versions of any software shipped in the main nodejs tarball +%nodejs_define_version node 1:24.4.1-%{autorelease} -p + +# The following ones are generated via script; +# expect anything between the markers to be overwritten on any update. + +# BEGIN automatic-version-macros # DO NOT REMOVE THIS LINE! +# Version from node-v24.4.1/src/node_version.h +%global node_soversion 137 + +# Version from node-v24.4.1/deps/ada/ada.h +%nodejs_define_version ada 3.2.4 +# Version from node-v24.4.1/deps/brotli/c/common/version.h +%nodejs_define_version brotli 1.1.0 +# Version from node-v24.4.1/deps/cares/include/ares_version.h +%nodejs_define_version c_ares 1.34.5 +# Version from node-v24.4.1/deps/histogram/include/hdr/hdr_histogram_version.h +%nodejs_define_version histogram 0.11.8 +# Version from node-v24.4.1/tools/icu/current_ver.dep +%nodejs_define_version icu 77.1 -p +# Version from node-v24.4.1/deps/uv/include/uv/version.h +%nodejs_define_version libuv 1.51.0 +# Version from node-v24.4.1/deps/llhttp/include/llhttp.h +%nodejs_define_version llhttp 9.3.0 +# Version from node-v24.4.1/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +%nodejs_define_version nghttp2 1.66.0 +# Version from node-v24.4.1/deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h +%nodejs_define_version nghttp3 1.6.0 +# Version from node-v24.4.1/deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h +%nodejs_define_version ngtcp2 1.11.0 +# Version from node-v24.4.1/deps/cjs-module-lexer/src/package.json +%nodejs_define_version nodejs-cjs-module-lexer 2.1.0 +# Version from node-v24.4.1/lib/punycode.js +%nodejs_define_version nodejs-punycode 2.1.0 +# Version from node-v24.4.1/deps/undici/src/package.json +%nodejs_define_version nodejs-undici 7.11.0 +# Version from node-v24.4.1/deps/npm/package.json +%nodejs_define_version npm 1:11.4.2 +# Version from node-v24.4.1/deps/sqlite/sqlite3.h +%nodejs_define_version sqlite 3.50.2 +# Version from node-v24.4.1/deps/uvwasi/include/uvwasi.h +%nodejs_define_version uvwasi 0.0.21 +# Version from node-v24.4.1/deps/v8/include/v8-version.h +%nodejs_define_version v8 3:13.6.233.10 -p +# Version from node-v24.4.1/deps/zlib/zlib.h +%nodejs_define_version zlib 1.3.1 +# END automatic-version-macros # DO NOT REMOVE THIS LINE! + +# Special release for sub-packages with their own version string. +# The complex release string ensures that the subpackage release is always increasing, +# even in the event that the main package version changes +# while the sub-package version stays the same. +%global nodejs_subpackage_release %{node_epoch}.%{node_version}.%{node_release} + +# === Conditional build – global options +# Use all vendored dependencies when bootstrapping +%bcond all_deps_bundled %{with bootstrap} + +# === Distro-wide build configuration adjustments === +# v8 cannot be built with LTO enabled; +# the rest of the build should be LTO enabled via the configure script +%global _lto_cflags %{nil} + +# === Additional definitions === +# Architecture-dependent suffix for requiring/providing .so names +%if 0%{?__isa_bits} == 64 +%global _so_arch_suffix ()(64bit) +%endif +# place for data files +%global nodejs_datadir %{_datarootdir}/node-%{node_version_major} +# place for (npm) packages used by multiple streams and/or that are stream-agnostic (do not care) +%global nodejs_common_sitelib %{_prefix}/lib/node_modules +# place for (npm) packages specific to this stream +%global nodejs_private_sitelib %{_prefix}/lib/node_modules_%{node_version_major} + +Name: nodejs%{node_version_major} +Epoch: %{node_epoch} +Version: %{node_version} +Release: %{node_release} + +Summary: JavaScript runtime +License: Apache-2.0 AND Artistic-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BlueOak-1.0.0 AND CC-BY-3.0 AND CC0-1.0 AND ISC AND MIT +URL: https://nodejs.org + +ExclusiveArch: %{nodejs_arches} +# v8 does not build on i686 any more +ExcludeArch: %{ix86} + +# SPEC tools – additiona macros, dependency generators, and utilities +BuildRequires: chrpath +BuildRequires: git-core +BuildRequires: jq +BuildRequires: nodejs-packaging +# Build system and supporting tools +BuildRequires: gcc >= 10.0, gcc-c++ >= 10.0, pkgconf, ninja-build +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: %{py3_dist setuptools jinja2} +# Additional libraries, either system or vendored ones +BuildRequires: pkgconfig(openssl) >= 3.0.2 +%nodejs_declare_bundled -a ada +%nodejs_declare_bundled -a brotli -plibbrotlidec,libbrotlienc +%nodejs_declare_bundled -a c-ares -plibcares +%nodejs_declare_bundled -a histogram +%nodejs_declare_bundled -a icu +%nodejs_declare_bundled -a libuv -p +%nodejs_declare_bundled -a llhttp +%nodejs_declare_bundled -a nghttp2 +%nodejs_declare_bundled -a nghttp3 +%nodejs_declare_bundled -a ngtcp2 +%nodejs_declare_bundled -a nodejs-cjs-module-lexer +%nodejs_declare_bundled -a nodejs-punycode -npunycode +%nodejs_declare_bundled -a nodejs-undici +%nodejs_declare_bundled -a sqlite -psqlite3 +%nodejs_declare_bundled -a uvwasi +%nodejs_declare_bundled -a v8 +%nodejs_declare_bundled -a zlib -p +# Run-time dependencies of the main package +Requires: ca-certificates +# Required and/or recommended sub-packages +Requires: %{name}-libs%{?_isa} = %{node_evr} +Recommends: %{name}-docs = %{node_evr} +Recommends: %{name}-full-i18n%{?_isa} = %{node_evr} +Recommends: %{name}-npm >= %{npm_epoch}:%{npm_version}-%{nodejs_subpackage_release} +# Virtual provides +Provides: nodejs(abi) = %{node_soversion}, nodejs(abi%{node_version_major}) = %{node_soversion} +Provides: nodejs(engine) = %{node_version} + +# Main source tarball; see packaging/make-nodejs-tarball.sh on how it is created +Source: node-v%{node_version}-stripped.tar.gz +# Sources 001-099: reserved for additional sources to be installed +# - Full ICU database data +Source001: https://github.com/unicode-org/icu/releases/download/release-%{icu_version_major}-%{icu_version_minor}/icu4c-%{icu_version_major}_%{icu_version_minor}-data-bin-b.zip +Source002: https://github.com/unicode-org/icu/releases/download/release-%{icu_version_major}-%{icu_version_minor}/icu4c-%{icu_version_major}_%{icu_version_minor}-data-bin-l.zip +# - Downstream/distribution configuration files +Source003: nodejs.pc.in +Source004: v8.pc.in +Source005: npmrc.in +# - Check section tests +Source010: test-runner.sh +Source011: test-should-pass.txt +Source020: i18n-btest402.js +# Source 100+: Packaging support files that won't be installed +# - Packaging supports scripts and Makefile, used to semi-automate RPM updates. See the Makefile in the tarball on how this is created. +Source100: packaging-scripts.tar.gz +# - Additional SRPM macros +Source101: nodejs.srpm.macros + +%patchlist +0001-Remove-unused-OpenSSL-config.patch +0005-v8-highway-Fix-for-GCC-15-compiler-error-on-PPC8-PPC.patch + +%description +Node.js is a platform built on Chrome's JavaScript runtime +for easily building fast, scalable network applications. +Node.js uses an event-driven, non-blocking I/O model that +makes it lightweight and efficient, perfect for data-intensive +real-time applications that run across distributed devices. + +%package devel +Summary: JavaScript runtime – development headers +Requires: nodejs%{node_version_major}%{?_isa} = %{node_evr} +Requires: nodejs%{node_version_major}-libs%{?_isa} = %{node_evr} +Requires: nodejs-packaging +Requires: openssl-devel%{?_isa} +%{!?with_bundled_brotli:Requires: brotli-devel%{?_isa}} +%{!?with_bundled_libuv:Requires: libuv-devel%{?_isa}} +%{!?with_bundled_zlib:Requires: zlib-devel%{?_isa}} +# Note: -devel sub-packages of the various streams conflict with each other, +# as the headers cannot be easily namespaced (would break at lease node-gyp search path). +# Hence the Provides: in place of metapackage. +Provides: nodejs-devel = %{node_evr} + +%description devel +Development headers for the Node.js JavaScript runtime. + +%package -n v8-%{v8_version_major}.%{v8_version_minor}-devel +Summary: v8 – development headers +Epoch: %{v8_epoch} +Version: %{v8_version} +Release: %{nodejs_subpackage_release} + +Requires: nodejs%{node_version_major}-devel%{?_isa} = %{node_evr} +Requires: nodejs%{node_version_major}-libs%{?_isa} = %{node_evr} +Provides: v8-devel = %{v8_epoch}:%{v8_version}-%{nodejs_subpackage_release} +Obsoletes: v8-devel <= 2:10.2.154, v8-314-devel <= 2:3.14 + +%description -n v8-%{v8_version_major}.%{v8_version_minor}-devel +Development headers for the v8 runtime. + +%package libs +Summary: Node.js and v8 libraries +# v8 used to be a separate package; keep providing it virtually +Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_subpackage_release} +Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_subpackage_release} +Obsoletes: v8 < 1:6.7.17-10 +Provides: libv8.so.%{v8_version_major}%{?_so_arch_suffix} = %{v8_epoch}:%{v8_version} +Provides: libv8_libbase.so.%{v8_version_major}%{?_so_arch_suffix} = %{v8_epoch}:%{v8_version} +Provides: libv8_libplatform.so.%{v8_version_major}%{?_so_arch_suffix} = %{v8_epoch}:%{v8_version} + +%description libs +Libraries to support Node.js and provide stable v8 interfaces. + +%package full-i18n +Summary: Non-English locale data for Node.js +Requires: nodejs%{node_version_major}%{?_isa} = %{node_evr} + +%description full-i18n +Optional data files to provide full ICU support for Node.js. +Remove this package to save space if non-English locales are not needed. + +%package docs +Summary: Node.js API documentation +BuildArch: noarch +Requires(meta): nodejs%{node_version_major} = %{node_evr} + +%description docs +The API documentation for the Node.js JavaScript runtime. + +%package npm +Summary: Node.js Package Manager +Epoch: %{npm_epoch} +Version: %{npm_version} +Release: %{nodejs_subpackage_release} + +BuildArch: noarch +Requires: nodejs%{node_version_major} = %{node_evr} +Recommends: nodejs%{node_version_major}-docs = %{node_evr} +Provides: npm(npm) = %{npm_version} + +%description npm +npm is a package manager for node.js. You can use it to install and publish +your node programs. It manages dependencies and does other cool stuff. + + +%prep +%autosetup -n node-v%{node_version} -S git_am +# clean the archive of the de-vendored dependencies, ensuring they are not used +readonly -a devendored_paths=( + deps/v8/third_party/jinja2 tools/inspector_protocol/jinja2 + %{?!with_bundled_brotli:deps/brotli} + %{?!with_bundled_c_ares:deps/cares} + %{?!with_bundled_libuv:deps/uv} + %{?!with_bundled_nodejs_cjs_module_lexer:deps/cjs-module-lexer} + %{?!with_bundled_nodejs_undici:deps/undici} + %{?!with_bundled_sqlite:deps/sqlite} + %{?!with_bundled_zlib:deps/zlib} +) +rm -rf "${devendored_paths[@]}" + +# use system python throughout the whole sources +readonly -a potential_python_scripts=( + $(grep --recursive --files-with-matches --max-count=1 python) +) +%py3_shebang_fix "${potential_python_scripts[@]}" + +%build +# additional build flags +readonly -a extra_cflags=( + # Decrease debuginfo verbosity; otherwise, + # the linker will run out of memory when linking v8 + -g1 + # For i686 compatibility, build with defines from libuv (rhbz#892601) + -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 + # Do not use OpenSSL Engine API (RHEL-33743) + -DOPENSSL_NO_ENGINE + # 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. + -O3 + # v8 segfaults when Identical Code Folding is enabled + # - https://github.com/nodejs/node/issues/47865 + -fno-ipa-icf +) +# configuration flags +readonly -a configure_flags=( + # Basic build options + --verbose --ninja + # Use FHS and build separate libnode.so + --prefix=%{_prefix} --shared --libdir=%{_lib} + # Use system OpenSSL + --shared-openssl + --openssl-is-fips + --openssl-conf-name=openssl_conf + --openssl-use-def-ca-store + # Link with system libraries where appropriate + %{?!with_bundled_brotli:--shared-brotli} + %{?!with_bundled_c_ares:--shared-cares} + %{?!with_bundled_libuv:--shared-libuv} + %{?!with_bundled_sqlite:--shared-sqlite} + %{?!with_bundled_zlib:--shared-zlib} +%if %{without bundled_nodejs_cjs_module_lexer} + --shared-builtin-cjs_module_lexer/lexer-path=%{nodejs_common_sitelib}/cjs-module-lexer/lexer.js + --shared-builtin-cjs_module_lexer/dist/lexer-path=%{nodejs_common_sitelib}/cjs-module-lexer/dist/lexer.js +%endif +%if %{without bundled_nodejs_undici} + --shared-builtin-undici/undici-path=%{nodejs_common_sitelib}/undici/loader.js +%endif + # Enable LTO where possible + --enable-lto + # Compile with small icu, extendable via full-i18n subpackage + --with-intl=small-icu --with-icu-default-data-dir=%{nodejs_datadir}/icudata + # Do not ship corepack + --without-corepack + # Use local headers for native addons when available + --use-prefix-to-find-headers +) + +export CFLAGS="${CFLAGS} ${extra_cflags[*]}" CXXFLAGS="${CXXFLAGS} ${extra_cflags[*]}" +%python3 configure.py "${configure_flags[@]}" +%ninja_build -C out/Release + +%install +# Fill in values in configuration file templates +# usage: mkconfig [additional sed options] config_file +mkconfig() { + local -ra replace_opts=( + -e 's;@INCLUDEDIR@;%{_includedir};g' + -e 's;@LIBDIR@;%{_libdir};g' + -e 's;@NODEJS_VERSION@;%{node_version};g' + -e 's;@PREFIX@;%{_prefix};g' + -e 's;@PYTHON3@;%{python3};g' + -e 's;@SYSCONFDIR@;%{_sysconfdir};g' + -e 's;@V8_VERSION@;%{v8_version};g' + ) + + sed --regexp-extended "${replace_opts[@]}" "$@" +} + +# === Base installation +%{python3} tools/install.py install --dest-dir="${RPM_BUILD_ROOT}" --prefix="%{_prefix}" + +# Correct the main binary permissions and remove RPATH +chmod 0755 "${RPM_BUILD_ROOT}%{_bindir}/node" +chrpath --delete "${RPM_BUILD_ROOT}%{_bindir}/node" + +# Provide library symlinks +pushd "${RPM_BUILD_ROOT}%{_libdir}" +# - devel symlink for libnode.so +ln -srf libnode.so.%{node_soversion} libnode.so +# - compatibility symlinks for libv8 +for soname in libv8{,_libbase,_libplatform}; do + ln -srf libnode.so.%{node_soversion} "${soname}.so.%{v8_version_major}.%{v8_version_minor}" + ln -srf libnode.so.%{node_soversion} "${soname}.so" +done +popd # from ${RPM_BUILD_ROOT}%%{_libdir} + +# Massage includedir +pushd "${RPM_BUILD_ROOT}%{_includedir}" +# - provide compatibility symlinks for libv8 +for header in node/libplatform node/v8*.h node/cppgc; do + ln -srf "${header}" "$(basename "${header}")" +done +# - config.gypi is platform-dependent and would conflict between arches +mv node/config.gypi node/config-%{_arch}.gypi +popd # ${RPM_BUILD_ROOT}%%{_includedir} + +# Install node-gyp configuration files +install -p -Dt "${RPM_BUILD_ROOT}%{nodejs_datadir}" common.gypi + +# Create pkg-config files +readonly PKGCONFDIR="${RPM_BUILD_ROOT}%{_libdir}/pkgconfig" +mkdir -p "${PKGCONFDIR}" +mkconfig -e 's;@PKGCONFNAME@;nodejs-%{node_version_major};g' \ + <%{SOURCE3} >"${PKGCONFDIR}/nodejs-%{node_version_major}.pc" +mkconfig -e 's;@PKGCONFNAME@;v8-%{v8_version_major}.%{v8_version_minor};g' \ + <%{SOURCE4} >"${PKGCONFDIR}/v8-%{v8_version_major}.%{v8_version_minor}.pc" + +# Install documentation +mkdir -p "${RPM_BUILD_ROOT}%{_pkgdocdir}/html" +cp -pr doc/* "${RPM_BUILD_ROOT}%{_pkgdocdir}/html" +rm -f "${RPM_BUILD_ROOT}%{_pkgdocdir}/html/node.1" + +# Some debugger support files from v8 are provided as documentation from upstream; +# move them to the correct directory (according to us). +pushd "${RPM_BUILD_ROOT}%{_defaultdocdir}" +mv -t "${RPM_BUILD_ROOT}%{_pkgdocdir}" node/gdbinit node/lldb_commands.py +popd # from ${RPM_BUILD_ROOT}%%{_defaultdocdir} + +# === Full ICU data installation +# Unzip the data themselves, and make the appropriate documentation available for %%doc +if test "$(%{python3} -Ic 'import sys; print(sys.byteorder)')" = "little"; then +readonly icu_source='%{SOURCE2}' icu_data_file='icudt%{icu_version_major}l.dat' +else +readonly icu_source='%{SOURCE1}' icu_data_file='icudt%{icu_version_major}b.dat' +fi +readonly icu_data_dir="${RPM_BUILD_ROOT}%{nodejs_datadir}/icudata" +readonly icu_doc_dir="full-icu" + +unzip -od "${icu_data_dir}" "${icu_source}" "${icu_data_file}" +unzip -od "${icu_doc_dir}" "${icu_source}" -x "${icu_data_file}" + +# === NPM installation and tweaks +# Correct permissions in provided scripts +# - There are executable scripts for Windows PowerShell; RPM would try to pull it as a dependency +# - Not all executable bits should be removed; the -not -path lines are the ones that will be kept untouched +declare NPM_DIR="${RPM_BUILD_ROOT}%{nodejs_common_sitelib}/npm" +find "${NPM_DIR}" \ + -not -path "${NPM_DIR}/bin/*" \ + -not -path "${NPM_DIR}/node_modules/node-gyp/bin/node-gyp.js" \ + -not -path "${NPM_DIR}/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp" \ + -type f -executable \ + -execdir chmod -x '{}' + + +# Remove (empty) project-specific .npmrc from npm itself, +# to avoid confusion with the distro-wide configuration below +rm -f "${NPM_DIR}/.npmrc" +# Create distribution-wide configuration file +mkconfig <%{SOURCE5} >"${NPM_DIR}/npmrc" + +# Install HTML documentation to %%_pkgdocdir +mkdir -p "${RPM_BUILD_ROOT}%{_pkgdocdir}/npm/" +cp -prt "${RPM_BUILD_ROOT}%{_pkgdocdir}/npm/" deps/npm/docs +# - replace the docs in $NPM_DIR with symlink to the doc dir +rm -rf "${NPM_DIR}/docs" +ln -srf "${RPM_BUILD_ROOT}%{_pkgdocdir}/npm/docs" "${NPM_DIR}/docs" +# Install man pages to %%_mandir +mkdir -p "${RPM_BUILD_ROOT}%{_mandir}" +cp -prt "${RPM_BUILD_ROOT}%{_mandir}" deps/npm/man/* +# – replace man pages in $NPM_DIR with symlinks to the man dir +rm -rf "${NPM_DIR}/man" +ln -srf "${RPM_BUILD_ROOT}%{_mandir}" "${NPM_DIR}/man" + +# === Adjustments to avoid conflict between parallel streams +# Note: some of the actions here make some of the previous ones redundant +# (for example, replacing a symlink made few lines above). +# This is by design; it should allow us to drop this entire section if we want +# to approach the problem in a different way +# (for example, backporting the changes to modular packages in EL9). + +# Rename the main binary +readonly NODE_BIN='%{_bindir}/node-%{node_version_major}' +mv "${RPM_BUILD_ROOT}%{_bindir}/node" "${RPM_BUILD_ROOT}%{_bindir}/node-%{node_version_major}" + +# Make the sitelib into a private one; but keep providing (empty) common one +mv "${RPM_BUILD_ROOT}%{nodejs_common_sitelib}" "${RPM_BUILD_ROOT}%{nodejs_private_sitelib}" +# 2025-05-20 FIXME: Turning a symlink into a directory needs to be coordinated across all the active streams. +# In order to not block this new packaging approach on the WASM unbundling effort, +# do not provide the common sitelib for now. +#mkdir "${RPM_BUILD_ROOT}%%{nodejs_common_sitelib}" +declare NPM_DIR="${RPM_BUILD_ROOT}%{nodejs_private_sitelib}/npm" + +# Adjust npm scripts to use the renamed interpreter +readonly SHEBANG_ERE='^#!/usr/bin/(env\s+)?node\b' +readonly SHEBANG_FIX='#!%{_bindir}/node-%{node_version_major}' +readonly -a npm_bin_dirs=("${NPM_DIR}/bin" "${NPM_DIR}/node_modules/node-gyp/bin") + +find "${npm_bin_dirs[@]}" -type f \ +| xargs grep --extended-regexp --files-with-matches "${SHEBANG_ERE}" \ +| xargs sed --regexp-extended --in-place "s;${SHEBANG_ERE};${SHEBANG_FIX};" + +# Replace npm %%{_bindir} symlinks with properly versioned ones +# usage: relink_bin +relink_bin() { + local -r basename="${1?No link basename provided!}" + local -r source="${2?No link source provided!}" + + ln -srf "${source}" "${RPM_BUILD_ROOT}%{_bindir}/${basename}-%{node_version_major}" + rm -f "${RPM_BUILD_ROOT}%{_bindir}/${basename}" +} +relink_bin npm "${NPM_DIR}/bin/npm-cli.js" +relink_bin npx "${NPM_DIR}/bin/npx-cli.js" + +# Move manpages to versioned directories +readonly VERSIONED_MANDIR="${RPM_BUILD_ROOT}%{nodejs_datadir}/man" +mkdir -p "${VERSIONED_MANDIR}" +mv -t "${VERSIONED_MANDIR}" "${RPM_BUILD_ROOT}%{_mandir}"/man? +# - compress the man-pages manually so that rpm will (re-)create valid symlinks +# FIXME: This should probably be replaced with ading /usr/share/node-*/man dir to /usr/lib/rpm/brp-compress +readonly COMPRESS=${COMPRESS:-gzip -9 -n} +find "${VERSIONED_MANDIR}" -type f -name '*.[123456789]' -execdir ${COMPRESS} '{}' + +# – update npm man symlink +ln -srfn "${VERSIONED_MANDIR}" "${NPM_DIR}/man" +# - create symlinks for the versioned binaries +mkdir -p "${RPM_BUILD_ROOT}%{_mandir}/man1" +ln -srf "${VERSIONED_MANDIR}/man1/node.1.gz" "${RPM_BUILD_ROOT}%{_mandir}/man1/node-%{node_version_major}.1.gz" +ln -srf "${VERSIONED_MANDIR}/man1/npm.1.gz" "${RPM_BUILD_ROOT}%{_mandir}/man1/npm-%{node_version_major}.1.gz" +ln -srf "${VERSIONED_MANDIR}/man1/npx.1.gz" "${RPM_BUILD_ROOT}%{_mandir}/man1/npx-%{node_version_major}.1.gz" + + +%check +# === Common test environment +export LD_LIBRARY_PATH="${RPM_BUILD_ROOT}%{_libdir}:${LD_LIBRARY_PATH}" + +# "aliases" to the just-build binaries +node() { + "${RPM_BUILD_ROOT}%{_bindir}/node-%{node_version_major}" \ + --icu-data-dir="${RPM_BUILD_ROOT}%{nodejs_datadir}/icudata" \ + "$@" +} +npm() { + node "${RPM_BUILD_ROOT}%{_bindir}/npm-%{node_version_major}" "$@" +} + +# === Sanity check for important versions +node -e 'require("assert").equal(process.versions.node, "%{node_version}")' +node -e 'require("assert").equal(process.versions.v8.replace(/-node\.\d+$/, ""), "%{v8_version}")' +node -e 'require("assert").equal(process.versions.ares.replace(/-DEV$/, ""), "%{c_ares_version}")' +node --no-deprecation -e 'require("assert").equal(require("punycode").version, "%{nodejs_punycode_version}")' + +npm version --json | jq --exit-status '.npm == "%{npm_version}"' + +# === Custom and/or devendored parts sanity checks +# - full i18n support is available +node '%{SOURCE20}' +# - npm update notifier is disabled +npm config list --json | jq --exit-status '.["update-notifier"] == false' + +# === Upstream test suite +bash '%{SOURCE10}' "${RPM_BUILD_ROOT}%{_bindir}/node-%{node_version_major}" test/ '%{SOURCE11}' + + +%files +%doc README.md CHANGELOG.md GOVERNANCE.md onboarding.md +%license LICENSE +%dir %{nodejs_datadir}/ +%dir %{nodejs_datadir}/man/ +%dir %{nodejs_datadir}/man/man1/ +#%%dir %%{nodejs_common_sitelib}/ +%dir %{nodejs_private_sitelib}/ +%{_bindir}/node-%{node_version_major} +%{nodejs_datadir}/man/man1/node.1* +%{_mandir}/man1/node-%{node_version_major}.1* + +%files libs +%license LICENSE +%{_libdir}/libnode.so.%{node_soversion} +%{_libdir}/libv8.so.%{v8_version_major}.%{v8_version_minor} +%{_libdir}/libv8_libbase.so.%{v8_version_major}.%{v8_version_minor} +%{_libdir}/libv8_libplatform.so.%{v8_version_major}.%{v8_version_minor} + +%files devel +%license LICENSE +%dir %{nodejs_datadir}/ +%{_includedir}/node/ +%{_libdir}/libnode.so +%{_libdir}/pkgconfig/nodejs-%{node_version_major}.pc +%{_pkgdocdir}/gdbinit +%{_pkgdocdir}/lldb_commands.py +%{nodejs_datadir}/common.gypi + +%files -n v8-%{v8_version_major}.%{v8_version_minor}-devel +%license LICENSE +%{_includedir}/cppgc +%{_includedir}/libplatform +%{_includedir}/v8*.h +%{_libdir}/libv8.so +%{_libdir}/libv8_libbase.so +%{_libdir}/libv8_libplatform.so +%{_libdir}/pkgconfig/v8-%{v8_version_major}.%{v8_version_minor}.pc + +%files full-i18n +%doc full-icu/icu4c-%{icu_version_major}_%{icu_version_minor}-data-bin-?-README.md +%license full-icu/LICENSE +%dir %{nodejs_datadir}/ +%{nodejs_datadir}/icudata/ + +%files npm +%doc deps/npm/README.md +%license deps/npm/LICENSE +%dir %{nodejs_datadir}/ +%dir %{nodejs_private_sitelib}/ +%{_bindir}/npm-%{node_version_major} +%{_bindir}/npx-%{node_version_major} +%{_mandir}/man1/npm-%{node_version_major}.1* +%{_mandir}/man1/npx-%{node_version_major}.1* +%{nodejs_datadir}/man +%{nodejs_private_sitelib}/npm/ +%exclude %{nodejs_datadir}/man/man1/node*.1* + +%files docs +%doc doc/README.md +%license LICENSE +%dir %{_pkgdocdir} +%{_pkgdocdir}/html/ +%{_pkgdocdir}/npm/ + +%changelog +%autochangelog diff --git a/npmrc.in b/npmrc.in new file mode 100644 index 0000000..28381f8 --- /dev/null +++ b/npmrc.in @@ -0,0 +1,7 @@ +# This is the distribution-level configuration file for npm. +# To configure npm on a system level, use the globalconfig below (defaults to @SYSCONFDIR@/npmrc). +# vim:set filetype=dosini: + +globalconfig=@SYSCONFDIR@/npmrc +prefix=/usr/local +update-notifier=false diff --git a/packaging/fill-versions.sh b/packaging/fill-versions.sh new file mode 100755 index 0000000..27f1db0 --- /dev/null +++ b/packaging/fill-versions.sh @@ -0,0 +1,178 @@ +#!/bin/bash +set -e + +usage() { + echo "$(basename "$0")" '' '' + echo Fill versions between BEGIN/END automatic-version-macros in the spec file. +} + +# Format version information in unified style +# usage: format_version [macro options…] +format_version() { + local -r component="${1?No component named!}" && shift + local -r srcpath="${1?No version source specified!}" && shift + local -r version="${1?No version specified}" && shift + + printf '# Version from %s\n' "${srcpath}" + printf '%%nodejs_define_version %s %s%s%s\n' "${component}" "${version}" "${*:+ }" "${*}" +} + +# Find concrete path to the requested file within unpacked source tree. +# usage: find_source_path +find_source_path() { + local -r path_tail="${1?No source path specified!}" + + # currently just verify that the expected path exists + if test -r node-v*/"${path_tail}" + then + printf '%s\n' "${_}" + else + printf >&2 'Path does not exist: %s\n' "${_}" + return 1 + fi +} + +# "Meta"-extraction function. +# Finds the actual source file, extracts the version as specified, +# and outputs properly formatted macro on stdout. +# usage: find_version [extractor_fn_opts]… +# arguments: +# component: name of the vendored component +# source_path: path to the version information source, relative to the root of the extracted tree +# macro_opts: options for %nodejs_define_version macro; use empty string ('') if none shall be used +# extractor_fn: name of the function responsible for extraction of the version string. +# expected signature: extractor_fn [options]… +# extractor_fn_opts: additional options to pass to extractor_fn after source_path +find_version() { + local -r component="${1?No component specified!}" && shift + local -r srcpath="${1?No version source path specified!}" && shift + local -r macro_opts="${1?No %nodejs_define_version macro options specified!}" && shift + local -r extract_fn="${1?No extraction function specified!}" && shift + + local full_source_path version_string + full_source_path="$(find_source_path "${srcpath}")" + version_string="$("${extract_fn}" "${full_source_path}" "$@")" + format_version "${component}" "${full_source_path}" "${version_string}" "${macro_opts}" +} + +# The extraction functions (extractor_fn above) follows. Add to them as necessary. + +# Extract version string from a C #define directive. +# If provided more than one define name, it is assumed these define the version components, +# and they will all be concatenated with a dot. +# usage: version_from_c_define
… +version_from_c_define() { + local -r path="${1?No C header provided!}" && shift + + while test "$#" -gt 0; do + local name="${1}"; shift + # grab either a single numeric component (\d+) + # or a single quoted string (".*?") + # after a #define statement + local regexp="(?<=#define ${name})\s+(\d+|\".*?\")" + + grep --only-matching --perl-regexp "${regexp}" "${path}" \ + | sed -E 's|^[[:space:]"]*||;s|"$||' \ + | if test "$#" -gt 0 # not the last part + then tr '\n' '.' # turn line end into separator dot + else cat # leave as is + fi + done +} + +# Extract version from package.json or similar file +# usage: version_from_json [jq_filter] +# jq_filter defaults to .version +version_from_json() { + local -r path="${1?No JSON path provided!}" && shift + local -r filter="${1-.version}" && shift + + jq --raw-output "${filter}" "${path}" +} + +# There always is a special case. Don't be afraid to use one-off extractor functions. +parse_isu_version() { + local -r path="${1?No ICU metadata JSON path provided!}" + + version_from_json "${path}" '.[0].url' \ + | sed -E 's/.*release-([[:digit:]]+)-([[:digit:]]+).*/\1.\2/g' +} +parse_punycode_version() { + local -r path="${1?No punycode.js path provided!}" + + # Fragile, but I could come up with nothing better yet. + grep --only-matching --perl-regexp \ + "(?<='version': )'\d+\.\d+\.\d+'" "${path}" \ + | tr -d "'" +} +parse_npm_version() { + # NPM was originally a separate package using epoch; we need to keep it + local -r NPM_EPOCH=1 + + local -r path="${1?No path to npm package.json provided!}" + + printf '%d:' "${NPM_EPOCH}" && version_from_json "${path}" +} +parse_v8_version() { + # v8 was originally a separate package using epoch; we need to keep it + local -r V8_EPOCH=3 + + local -r path="${1?No path to v8 version header provided!}" + + printf '%d:' "${V8_EPOCH}" && version_from_c_define "${path}" \ + V8_{MAJOR,MINOR}_VERSION V8_BUILD_NUMBER V8_PATCH_LEVEL +} + +# Main script +# =========== + +readonly SPEC="$1" TARBALL="$2" +if test -z "${SPEC}"; then echo 'Missing SPEC path!' >&2; usage >&2; exit 1; fi +if test -z "${TARBALL}"; then echo 'Missing TARBALL path!' >&2; usage >&2; exit 1; fi +readonly NEW_SPEC="${SPEC}.new" + +# Start with a clean source tree +rm -rf node-v*/ && tar -xzf "${TARBALL}" + +# Redirect standard output to working copy of the current spec file +exec 3>&1 1>"${NEW_SPEC}" + +# Copy SPEC file up to the BEGIN marker +sed -E '/^#\s*BEGIN automatic-version-macros/q' "${SPEC}" + +# Output libnode.so soname version +soversion_source="$(find_source_path src/node_version.h)" +printf '# Version from %s\n' "${soversion_source}" +printf '%%global node_soversion %s\n' "$(version_from_c_define "${soversion_source}" NODE_MODULE_VERSION)" + +echo + +# Output all the dependency versions. Try to keep them in alphabetical order + +find_version ada deps/ada/ada.h '' version_from_c_define ADA_VERSION +find_version brotli deps/brotli/c/common/version.h '' version_from_c_define BROTLI_VERSION_{MAJOR,MINOR,PATCH} +find_version c_ares deps/cares/include/ares_version.h '' version_from_c_define ARES_VERSION_STR +find_version histogram deps/histogram/include/hdr/hdr_histogram_version.h '' version_from_c_define HDR_HISTOGRAM_VERSION +find_version icu tools/icu/current_ver.dep -p parse_isu_version +find_version libuv deps/uv/include/uv/version.h '' version_from_c_define UV_VERSION_{MAJOR,MINOR,PATCH} +find_version llhttp deps/llhttp/include/llhttp.h '' version_from_c_define LLHTTP_VERSION_{MAJOR,MINOR,PATCH} +find_version nghttp2 deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h '' version_from_c_define NGHTTP2_VERSION +find_version nghttp3 deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h '' version_from_c_define NGHTTP3_VERSION +find_version ngtcp2 deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h '' version_from_c_define NGTCP2_VERSION +find_version nodejs-cjs-module-lexer deps/cjs-module-lexer/src/package.json '' version_from_json +find_version nodejs-punycode lib/punycode.js '' parse_punycode_version +find_version nodejs-undici deps/undici/src/package.json '' version_from_json +find_version npm deps/npm/package.json '' parse_npm_version +find_version sqlite deps/sqlite/sqlite3.h '' version_from_c_define SQLITE_VERSION +find_version uvwasi deps/uvwasi/include/uvwasi.h '' version_from_c_define UVWASI_VERSION_{MAJOR,MINOR,PATCH} +find_version v8 deps/v8/include/v8-version.h -p parse_v8_version +find_version zlib deps/zlib/zlib.h '' version_from_c_define ZLIB_VERSION + +# Copy rest of the spec file from the END marker till the end +sed -nE '/^#\s*END automatic-version-macros/,$p' "${SPEC}" + +# Restore standard output +exec 1>&3 3>&- + +# Replace the old spec with the updated one +mv "${NEW_SPEC}" "${SPEC}" diff --git a/packaging/make-nodejs-tarball.sh b/packaging/make-nodejs-tarball.sh new file mode 100755 index 0000000..b5d9e78 --- /dev/null +++ b/packaging/make-nodejs-tarball.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# deps: coreutils curl tar +set -e + +# Print usage +usage() { + printf '%s \n' "$(basename "$0")" + printf '%s\n' "Create a NodeJS tarball for given VERSION stripped of parts we cannot ship." +} + +# Log a message +log() { + printf '## %s\n' "$*" +} + +# Tweak default cURL flags +curl() { + command curl --progress-bar "$@" +} + +readonly VERSION="$1"; if test -z "$VERSION"; then + printf '%s\n\n' "No VERSION specified!" + usage >&2 + exit 1 +fi + +readonly BASENAME="node-v${VERSION}" +readonly BASEURL="https://nodejs.org/dist/v${VERSION}" + +log >&2 Downloading and verifying "${BASENAME}.tar.gz" +curl --remote-name "${BASEURL}/${BASENAME}.tar.gz" +curl --silent "${BASEURL}/SHASUMS256.txt" | sha256sum --check --ignore-missing + +log >&2 Repackaging the sources into "${BASENAME}-stripped.tar.gz" +tar -xzf "${BASENAME}.tar.gz" && rm -f "${BASENAME}.tar.gz" +rm -rf "${BASENAME}/deps/openssl" +tar -czf "${BASENAME}-stripped.tar.gz" "${BASENAME}" diff --git a/sources b/sources new file mode 100644 index 0000000..e41db35 --- /dev/null +++ b/sources @@ -0,0 +1,4 @@ +SHA512 (icu4c-77_1-data-bin-b.zip) = 93b4c8228a059546e7c3e337f1f837db255c0046c15f50a31a7bd20daf361174edab05b01faaac1dd4f515ca3c1f1d7fb0f61e4177eb5631833ad1450e252c4e +SHA512 (icu4c-77_1-data-bin-l.zip) = 3de15bb5925956b8e51dc6724c2114a1009ec471a2241b09ae09127f1760f44d02cc29cfbeed6cbaac6ee880553ac8395c61c6043c00ddba3277233e19e6490e +SHA512 (node-v24.4.1-stripped.tar.gz) = 9da4e8f8b5c87d2ab7b826109dc18910b2c42fbc43058251b5488be1d34625896944a54800d995175aba698010a537eb60b22ec546edcfc53295343ad395fed8 +SHA512 (packaging-scripts.tar.gz) = 5123c6fa3eb89e37a300914184eee10268568efc662a1c5b107900438b35e43c4222c4a31cf02b9d605c693f7e652420fdaf7209e41ba666ff428c3c0d340b7b diff --git a/test-runner.sh b/test-runner.sh new file mode 100755 index 0000000..dc84920 --- /dev/null +++ b/test-runner.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +NODE_BIN="$1" +PARENT_TEST_FOLDER="$2" +TEST_LIST_FILE="$3" + +# At most 10 min per test +TIMEOUT_DURATION=600 +# Exit code +FINAL_RESULT=0 +ARCH=$(uname -m) + +echo "Started test run:" +# Run the list of test +while IFS= read -r test_line; do + # ignore commented lines + if [[ "$test_line" =~ ^# ]]; then + continue + fi + # If test has specified ARCH which it should be skipped + # Extract it + TEST_PATH=$(echo "$test_line" | awk '{print $1}') + IGNORE_ARCHES=$(echo "$test_line" |\ + awk '{for (i=2; i<=NF; i++) printf "%s ", $i; print ""}') + + # Skip test for specified ARCH + for ARCH_IGNORE in $IGNORE_ARCHES; do + if [[ "$ARCH_IGNORE" == "$ARCH" ]]; then + echo "Skipping test, current arch is in ignore: $TEST_PATH ($ARCH_IGNORE)" + continue 2 + fi + done + + # Construct test path + TEST_SCRIPT="$PARENT_TEST_FOLDER/$TEST_PATH" + + if [ ! -f "$TEST_SCRIPT" ]; then + echo "Test script not found: $TEST_SCRIPT" + continue + fi + + TEST_OUTPUT=$(timeout "$TIMEOUT_DURATION" "$NODE_BIN" "$TEST_SCRIPT" 2>&1) + TEST_RESULT=$? + + # Handle test result + if [ $TEST_RESULT -ne 0 ]; then + FINAL_RESULT=1 + if [ $TEST_RESULT -eq 124 ]; then + echo "Test timed out: $TEST_SCRIPT" + else + echo "Test failed: $TEST_SCRIPT" + fi + echo "Test failure message:" + echo "$TEST_OUTPUT" + fi +done < "$TEST_LIST_FILE" + +if [ $FINAL_RESULT -eq 0 ]; then + echo "All tests succesfully passed." +fi +exit $FINAL_RESULT diff --git a/test-should-pass.txt b/test-should-pass.txt new file mode 100644 index 0000000..ef25839 --- /dev/null +++ b/test-should-pass.txt @@ -0,0 +1,2749 @@ +# List of supported tests +# +# Architectures which are to be ignored are listed after the test +# for example: abort/test-abort-fatal-error.js i686 +# won't be runned for i686 architecture +# +# Each exception should be explained with a comment +# containing date and a short description of the problem +# +wasm-allocation/test-wasm-allocation.js +node-api/test_threadsafe_function/uncaught_exception.js +pummel/test-heapsnapshot-near-heap-limit-by-api.js +pummel/test-heapdump-fs-promise.js +pummel/test-net-pingpong.js +pummel/test-watch-file.js +pummel/test-heapdump-vm-script.js +pummel/test-http-many-keep-alive-connections.js +pummel/test-net-timeout.js +pummel/test-keep-alive.js +pummel/test-net-write-callbacks.js +pummel/test-structuredclone-jstransferable.js +pummel/test-buffer-large-size-buffer-alloc-unsafe-slow.js +pummel/test-fs-watch-file.js +pummel/test-heapdump-http2.js +pummel/test-process-cpuUsage.js +pummel/test-buffer-large-size-buffer-alloc-unsafe.js +pummel/test-string-decoder-large-buffer.js +pummel/test-fs-read-file-sync-utf8-memory.js +pummel/test-tls-throttle.js +pummel/test-heapsnapshot-near-heap-limit.js +pummel/test-https-large-response.js +pummel/test-heapdump-shadow-realm.js +pummel/test-fs-watch-non-recursive.js +pummel/test-net-timeout2.js +pummel/test-child-process-spawn-loop.js +pummel/test-heapdump-tls.js +pummel/test-heapdump-inspector.js +pummel/test-crypto-dh-hash.js +pummel/test-crypto-dh-keys.js +pummel/test-heapdump-worker.js +pummel/test-worker-take-heapsnapshot.js +pummel/test-heapdump-urlpattern.js +pummel/test-fs-watch-system-limit.js +pummel/test-heapdump-zlib.js +pummel/test-process-hrtime.js +pummel/test-heapdump-env.js +pummel/test-buffer-large-size-slowbuffer.js +pummel/test-heapsnapshot-near-heap-limit-bounded.js +pummel/test-stream-pipe-multi.js +pummel/test-buffer-large-size-buffer-alloc.js +pummel/test-heapsnapshot-near-heap-limit-big.js +pummel/test-fs-readfile-tostring-fail.js +pummel/test-vm-memleak.js +pummel/test-heapdump-dns.js +pummel/test-dh-regr.js +pummel/test-fs-watch-file-slow.js +pummel/test-net-many-clients.js +pummel/test-webcrypto-derivebits-pbkdf2.js +pummel/test-buffer-large-size-buffer-write.js +pummel/test-tls-server-large-request.js +pummel/test-vm-race.js +pummel/test-http-upload-timeout.js +pummel/test-net-pause.js +pummel/test-https-no-reader.js +pummel/test-regress-GH-892.js +pummel/test-next-tick-infinite-calls.js +pummel/test-fs-largefile.js +pummel/test-net-pingpong-delay.js +pummel/test-blob-slice-with-large-size.js +pummel/test-timers.js +module-hooks/test-module-hooks-load-context-merged.js +module-hooks/test-module-hooks-resolve-short-circuit-required-start.js +module-hooks/test-module-hooks-builtin-require.js +module-hooks/test-module-hooks-resolve-load-require-inline-typescript-override.js +module-hooks/test-module-hooks-load-chained.js +module-hooks/test-module-hooks-load-detection.js +module-hooks/test-module-hooks-load-buffers.js +module-hooks/test-module-hooks-load-invalid.js +module-hooks/test-module-hooks-require-wasm.js +module-hooks/test-module-hooks-load-url-change-require.js +module-hooks/test-module-hooks-resolve-builtin-on-disk-require.js +module-hooks/test-module-hooks-load-mock.js +module-hooks/test-module-hooks-resolve-builtin-builtin-require.js +module-hooks/test-module-hooks-load-builtin-require.js +module-hooks/test-module-hooks-load-esm-mock.js +module-hooks/test-module-hooks-resolve-context-merged.js +module-hooks/test-module-hooks-resolve-load-require-inline-typescript.js +module-hooks/test-module-hooks-load-short-circuit-required-start.js +module-hooks/test-module-hooks-resolve-short-circuit-required-middle.js +module-hooks/test-module-hooks-load-short-circuit-required-middle.js +module-hooks/test-module-hooks-resolve-short-circuit.js +module-hooks/test-module-hooks-resolve-context-optional.js +module-hooks/test-module-hooks-load-context-optional.js +module-hooks/test-module-hooks-preload.js +module-hooks/test-module-hooks-load-short-circuit.js +module-hooks/test-module-hooks-resolve-invalid.js +module-hooks/test-module-hooks-load-esm.js +async-hooks/hook-checks.js +async-hooks/init-hooks.js +async-hooks/test-async-exec-resource-http.js +async-hooks/test-async-local-storage-socket.js +async-hooks/test-async-local-storage-gcable.js +async-hooks/test-destroy-not-blocked.js +async-hooks/test-pipewrap.js +async-hooks/test-enable-disable.js +async-hooks/test-nexttick-default-trigger.js +async-hooks/test-emit-before-after.js +async-hooks/test-async-local-storage-enter-with.js +async-hooks/test-emit-init.js +async-hooks/test-unhandled-exception-valid-ids.js +async-hooks/test-fseventwrap.js +async-hooks/test-async-local-storage-thenable.js +async-hooks/test-ttywrap.readstream.js +async-hooks/test-graph.shutdown.js +async-hooks/test-graph.pipeconnect.js +async-hooks/test-http-agent-handle-reuse-serial.js +async-hooks/test-embedder.api.async-resource.js +async-hooks/test-improper-unwind.js +async-hooks/test-disable-in-init.js +async-hooks/test-getnameinforeqwrap.js +async-hooks/test-late-hook-enable.js +async-hooks/test-writewrap.js +async-hooks/test-filehandle-no-reuse.js +async-hooks/test-querywrap.js +async-hooks/test-crypto-randomBytes.js +async-hooks/test-tlswrap.js +async-hooks/test-statwatcher.js +async-hooks/test-net-get-connections.js +async-hooks/test-async-local-storage-http.js +async-hooks/test-graph.fsreq-readFile.js +async-hooks/test-async-local-storage-enable-disable.js +async-hooks/test-async-local-storage-tlssocket.js +async-hooks/test-async-local-storage-dgram.js +async-hooks/test-embedder.api.async-resource.runInAsyncScope.js +async-hooks/test-udpsendwrap.js +async-hooks/test-async-await.js +async-hooks/test-httpparser.response.js +async-hooks/test-graph.tcp.js +async-hooks/test-promise.chain-promise-before-init-hooks.js +async-hooks/test-async-local-storage-errors.js +async-hooks/test-async-local-storage-async-await.js +async-hooks/test-timers.setInterval.js +async-hooks/test-http-agent-handle-reuse-parallel.js +async-hooks/test-async-wrap-providers.js +async-hooks/test-graph.timeouts.js +async-hooks/test-promise.js +async-hooks/test-async-local-storage-async-functions.js +async-hooks/test-graph.tls-write.js +async-hooks/test-httpparser-reuse.js +async-hooks/test-graph.statwatcher.js +async-hooks/verify-graph.js +async-hooks/test-graph.intervals.js +async-hooks/test-graph.pipe.js +async-hooks/test-getaddrinforeqwrap.js +async-hooks/test-improper-order.js +async-hooks/test-async-local-storage-misc-stores.js +async-hooks/test-emit-before-on-destroyed.js +async-hooks/test-async-local-storage-stream-finished.js +async-hooks/test-emit-after-on-destroyed.js +async-hooks/test-unhandled-rejection-context.js +async-hooks/test-fsreqcallback-access.js +async-hooks/test-async-local-storage-nested.js +async-hooks/test-graph.http.js +async-hooks/test-udpwrap.js +async-hooks/test-embedder.api.async-resource-no-type.js +async-hooks/test-graph.tls-write-12.js +async-hooks/test-async-local-storage-promises.js +async-hooks/test-async-exec-resource-match.js +async-hooks/test-async-exec-resource-http-32060.js +async-hooks/test-shutdownwrap.js +async-hooks/test-crypto-pbkdf2.js +async-hooks/test-async-local-storage-no-mix-contexts.js +async-hooks/test-httpparser.request.js +async-hooks/test-async-local-storage-args.js +async-hooks/test-signalwrap.js +async-hooks/test-immediate.js +async-hooks/test-no-assert-when-disabled.js +async-hooks/test-pipeconnectwrap.js +async-hooks/test-fsreqcallback-readFile.js +async-hooks/test-promise.promise-before-init-hooks.js +async-hooks/test-tcpwrap.js +async-hooks/test-callback-error.js +async-hooks/test-zlib.zlib-binding.deflate.js +async-hooks/test-timers.setTimeout.js +async-hooks/test-async-exec-resource-http-agent.js +async-hooks/test-queue-microtask.js +async-hooks/test-async-local-storage-http-agent.js +async-hooks/test-enable-in-init.js +wasi/test-wasi-not-started.js +wasi/test-wasi-exitcode.js +wasi/test-wasi-worker-terminate.js +wasi/test-wasi-stdio.js +wasi/test-return-on-exit.js +wasi/test-wasi.js +wasi/test-wasi-poll.js +wasi/test-wasi-options-validation.js +wasi/test-wasi-initialize-validation.js +wasi/test-wasi-start-validation.js +wasi/test-wasi-symlinks.js +wasi/test-wasi-io.js +addons/openssl-client-cert-engine/test.js +addons/register-signal-handler/test.js +addons/symlinked-module/submodule.js +addons/openssl-key-engine/test.js +addons/openssl-test-engine/test.js +sqlite/test_sqlite_extensions/test.js +sequential/test-single-executable-application-snapshot.js +sequential/test-require-cache-without-stat.js +sequential/test-tls-psk-client.js +sequential/test-tls-connect.js +sequential/test-http2-settings-flood.js +sequential/test-module-loading.js +sequential/test-debugger-pid.js +sequential/test-single-executable-application-snapshot-worker.js +sequential/test-gc-http-client-timeout.js +sequential/test-dgram-implicit-bind-failure.js +sequential/test-child-process-exit.js +sequential/test-net-server-bind.js +sequential/test-dgram-bind-shared-ports.js +sequential/test-gc-http-client.js +sequential/test-timers-block-eventloop.js +sequential/test-debugger-custom-port.js +sequential/test-repl-timeout-throw.js +sequential/test-cpu-prof-dir-worker.js +sequential/test-worker-fshandles-open-close-on-termination.js +sequential/test-cluster-net-listen-ipv6only-rr.js +sequential/test-cpu-prof-invalid-options.js +sequential/test-net-localport.js +sequential/test-http2-ping-flood.js +sequential/test-process-warnings.js +sequential/test-inspector-port-cluster.js +sequential/test-net-better-error-messages-port.js +sequential/test-child-process-execsync.js +sequential/test-net-connect-handle-econnrefused.js +sequential/test-net-server-listen-ipv6-link-local.js +sequential/test-cluster-send-handle-large-payload.js +sequential/test-buffer-creation-regression.js +sequential/test-diagnostic-dir-heap-prof.js +sequential/test-pipe.js +sequential/test-tls-session-timeout.js +sequential/test-http-keep-alive-large-write.js +sequential/test-http-server-keep-alive-timeout-slow-server.js +sequential/test-net-connect-local-error.js +sequential/test-deprecation-flags.js +sequential/test-debugger-debug-brk.js +sequential/test-fs-watch.js +sequential/test-cpu-prof-name.js +sequential/test-http-econnrefused.js +sequential/test-heapdump-flag.js +sequential/test-gc-http-client-onerror.js +sequential/test-cluster-net-listen-ipv6only-none.js +sequential/test-debug-prompt.js +sequential/test-dgram-pingpong.js +sequential/test-heapdump.js +sequential/test-net-server-address.js +sequential/test-http-keepalive-maxsockets.js +sequential/test-http2-timeout-large-write.js +sequential/test-write-heapsnapshot-options.js +sequential/test-single-executable-application-assets-raw.js +sequential/test-cluster-inspect-brk.js +sequential/test-cpu-prof-worker-argv.js +sequential/test-cpu-prof-dir-relative.js +sequential/test-cpu-prof-dir-and-name.js +sequential/test-performance-eventloopdelay.js +sequential/test-stream2-fs.js +sequential/test-get-heapsnapshot-options.js +sequential/test-http-regr-gh-2928.js +sequential/test-resolution-inspect-brk.js +sequential/test-net-response-size.js +sequential/test-crypto-timing-safe-equal.js +sequential/test-child-process-emfile.js +sequential/test-fs-readdir-recursive.js +sequential/test-net-reconnect-error.js +sequential/test-single-executable-application-disable-experimental-sea-warning.js +sequential/test-cpu-prof-exit.js +sequential/test-process-title.js +sequential/test-vm-timeout-escape-promise-module-2.js +sequential/test-cpu-prof-dir-absolute.js +sequential/test-cli-syntax-file-not-found.js +sequential/test-heapdump-flag-custom-dir.js +sequential/test-vm-timeout-rethrow.js +sequential/test-net-connect-econnrefused.js +sequential/test-error-serdes.js +sequential/test-net-GH-5504.js +sequential/test-stream2-stderr-sync.js +sequential/test-cpu-prof-default.js +sequential/test-async-wrap-getasyncid.js +sequential/test-fs-opendir-recursive.js +sequential/test-child-process-pass-fd.js +sequential/test-diagnostic-dir-cpu-prof.js +sequential/test-single-executable-application-empty.js +sequential/test-https-connect-localport.js +sequential/test-worker-eventlooputil.js +sequential/test-util-debug.js +sequential/test-http2-large-file.js +sequential/test-worker-fshandles-error-on-termination.js +sequential/test-http-server-request-timeouts-mixed.js +sequential/test-https-server-keep-alive-timeout.js +sequential/test-http2-timeout-large-write-file.js +sequential/test-next-tick-error-spin.js +sequential/test-single-executable-application.js +sequential/test-fs-stat-sync-overflow.js +sequential/test-tls-lookup.js +sequential/test-vm-break-on-sigint.js +sequential/test-cli-syntax-good.js +sequential/test-worker-prof.js +sequential/test-http-server-keep-alive-timeout-slow-client-headers.js +sequential/test-cli-syntax-require.js +sequential/test-debugger-invalid-args.js +sequential/test-cpu-prof-drained.js +sequential/test-worker-heapsnapshot-options.js +sequential/test-cli-syntax-bad.js +sequential/test-cpu-prof-kill.js +sequential/test-http2-max-session-memory.js +sequential/test-single-executable-application-snapshot-and-code-cache.js +sequential/test-net-listen-shared-ports.js +sequential/test-perf-hooks.js +sequential/test-single-executable-application-assets.js +sequential/test-timers-set-interval-excludes-callback-duration.js +sequential/test-single-executable-application-use-code-cache.js +sequential/test-init.js +abort/test-addon-register-signal-handler.js +abort/test-worker-abort-uncaught-exception.js +abort/test-zlib-invalid-internals-usage.js +abort/test-addon-uv-handle-leak.js +abort/test-process-abort-exitcode.js +abort/test-abort-uncaught-exception.js +abort/test-http-parser-consume.js +abort/test-signal-handler.js +abort/test-abort-fatal-error.js +internet/test-https-issue-43963.js +internet/test-dns-regress-6244.js +internet/test-net-autoselectfamily-events-timeout.js +internet/test-dns-getDefaultResultOrder.js +internet/test-dns-cares-domains.js +internet/test-dgram-connect.js +internet/test-net-autoselectfamily-events-failure.js +internet/test-dgram-membership.js +internet/test-dns-setserver-in-callback-of-resolve4.js +internet/test-dgram-multicast-multi-process.js +internet/test-trace-events-dns.js +internet/test-net-connect-timeout.js +es-module/test-require-module-default-extension.js +es-module/test-require-module-cached-tla.js +es-module/test-require-module-detect-entry-point-aou.js +es-module/test-require-module-conditional-exports.js +es-module/test-require-module-cycle-esm-esm-cjs-esm.js +es-module/test-require-module-dynamic-import-2.js +es-module/test-require-module-with-detection.js +es-module/test-dynamic-import-script-lifetime.js +es-module/test-loaders-hidden-from-users.js +es-module/test-esm-long-path-win.js +es-module/test-require-module-defined-esmodule.js +es-module/test-esm-repl.js +es-module/test-require-module-error-catching.js +es-module/test-esm-loader-cache-clearing.js +es-module/test-wasm-web-api.js +es-module/test-esm-error-cache.js +es-module/test-require-module-tla-retry-require.js +es-module/test-wasm-simple.js +es-module/test-import-preload-require-cycle.js +es-module/test-vm-main-context-default-loader-eval.js +es-module/test-vm-contextified-script-leak.js +es-module/test-vm-compile-function-leak.js +es-module/test-disable-require-module-with-detection.js +es-module/test-esm-undefined-cjs-global-like-variables.js +es-module/test-esm-unknown-extension.js +es-module/test-esm-dynamic-import-attribute.js +es-module/test-esm-cjs-exports.js +es-module/test-require-module-warning.js +es-module/test-require-module-tla-retry-import-2.js +es-module/test-require-module-tla-nested.js +es-module/test-require-module-cycle-cjs-esm-esm.js +es-module/test-vm-compile-function-lineoffset.js +es-module/test-require-module-retry-import-evaluating.js +es-module/test-cjs-legacyMainResolve.js +es-module/test-esm-url-extname.js +es-module/test-require-module-dynamic-import-1.js +es-module/test-esm-data-urls.js +es-module/test-require-module-preload.js +es-module/test-esm-type-field-errors.js +es-module/test-esm-symlink.js +es-module/test-esm-repl-imports.js +es-module/test-esm-symlink-main.js +es-module/test-require-module-twice.js +es-module/test-vm-synthetic-module-leak.js +es-module/test-esm-windows.js +es-module/test-cjs-prototype-pollution.js +es-module/test-require-module-dynamic-import-4.js +es-module/test-require-node-modules-warning.js +es-module/test-require-module-cycle-esm-cjs-esm-esm.js +es-module/test-esm-preserve-symlinks.js +es-module/test-cjs-esm-warn.js +es-module/test-esm-dynamic-import.js +es-module/test-require-module-errors.js +es-module/test-cjs-legacyMainResolve-permission.js +es-module/test-esm-loader-search.js +es-module/test-esm-type-field-errors-2.js +es-module/test-require-module-tla-resolved.js +es-module/test-vm-source-text-module-leak.js +es-module/test-require-module-cycle-esm-esm-cjs-esm-esm.js +es-module/test-require-module-feature-detect.js +es-module/test-require-module-implicit.js +es-module/test-require-module-tla-execution.js +es-module/test-esm-invalid-data-urls.js +es-module/test-esm-import-attributes-errors.js +es-module/test-require-module-tla-unresolved.js +es-module/test-require-module-dont-detect-cjs.js +es-module/test-require-module-tla-rejected.js +es-module/test-esm-symlink-type.js +es-module/test-esm-preserve-symlinks-main.js +es-module/test-esm-dynamic-import-commonjs.js +es-module/test-vm-main-context-default-loader.js +es-module/test-require-module-transpiled.js +es-module/test-require-module-detect-entry-point.js +es-module/test-require-module-dynamic-import-3.js +es-module/test-esm-cjs-main.js +es-module/test-require-module-tla-print-execution.js +es-module/test-require-module.js +es-module/test-esm-dynamic-import-mutating-fs.js +es-module/test-esm-invalid-pjson.js +es-module/test-wasm-memory-out-of-bound.js +es-module/test-require-module-synchronous-rejection-handling.js +es-module/test-require-module-tla-retry-import.js +es-module/test-esm-cjs-builtins.js +es-module/test-require-module-retry-import-errored.js +es-module/test-require-module-cycle-esm-cjs-esm.js +es-module/test-esm-import-attributes-validation.js +es-module/test-esm-loader-modulemap.js +es-module/test-esm-encoded-path-native.js +es-module/test-require-module-conditional-exports-module.js +wpt/test-events.js +wpt/test-file.js +wpt/test-wasm-webapi.js +wpt/test-microtask-queuing.js +wpt/test-domexception.js +wpt/test-webstorage.js +wpt/test-user-timing.js +wpt/test-streams.js +wpt/test-atob.js +wpt/test-abort.js +wpt/test-broadcastchannel.js +wpt/test-urlpattern.js +wpt/test-resource-timing.js +wpt/test-hr-time.js +wpt/test-compression.js +wpt/test-performance-timeline.js +wpt/test-url.js +wpt/test-structured-clone.js +wpt/test-encoding.js +wpt/test-blob.js +wpt/test-console.js +wpt/test-timers.js +v8-updates/test-trace-gc-flag.js +v8-updates/test-linux-perf-logger.js +v8-updates/test-linux-perf.js +common/globals.js +common/hijackstdio.js +common/arraystream.js +common/heap.js +common/inspector-helper.js +common/udp.js +common/benchmark.js +common/fixtures.js +common/dns.js +common/http2.js +common/internet.js +common/sea.js +common/tmpdir.js +common/process-exit-code-cases.js +common/tick.js +common/index.js +common/debugger.js +common/crypto.js +common/child_process.js +common/gc.js +common/report.js +common/snapshot.js +common/proxy-server.js +common/prof.js +common/test-error-reporter.js +common/cpu-prof.js +common/countdown.js +common/shared-lib-util.js +common/wpt.js +common/measure-memory.js +common/wasi.js +common/net.js +common/assertSnapshot.js +common/v8.js +common/tls.js +benchmark/test-benchmark-source-map.js +benchmark/test-benchmark-querystring.js +benchmark/test-benchmark-websocket.js +benchmark/test-benchmark-assert.js +benchmark/test-benchmark-worker.js +benchmark/test-benchmark-blob.js +benchmark/test-benchmark-dns.js +benchmark/test-benchmark-vm.js +benchmark/test-benchmark-http.js +benchmark/test-benchmark-child-process.js +benchmark/test-benchmark-validators.js +benchmark/test-benchmark-module.js +benchmark/test-benchmark-esm.js +benchmark/test-benchmark-path.js +benchmark/test-benchmark-tls.js +benchmark/test-benchmark-webstreams.js +benchmark/test-benchmark-process.js +benchmark/test-benchmark-net.js +benchmark/test-benchmark-mime.js +benchmark/test-benchmark-string_decoder.js +benchmark/test-benchmark-http2.js +benchmark/test-benchmark-async-hooks.js +benchmark/test-benchmark-domain.js +benchmark/test-benchmark-misc.js +benchmark/test-benchmark-buffer.js +benchmark/test-benchmark-os.js +benchmark/test-benchmark-cluster.js +benchmark/test-benchmark-timers.js +benchmark/test-benchmark-streams.js +benchmark/test-benchmark-v8.js +benchmark/test-benchmark-util.js +benchmark/test-benchmark-url.js +benchmark/test-benchmark-dgram.js +benchmark/test-benchmark-zlib.js +benchmark/test-benchmark-events.js +benchmark/test-bechmark-readline.js +benchmark/test-benchmark-es.js +message/util_inspect_error.js +message/util-inspect-error-cause.js +message/node_run_non_existent.js +message/console_assert.js +message/max_tick_depth.js +parallel/test-dns-multi-channel.js +parallel/test-tls-no-sslv23.js +parallel/test-http-write-head-2.js +parallel/test-http-server-request-timeout-delayed-body.js +parallel/test-bootstrap-modules.js +parallel/test-stream-readable-end-destroyed.js +parallel/test-assert-deep.js +parallel/test-http-server-non-utf8-header.js +parallel/test-child-process-exit-code.js +parallel/test-whatwg-webstreams-adapters-to-readablestream.js +parallel/test-inspector-break-when-eval.js +parallel/test-buffer-readint.js +parallel/test-compile-cache-api-env.js +parallel/test-debugger-backtrace.js +parallel/test-promise-unhandled-issue-43655.js +parallel/test-event-emitter-special-event-names.js +parallel/test-compile-cache-typescript-transform.js +parallel/test-fs-stream-construct-compat-error-read.js +parallel/test-stream-readable-reading-readingMore.js +parallel/test-child-process-execfilesync-maxbuf.js +parallel/test-domain-timer.js +parallel/test-http-outgoing-writableFinished.js +parallel/test-runner-custom-assertions.js +parallel/test-util-types-exists.js +parallel/test-zlib-const.js +parallel/test-stream2-compatibility.js +parallel/test-dgram-create-socket-handle.js +parallel/test-client-request-destroy.js +parallel/test-async-hooks-enable-recursive.js +parallel/test-console-assign-undefined.js +parallel/test-timers-linked-list.js +parallel/test-https-agent-getname.js +parallel/test-cluster-child-index-net.js +parallel/test-http-early-hints-invalid-argument.js +parallel/test-http2-multiheaders.js +parallel/test-http2-compat-serverresponse-createpushresponse.js +parallel/test-buffer-parent-property.js +parallel/test-vm-preserves-property.js +parallel/test-tls-delayed-attach-error.js +parallel/test-http2-client-data-end.js +parallel/test-filehandle-readablestream.js +parallel/test-permission-child-process-inherit-flags.js +parallel/test-net-write-after-close.js +parallel/test-performanceobserver.js +parallel/test-http-client-timeout-connect-listener.js +parallel/test-stream-auto-destroy.js +parallel/test-require-delete-array-iterator.js +parallel/test-http2-session-settings.js +parallel/test-cluster-worker-constructor.js +parallel/test-worker-invalid-workerdata.js +parallel/test-dgram-send-address-types.js +parallel/test-cluster-eaddrinuse.js +parallel/test-repl-preprocess-top-level-await.js +parallel/test-internal-modules.js +parallel/test-http-agent-uninitialized.js +parallel/test-net-better-error-messages-port-hostname.js +parallel/test-inspector-port-zero-cluster.js +parallel/test-event-emitter-listeners.js +parallel/test-worker-terminate-source-map.js +parallel/test-http-client-timeout.js +parallel/test-stream-readable-from-web-termination.js +parallel/test-cluster-disconnect-race.js +parallel/test-net-isipv4.js +parallel/test-require-resolve-invalid-paths.js +parallel/test-module-create-require-multibyte.js +parallel/test-buffer-sharedarraybuffer.js +parallel/test-whatwg-url-custom-searchparams-sort.js +parallel/test-async-hooks-http-agent-destroy.js +parallel/test-http-timeout-client-warning.js +parallel/test-microtask-queue-integration.js +parallel/test-stream2-objects.js +parallel/test-http-set-timeout.js +parallel/test-worker-message-port-transfer-duplicate.js +parallel/test-v8-stats.js +parallel/test-diagnostics-channel-http-server-start.js +parallel/test-webcrypto-wrap-unwrap.js +parallel/test-cluster-disconnect-before-exit.js +parallel/test-http2-sensitive-headers.js +parallel/test-whatwg-url-custom-searchparams-inspect.js +parallel/test-cluster-worker-destroy.js +parallel/test-http2-respond-file-filehandle.js +parallel/test-heap-prof-dir-name.js +parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js +parallel/test-event-emitter-listeners-side-effects.js +parallel/test-module-nodemodulepaths.js +parallel/test-dgram-multicast-set-interface.js +parallel/test-net-listen-exclusive-random-ports.js +parallel/test-urlpattern-invalidthis.js +parallel/test-http2-compat-serverrequest-pause.js +parallel/test-worker-message-port-jstransferable-nested-untransferable.js +parallel/test-whatwg-writablestream.js +parallel/test-http-response-status-message.js +parallel/test-async-wrap-uncaughtexception.js +parallel/test-net-dns-lookup-skip.js +parallel/test-http-dont-set-default-headers-with-set-header.js +parallel/test-socket-write-after-fin-error.js +parallel/test-event-emitter-remove-listeners.js +parallel/test-http-pause.js +parallel/test-net-socket-timeout.js +parallel/test-http-request-smuggling-content-length.js +parallel/test-stream-base-prototype-accessors-enumerability.js +parallel/test-crypto-keygen-async-rsa.js +parallel/test-stream-pipeline-uncaught.js +parallel/test-vm-attributes-property-not-on-sandbox.js +parallel/test-fs-writefile-with-fd.js +parallel/test-webcrypto-derivekey-cfrg.js +parallel/test-console-with-frozen-intrinsics.js +parallel/test-net-connect-options-path.js +parallel/test-http-client-abort3.js +parallel/test-http2-compat-serverresponse-drain.js +parallel/test-whatwg-events-eventtarget-this-of-listener.js +parallel/test-fs-watch-recursive-assert-leaks.js +parallel/test-child-process-advanced-serialization.js +parallel/test-release-changelog.js +parallel/test-path-parse-format.js +parallel/test-net-pingpong.js +parallel/test-tls-server-failed-handshake-emits-clienterror.js +parallel/test-internal-async-context-frame-disable.js +parallel/test-http2-write-finishes-after-stream-destroy.js +parallel/test-http-agent-scheduling.js +parallel/test-fs-stream-construct-compat-graceful-fs.js +parallel/test-inspector-exit-worker-in-wait-for-connection2.js +parallel/test-http-host-headers.js +parallel/test-cluster-disconnect-leak.js +parallel/test-whatwg-url-custom-inspect.js +parallel/test-child-process-spawnsync-maxbuf.js +parallel/test-stream-pipe-objectmode-to-non-objectmode.js +parallel/test-diagnostics-channel-tracing-channel-promise.js +parallel/test-internal-assert.js +parallel/test-process-default.js +parallel/test-http-outgoing-end-types.js +parallel/test-fs-read-zero-length.js +parallel/test-nodeeventtarget.js +parallel/test-promise-unhandled-error.js +parallel/test-process-ppid.js +parallel/test-worker-voluntarily-exit-followed-by-throw.js +parallel/test-http-dont-set-default-headers.js +parallel/test-trace-events-metadata.js +parallel/test-async-hooks-constructor.js +parallel/test-debugger-break.js +parallel/test-eslint-duplicate-requires.js +parallel/test-worker-process-argv.js +parallel/test-vm-function-redefinition.js +parallel/test-crypto-worker-thread.js +parallel/test-process-constrained-memory.js +parallel/test-dgram-deprecation-error.js +parallel/test-messaging-marktransfermode.js +parallel/test-common-must-not-call.js +parallel/test-fs-rm.js +parallel/test-http-dns-error.js +parallel/test-trace-events-bootstrap.js +parallel/test-repl-uncaught-exception-async.js +parallel/test-timers-dispose.js +parallel/test-disable-sigusr1.js +parallel/test-whatwg-readablebytestream.js +parallel/test-timers-setimmediate-infinite-loop.js +parallel/test-webcrypto-derivebits-ecdh.js +parallel/test-file.js +parallel/test-vm-measure-memory.js +parallel/test-inspector-stress-http.js +parallel/test-trace-exit-stack-limit.js +parallel/test-fs-whatwg-url.js +parallel/test-fs-writev-sync.js +parallel/test-http2-respond-file-fd-range.js +parallel/test-tls-timeout-server-2.js +parallel/test-stdin-hang.js +parallel/test-debugger-watch-validation.js +parallel/test-stream-readable-error-end.js +parallel/test-http-response-cork.js +parallel/test-http-zero-length-write.js +parallel/test-stream-pipe-error-unhandled.js +parallel/test-crypto-keygen-async-explicit-elliptic-curve.js +parallel/test-vm-global-property-interceptors.js +parallel/test-http-client-set-timeout-after-end.js +parallel/test-net-server-listen-remove-callback.js +parallel/test-http-response-add-header-after-sent.js +parallel/test-whatwg-encoding-custom-textdecoder-api-invalid-label.js +parallel/test-errors-systemerror-stackTraceLimit-deleted-and-Error-sealed.js +parallel/test-domain-multi.js +parallel/test-http-client-override-global-agent.js +parallel/test-http-client-abort-keep-alive-queued-unix-socket.js +parallel/test-diagnostics-channel-http2-server-stream-finish.js +parallel/test-crypto-default-shake-lengths.js +parallel/test-http-client-parse-error.js +parallel/test-quic-internal-setcallbacks.js +parallel/test-process-euid-egid.js +parallel/test-stdio-closed.js +parallel/test-whatwg-events-customevent.js +parallel/test-event-emitter-add-listeners.js +parallel/test-tls-connect-pipe.js +parallel/test-zlib.js +parallel/test-child-process-recv-handle.js +parallel/test-crypto-keygen-async-named-elliptic-curve.js +parallel/test-tls-ticket-invalid-arg.js +parallel/test-net-connect-memleak.js +parallel/test-http-server.js +parallel/test-crypto-cipheriv-decipheriv.js +parallel/test-dgram-send-callback-buffer.js +parallel/test-http-keep-alive-timeout-custom.js +parallel/test-stream-duplex-writable-finished.js +parallel/test-path-dirname.js +parallel/test-inspector-runtime-evaluate-with-timeout.js +parallel/test-domain-no-error-handler-abort-on-uncaught-2.js +parallel/test-fs-write-file-flush.js +parallel/test-http2-perf_hooks.js +parallel/test-fs-make-callback.js +parallel/test-async-hooks-worker-asyncfn-terminate-4.js +parallel/test-fs-watch-recursive-add-file-to-new-folder.js +parallel/test-stream-typedarray.js +parallel/test-buffer-inheritance.js +parallel/test-async-hooks-disable-gc-tracking.js +parallel/test-module-run-main-monkey-patch.js +parallel/test-string-decoder-fuzz.js +parallel/test-http-conn-reset.js +parallel/test-pipe-stream.js +parallel/test-url-parse-query.js +parallel/test-ref-unref-return.js +parallel/test-async-hooks-execution-async-resource-await.js +parallel/test-buffer-write.js +parallel/test-worker-stack-overflow-stack-size.js +parallel/test-tls-multi-key.js +parallel/test-http2-compat-client-upload-reject.js +parallel/test-fs-rename-type-check.js +parallel/test-repl-eval-error-after-close.js +parallel/test-fs-promises-writefile-typedarray.js +parallel/test-zlib-close-after-error.js +parallel/test-tls-client-renegotiation-13.js +parallel/test-common-countdown.js +parallel/test-global-console-exists.js +parallel/test-fs-watch-recursive-add-file-to-existing-subfolder.js +parallel/test-child-process-spawnsync-timeout.js +parallel/test-console-tty-colors.js +parallel/test-timers-promises.js +parallel/test-http-set-header-chain.js +parallel/test-tls-client-getephemeralkeyinfo.js +parallel/test-http-server-capture-rejections.js +parallel/test-timers-unenroll-unref-interval.js +parallel/test-fs-symlink-dir-junction.js +parallel/test-http-connect.js +parallel/test-http-response-multiheaders.js +parallel/test-stream-write-drain.js +parallel/test-repl-null-thrown.js +parallel/test-http2-goaway-delayed-request.js +parallel/test-util-text-decoder.js +parallel/test-domain-stack-empty-in-process-uncaughtexception.js +parallel/test-permission-warning-flags.js +parallel/test-tls-connect-hwm-option.js +parallel/test-require-resolve-opts-paths-relative.js +parallel/test-whatwg-webstreams-transfer.js +parallel/test-fs-readfile-zero-byte-liar.js +parallel/test-dgram-sendto.js +parallel/test-stringbytes-external.js +parallel/test-http-agent-abort-controller.js +parallel/test-stream-await-drain-writers-in-synchronously-recursion-write.js +parallel/test-stream-transform-constructor-set-methods.js +parallel/test-inspector-async-hook-setup-at-signal.js +parallel/test-buffer-writefloat.js +parallel/test-timers-uncaught-exception.js +parallel/test-fs-promises-file-handle-writeFile.js +parallel/test-http-unix-socket.js +parallel/test-next-tick-fixed-queue-regression.js +parallel/test-tls-request-timeout.js +parallel/test-zlib-brotli.js +parallel/test-domain-error-types.js +parallel/test-inspector-esm.js +parallel/test-repl-tab-complete-buffer.js +parallel/test-crypto-keygen.js +parallel/test-snapshot-dns-resolve-localhost-promise.js +parallel/test-primitive-timer-leak.js +parallel/test-whatwg-url-custom-setters.js +parallel/test-zlib-random-byte-pipes.js +parallel/test-dns-memory-error.js +parallel/test-http-server-destroy-socket-on-client-error.js +parallel/test-permission-fs-require.js +parallel/test-cluster-kill-infinite-loop.js +parallel/test-http2-info-headers-errors.js +parallel/test-whatwg-events-event-constructors.js +parallel/test-event-emitter-prepend.js +parallel/test-http-client-reject-unexpected-agent.js +parallel/test-diagnostics-channel-module-import.js +parallel/test-cluster-http-pipe.js +parallel/test-zlib-from-gzip-with-trailing-garbage.js +parallel/test-stream-pipe-same-destination-twice.js +parallel/test-buffer-equals.js +parallel/test-fs-promises-file-handle-dispose.js +parallel/test-http2-too-many-streams.js +parallel/test-set-process-debug-port.js +parallel/test-debugger-pid.js +parallel/test-eslint-documented-deprecation-codes.js +parallel/test-snapshot-worker.js +parallel/test-tls-client-allow-partial-trust-chain.js +parallel/test-fs-promises-writefile-with-fd.js +parallel/test-http-server-keep-alive-max-requests-null.js +parallel/test-http2-large-writes-session-memory-leak.js +parallel/test-process-umask-mask.js +parallel/test-http-status-reason-invalid-chars.js +parallel/test-http2-compat-serverrequest-trailers.js +parallel/test-worker-message-port-multiple-sharedarraybuffers.js +parallel/test-stream-unpipe-event.js +parallel/test-http-incoming-message-connection-setter.js +parallel/test-cli-node-options.js +parallel/test-http-abort-client.js +parallel/test-https-localaddress.js +parallel/test-domain-with-abort-on-uncaught-exception.js +parallel/test-dgram-send-callback-recursive.js +parallel/test-fs-stream-destroy-emit-error.js +parallel/test-zlib-object-write.js +parallel/test-stream-duplex-props.js +parallel/test-stream-decoder-objectmode.js +parallel/test-child-process-fork-exec-argv.js +parallel/test-http-outgoing-properties.js +parallel/test-fs-read-promises-optional-params.js +parallel/test-http-response-writehead-returns-this.js +parallel/test-worker-arraybuffer-zerofill.js +parallel/test-http2-compat-expect-continue.js +parallel/test-inspector-exception.js +parallel/test-runner-aliases.js +parallel/test-https-agent-create-connection.js +parallel/test-buffer-constructor-deprecation-error.js +parallel/test-stream-flatMap.js +parallel/test-http2-misc-util.js +parallel/test-crypto-gcm-implicit-short-tag.js +parallel/test-repl-preview-without-inspector.js +parallel/test-http-client-check-http-token.js +parallel/test-http-set-cookies.js +parallel/test-http-socket-encoding-error.js +parallel/test-dgram-ipv6only.js +parallel/test-repl-preview.js +parallel/test-http2-unbound-socket-proxy.js +parallel/test-trace-events-category-used.js +parallel/test-crypto-dh-odd-key.js +parallel/test-ttywrap-invalid-fd.js +parallel/test-buffer-fill.js +parallel/test-process-exit-code.js +parallel/test-worker-exit-from-uncaught-exception.js +parallel/test-debugger-sb-before-load.js +parallel/test-require-empty-main.js +parallel/test-vm-set-property-proxy.js +parallel/test-worker-message-not-serializable.js +parallel/test-repl-unsupported-option.js +parallel/test-dns-setserver-when-querying.js +parallel/test-async-hooks-promise-enable-disable.js +parallel/test-whatwg-url-custom-tostringtag.js +parallel/test-webcrypto-getRandomValues.js +parallel/test-v8-getheapsnapshot-twice.js +parallel/test-fs-write-file-invalid-path.js +parallel/test-module-wrap.js +parallel/test-webcrypto-derivekey.js +parallel/test-stream-writable-destroy.js +parallel/test-fs-promises-file-handle-sync.js +parallel/test-http-debug.js +parallel/test-sqlite-statement-sync.js +parallel/test-worker-message-port-wasm-module.js +parallel/test-vm-sigint-existing-handler.js +parallel/test-next-tick-ordering.js +parallel/test-fs-rmdir-recursive-warns-on-file.js +parallel/test-webcrypto-export-import-cfrg.js +parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js +parallel/test-cli-syntax-piped-bad.js +parallel/test-net-connect-nodelay.js +parallel/test-diagnostics-channel-net.js +parallel/test-no-addons-resolution-condition.js +parallel/test-event-emitter-method-names.js +parallel/test-net-write-arguments.js +parallel/test-repl-inspector.js +parallel/test-repl-programmatic-history.js +parallel/test-vm-set-proto-null-on-globalthis.js +parallel/test-net-isip.js +parallel/test-module-circular-symlinks.js +parallel/test-process-emitwarning.js +parallel/test-child-process-fork-dgram.js +parallel/test-trace-events-file-pattern.js +parallel/test-stream-readable-invalid-chunk.js +parallel/test-crypto-keygen-missing-oid.js +parallel/test-crypto-oneshot-hash.js +parallel/test-process-external-stdio-close.js +parallel/test-http-max-headers-count.js +parallel/test-http-client-timeout-with-data.js +parallel/test-dns-lookup-promises-options-deprecated.js +parallel/test-tls-connect-timeout-option.js +parallel/test-tls-cnnic-whitelist.js +parallel/test-fs-write-stream-throw-type-error.js +parallel/test-data-url.js +parallel/test-worker-error-stack-getter-throws.js +parallel/test-net-connect-options-port.js +parallel/test-fs-internal-assertencoding.js +parallel/test-worker-execargv.js +parallel/test-domain-promise.js +parallel/test-http-server-connections-checking-leak.js +parallel/test-cli-permission-deny-fs.js +parallel/test-common-gc.js +parallel/test-async-local-storage-enter-with.js +parallel/test-http-incoming-matchKnownFields.js +parallel/test-http2-respond-file-compat.js +parallel/test-heap-prof-basic.js +parallel/test-inspector-reported-host.js +parallel/test-https-server-request-timeout.js +parallel/test-http-agent-uninitialized-with-handle.js +parallel/test-http-highwatermark.js +parallel/test-promise-hook-on-before.js +parallel/test-console-issue-43095.js +parallel/test-async-wrap-promise-after-enabled.js +parallel/test-http-pipeline-assertionerror-finish.js +parallel/test-heap-prof-exit.js +parallel/test-repl-editor.js +parallel/test-child-process-cwd.js +parallel/test-http2-server-unknown-protocol.js +parallel/test-http-request-host-header.js +parallel/test-vm-parse-abort-on-uncaught-exception.js +parallel/test-net-server-unref-persistent.js +parallel/test-readline-reopen.js +parallel/test-v8-flag-type-check.js +parallel/test-http-client-invalid-path.js +parallel/test-crypto-dh-constructor.js +parallel/test-cli-permission-multiple-allow.js +parallel/test-dgram-address.js +parallel/test-tls-ip-servername-deprecation.js +parallel/test-tls-connect-simple.js +parallel/test-http-byteswritten.js +parallel/test-http-timeout.js +parallel/test-tls-destroy-stream.js +parallel/test-icu-transcode.js +parallel/test-global-encoder.js +parallel/test-domain-throw-error-then-throw-from-uncaught-exception-handler.js +parallel/test-dgram-send-empty-array.js +parallel/test-domain-load-after-set-uncaught-exception-capture.js +parallel/test-child-process-stdio-inherit.js +parallel/test-http-connect-req-res.js +parallel/test-repl-save-load-load-dir.js +parallel/test-stream-readable-didRead.js +parallel/test-worker-process-env.js +parallel/test-fs-existssync-false.js +parallel/test-async-hooks-disable-during-promise.js +parallel/test-v8-serdes.js +parallel/test-inspector-module.js +parallel/test-global-webstreams.js +parallel/test-worker-unsupported-path.js +parallel/test-vm-options-validation.js +parallel/test-stream-pipeline-queued-end-in-destroy.js +parallel/test-async-hooks-prevent-double-destroy.js +parallel/test-stream-pipe-flow.js +parallel/test-http2-compat-serverresponse-finished.js +parallel/test-crypto-dh-shared.js +parallel/test-tls-max-send-fragment.js +parallel/test-child-process-silent.js +parallel/test-handle-wrap-close-abort.js +parallel/test-http2-status-code-invalid.js +parallel/test-http-dump-req-when-res-ends.js +parallel/test-tls-root-certificates.js +parallel/test-fs-watch-recursive-validate.js +parallel/test-http2-origin.js +parallel/test-net-isipv6.js +parallel/test-http2-client-request-listeners-warning.js +parallel/test-querystring-multichar-separator.js +parallel/test-whatwg-writablestream-close.js +parallel/test-process-exit-from-before-exit.js +parallel/test-process-available-memory.js +parallel/test-stream-set-default-hwm.js +parallel/test-http2-res-writable-properties.js +parallel/test-repl-tab-complete-computed-props.js +parallel/test-stream-passthrough-drain.js +parallel/test-heapsnapshot-near-heap-limit-worker.js +parallel/test-fs-promises.js +parallel/test-dgram-socket-buffer-size.js +parallel/test-util-inspect-long-running.js +parallel/test-permission-fs-symlink.js +parallel/test-fs-realpath-pipe.js +parallel/test-child-process-validate-stdio.js +parallel/test-process-kill-pid.js +parallel/test-async-local-storage-bind.js +parallel/test-url-parse-format.js +parallel/test-stream-toWeb-allows-server-response.js +parallel/test-debugger-clear-breakpoints.js +parallel/test-fs-promises-watch.js +parallel/test-child-process-server-close.js +parallel/test-stream-add-abort-signal.js +parallel/test-http-no-read-no-dump.js +parallel/test-compile-cache-permission-disallowed.js +parallel/test-net-socket-destroy-twice.js +parallel/test-fs-readfilesync-enoent.js +parallel/test-events-once.js +parallel/test-tls-keyengine-invalid-arg-type.js +parallel/test-net-listen-invalid-port.js +parallel/test-dgram-connect-send-callback-buffer-length.js +parallel/test-stdio-pipe-stderr.js +parallel/test-env-newprotomethod-remove-unnecessary-prototypes.js +parallel/test-util-format.js +parallel/test-trace-env-stack.js +parallel/test-worker-sharedarraybuffer-from-worker-thread.js +parallel/test-http-date-header.js +parallel/test-internal-validators-validateoneof.js +parallel/test-https-autoselectfamily.js +parallel/test-event-emitter-check-listener-leaks.js +parallel/test-zlib-flush-flags.js +parallel/test-repl-sigint.js +parallel/test-http2-connect-method-extended-cant-turn-off.js +parallel/test-debugger-unavailable-port.js +parallel/test-accessor-properties.js +parallel/test-crypto-webcrypto-aes-decrypt-tag-too-small.js +parallel/test-https-timeout-server.js +parallel/test-compile-cache-typescript-strip-sourcemaps.js +parallel/test-stream3-pause-then-read.js +parallel/test-crypto-keygen-async-elliptic-curve-jwk-ec.js +parallel/test-http-url.parse-basic.js +parallel/test-http-contentLength0.js +parallel/test-http2-stream-client.js +parallel/test-stream-readable-resumeScheduled.js +parallel/test-disable-proto-delete.js +parallel/test-http-outgoing-proto.js +parallel/test-arm-math-illegal-instruction.js +parallel/test-child-process-ipc.js +parallel/test-http2-compat-serverresponse-statusmessage-property.js +parallel/test-uv-binding-constant.js +parallel/test-http-client-timeout-event.js +parallel/test-domain-intercept.js +parallel/test-stream-transform-callback-twice.js +parallel/test-crypto-key-objects-messageport.js +parallel/test-emit-after-uncaught-exception.js +parallel/test-cli-eval.js +parallel/test-http-double-content-length.js +parallel/test-child-process-destroy.js +parallel/test-async-wrap-destroyid.js +parallel/test-webstorage.js +parallel/test-http-1.0-keep-alive.js +parallel/test-domain-fs-enoent-stream.js +parallel/test-http-outgoing-end-multiple.js +parallel/test-pipe-abstract-socket.js +parallel/test-worker-event.js +parallel/test-buffer-compare-offset.js +parallel/test-crypto-keygen-async-elliptic-curve-jwk.js +parallel/test-domain-no-error-handler-abort-on-uncaught-9.js +parallel/test-dgram-close-is-not-callback.js +parallel/test-https-agent-session-injection.js +parallel/test-process-setgroups.js +parallel/test-http-readable-data-event.js +parallel/test-fs-watch-stop-async.js +parallel/test-inspector-open-coverage.js +parallel/test-cluster-send-socket-to-worker-http-server.js +parallel/test-http2-compat-serverrequest.js +parallel/test-http-max-http-headers.js +parallel/test-repl-tab-complete-require.js +parallel/test-net-socket-ready-without-cb.js +parallel/test-tls-get-ca-certificates-extra-subset.js +parallel/test-vm-codegen.js +parallel/test-child-process-fork-no-shell.js +parallel/test-sigint-infinite-loop.js +parallel/test-promise-hook-create-hook.js +parallel/test-http2-dont-override.js +parallel/test-child-process-default-options.js +parallel/test-worker-cleanexit-with-moduleload.js +parallel/test-http-request-large-payload.js +parallel/test-http-outgoing-buffer.js +parallel/test-https-server-options-incoming-message.js +parallel/test-freelist.js +parallel/test-http2-server-push-stream.js +parallel/test-cluster-rr-domain-listen.js +parallel/test-https-foafssl.js +parallel/test-http2-client-destroy.js +parallel/test-crypto-dh-errors.js +parallel/test-zlib-dictionary.js +parallel/test-fs-write-file-buffer.js +parallel/test-http2-compat-serverresponse-close.js +parallel/test-http2-large-write-destroy.js +parallel/test-http2-server-setLocalWindowSize.js +parallel/test-worker-heap-statistics.js +parallel/test-shadow-realm.js +parallel/test-repl-require-self-referential.js +parallel/test-worker-stdio-flush-inflight.js +parallel/test-fs-write-reuse-callback.js +parallel/test-net-server-nodelay.js +parallel/test-net-listen-handle-in-cluster-1.js +parallel/test-http-agent-timeout-option.js +parallel/test-timers-socket-timeout-removes-other-socket-unref-timer.js +parallel/test-http-buffer-sanity.js +parallel/test-path-extname.js +parallel/test-stream-writable-aborted.js +parallel/test-tls-finished.js +parallel/test-webcrypto-random.js +parallel/test-http-status-code.js +parallel/test-vm-harmony-symbols.js +parallel/test-http-agent-null.js +parallel/test-http2-socket-proxy-handler-for-has.js +parallel/test-path-relative.js +parallel/test-domain-set-uncaught-exception-capture-after-load.js +parallel/test-zlib-zstd-pledged-src-size.js +parallel/test-child-process-stdio.js +parallel/test-repl-completion-on-getters-disabled.js +parallel/test-worker-console-listeners.js +parallel/test-net-pipe-connect-errors.js +parallel/test-snapshot-error.js +parallel/test-http-outgoing-renderHeaders.js +parallel/test-child-process-send-type-error.js +parallel/test-compile-cache-success.js +parallel/test-http-timeout-overflow.js +parallel/test-zlib-brotli-from-string.js +parallel/test-timers-immediate-queue-throw.js +parallel/test-http2-server-close-idle-connection.js +parallel/test-cli-eval-event.js +parallel/test-http-chunked-304.js +parallel/test-debugger-heap-profiler.js +parallel/test-debug-process.js +parallel/test-process-exception-capture-errors.js +parallel/test-stream-duplex-readable-end.js +parallel/test-child-process-stdout-ipc.js +parallel/test-process-threadCpuUsage-worker-threads.js +parallel/test-http2-status-code.js +parallel/test-tls-client-abort2.js +parallel/test-v8-global-setter.js +parallel/test-module-parent-setter-deprecation.js +parallel/test-net-options-lookup.js +parallel/test-http2-close-while-writing.js +parallel/test-preload-self-referential.js +parallel/test-socketaddress.js +parallel/test-util-callbackify.js +parallel/test-http-outgoing-first-chunk-singlebyte-encoding.js +parallel/test-http2-sent-headers.js +parallel/test-http2-util-asserts.js +parallel/test-http-1.0.js +parallel/test-performance-nodetiming.js +parallel/test-net-large-string.js +parallel/test-http2-compat-serverrequest-host.js +parallel/test-async-local-storage-deep-stack.js +parallel/test-dgram-connect-send-multi-string-array.js +parallel/test-stream2-pipe-error-handling.js +parallel/test-http-server-keep-alive-timeout.js +parallel/test-zlib-zero-byte.js +parallel/test-tls-snicallback-error.js +parallel/test-eslint-async-iife-no-unused-result.js +parallel/test-readline.js +parallel/test-fs-append-file-sync.js +parallel/test-stream-transform-hwm0.js +parallel/test-inspector-network-content-type.js +parallel/test-http-client-agent-abort-close-event.js +parallel/test-internal-fs.js +parallel/test-fs-readfilesync-pipe-large.js +parallel/test-crypto-randomfillsync-regression.js +parallel/test-http-keepalive-request.js +parallel/test-zlib-flush-drain.js +parallel/test-stream-drop-take.js +parallel/test-http2-server-timeout.js +parallel/test-tls-ecdh-auto.js +parallel/test-performance-eventlooputil.js +parallel/test-stream-readable-strategy-option.js +parallel/test-http2-util-assert-valid-pseudoheader.js +parallel/test-console-table.js +parallel/test-http2-connect-tls-with-delay.js +parallel/test-http-url.parse-only-support-http-https-protocol.js +parallel/test-net-local-address-port.js +parallel/test-vm-context-property-forwarding.js +parallel/test-permission-no-addons.js +parallel/test-tls-wrap-no-abort.js +parallel/test-http-agent-timeout.js +parallel/test-windows-failed-heap-allocation.js +parallel/test-dgram-connect-send-multi-buffer-copy.js +parallel/test-fs-write-buffer.js +parallel/test-v8-take-coverage.js +parallel/test-http-catch-uncaughtexception.js +parallel/test-dgram-oob-buffer.js +parallel/test-debugger-preserve-breaks.js +parallel/test-fs-write-buffer-large.js +parallel/test-crypto-default-shake-lengths-oneshot.js +parallel/test-runner-test-fullname.js +parallel/test-tls-pfx-authorizationerror.js +parallel/test-runner-reporters.js +parallel/test-vm-module-errors.js +parallel/test-tls-get-ca-certificates-system-without-flag.js +parallel/test-stream-writable-decoded-encoding.js +parallel/test-repl-uncaught-exception-evalcallback.js +parallel/test-http-max-header-size-per-stream.js +parallel/test-repl-domain.js +parallel/test-promise-swallowed-event.js +parallel/test-sqlite-named-parameters.js +parallel/test-tls-session-cache.js +parallel/test-dgram-send-callback-multi-buffer-empty-address.js +parallel/test-worker-cleanexit-with-js.js +parallel/test-stream2-basic.js +parallel/test-https-argument-of-creating.js +parallel/test-diagnostics-channel-tracing-channel-has-subscribers.js +parallel/test-http2-stream-destroy-event-order.js +parallel/test-fs-mkdir-recursive-eaccess.js +parallel/test-tls-get-ca-certificates-error.js +parallel/test-runner-todo-skip-tests.js +parallel/test-net-socket-timeout-unref.js +parallel/test-permission-fs-read.js +parallel/test-http-localaddress-bind-error.js +parallel/test-net-end-without-connect.js +parallel/test-heap-prof-exec-argv.js +parallel/test-util-primordial-monkeypatching.js +parallel/test-crypto-keygen-key-objects.js +parallel/test-http-server-stale-close.js +parallel/test-repl-autocomplete.js +parallel/test-crypto-scrypt.js +parallel/test-internal-util-classwrapper.js +parallel/test-child-process-kill.js +parallel/test-internal-process-binding.js +parallel/test-fs-read-stream-autoClose.js +parallel/test-security-revert-unknown.js +parallel/test-http-client-read-in-error.js +parallel/test-events-listener-count-with-listener.js +parallel/test-inspector-vm-global-accessors-getter-sideeffect.js +parallel/test-stream-ispaused.js +parallel/test-timers-max-duration-warning.js +parallel/test-diagnostics-channel-tracing-channel-promise-error.js +parallel/test-cluster-ipc-throw.js +parallel/test-http2-util-nghttp2error.js +parallel/test-timers-immediate-promisified.js +parallel/test-worker-safe-getters.js +parallel/test-net-listen-close-server.js +parallel/test-http2-allow-http1.js +parallel/test-http-destroyed-socket-write2.js +parallel/test-stream-end-of-streams.js +parallel/test-stream-readable-with-unimplemented-_read.js +parallel/test-http-client-timeout-on-connect.js +parallel/test-dgram-send-callback-buffer-length-empty-address.js +parallel/test-http-client-encoding.js +parallel/test-internal-util-normalizeencoding.js +parallel/test-stream-construct.js +parallel/test-vm-measure-memory-multi-context.js +parallel/test-assert-fail-deprecation.js +parallel/test-process-uid-gid.js +parallel/test-https-set-timeout-server.js +parallel/test-http2-server-startup.js +parallel/test-handle-wrap-hasref.js +parallel/test-util-getcallsite.js +parallel/test-http-request-agent.js +parallel/test-process-env-sideeffects.js +parallel/test-stream2-readable-wrap-error.js +parallel/test-find-package-json.js +parallel/test-tls-client-resume.js +parallel/test-buffer-failed-alloc-typed-arrays.js +parallel/test-http-missing-header-separator-lf.js +parallel/test-tls-get-ca-certificates-bundled-subset.js +parallel/test-promise-unhandled-warn-no-hook.js +parallel/test-http-client-abort-response-event.js +parallel/test-bash-completion.js +parallel/test-console-clear.js +parallel/test-repl-envvars.js +parallel/test-stream-pipeline-duplex.js +parallel/test-http2-compat-expect-handling.js +parallel/test-listen-fd-detached-inherit.js +parallel/test-net-socket-setnodelay.js +parallel/test-require-node-prefix.js +parallel/test-cluster-dgram-2.js +parallel/test-corepack-version.js +parallel/test-stream-readable-data.js +parallel/test-math-random.js +parallel/test-domain-no-error-handler-abort-on-uncaught-6.js +parallel/test-crypto-lazy-transform-writable.js +parallel/test-child-process-net-reuseport.js +parallel/test-errors-systemerror.js +parallel/test-fs-fmap.js +parallel/test-http2-reset-flood.js +parallel/test-worker-mjs-workerdata.js +parallel/test-net-connect-buffer2.js +parallel/test-http-response-statuscode.js +parallel/test-http-client-abort-keep-alive-destroy-res.js +parallel/test-event-emitter-listener-count.js +parallel/test-http2-premature-close.js +parallel/test-tls-connect-given-socket.js +parallel/test-async-hooks-run-in-async-scope-caught-exception.js +parallel/test-worker-message-port-transfer-target.js +parallel/test-readline-carriage-return-between-chunks.js +parallel/test-streams-highwatermark.js +parallel/test-stream-once-readable-pipe.js +parallel/test-console-no-swallow-stack-overflow.js +parallel/test-fs-write-stream-err.js +parallel/test-child-process-internal.js +parallel/test-listen-fd-cluster.js +parallel/test-spawn-cmd-named-pipe.js +parallel/test-http2-client-priority-before-connect.js +parallel/test-stdout-stderr-write.js +parallel/test-debugger-breakpoint-exists.js +parallel/test-fs-sir-writes-alot.js +parallel/test-dgram-connect-send-callback-multi-buffer.js +parallel/test-fs-readdir-stack-overflow.js +parallel/test-http-chunked-smuggling.js +parallel/test-stream-readable-hwm-0.js +parallel/test-whatwg-webstreams-adapters-streambase.js +parallel/test-startup-empty-regexp-statics.js +parallel/test-http2-respond-file-fd-invalid.js +parallel/test-http2-misbehaving-flow-control.js +parallel/test-cluster-rr-ref.js +parallel/test-domain-no-error-handler-abort-on-uncaught-0.js +parallel/test-fs-read-offset-null.js +parallel/test-http-agent-remove.js +parallel/test-module-wrapper.js +parallel/test-process-beforeexit-throw-exit.js +parallel/test-http2-compat-write-head-after-close.js +parallel/test-https-server-close-destroy-timeout.js +parallel/test-https-eof-for-eom.js +parallel/test-heap-prof-interval.js +parallel/test-cluster-dgram-reuse.js +parallel/test-fs-watch-file-enoent-after-deletion.js +parallel/test-net-connect-options-ipv6.js +parallel/test-buffer-pending-deprecation.js +parallel/test-source-map-api.js +parallel/test-fs-watch-recursive-add-file-with-url.js +parallel/test-http-client-incomingmessage-destroy.js +parallel/test-http-req-close-robust-from-tampering.js +parallel/test-permission-fs-windows-path.js +parallel/test-fs-readdir-ucs2.js +parallel/test-https-abortcontroller.js +parallel/test-http-upgrade-binary.js +parallel/test-http-agent-domain-reused-gc.js +parallel/test-webcrypto-sign-verify.js +parallel/test-buffer-compare.js +parallel/test-path.js +parallel/test-promise-unhandled-silent.js +parallel/test-timers-refresh-in-callback.js +parallel/test-promise-hook-on-resolve.js +parallel/test-http-agent-maxtotalsockets.js +parallel/test-error-format-list.js +parallel/test-http2-head-request.js +parallel/test-permission-fs-read-entrypoint.js +parallel/test-fs-truncate-sync.js +parallel/test-http2-respond-file-error-pipe-offset.js +parallel/test-http-client-abort-destroy.js +parallel/test-tls-client-default-ciphers.js +parallel/test-whatwg-encoding-custom-textdecoder-streaming.js +parallel/test-http-client-abort-unix-socket.js +parallel/test-stream-push-order.js +parallel/test-worker-message-port-move.js +parallel/test-http-client-with-create-connection.js +parallel/test-http2-respond-file.js +parallel/test-preload.js +parallel/test-http2-respond-nghttperrors.js +parallel/test-require-mjs.js +parallel/test-internal-fs-syncwritestream.js +parallel/test-http2-create-client-secure-session.js +parallel/test-trace-events-async-hooks-dynamic.js +parallel/test-file-write-stream4.js +parallel/test-tick-processor-version-check.js +parallel/test-http2-window-size.js +parallel/test-http2-respond-file-404.js +parallel/test-diagnostics-channel-symbol-named.js +parallel/test-tls-key-mismatch.js +parallel/test-http-server-write-end-after-end.js +parallel/test-stream-write-destroy.js +parallel/test-http-client-insecure-http-parser-error.js +parallel/test-stream-destroy-event-order.js +parallel/test-diagnostics-channel-http2-client-stream-finish.js +parallel/test-runner-extraneous-async-activity.js +parallel/test-heap-prof-loop-drained.js +parallel/test-error-prepare-stack-trace.js +parallel/test-vm-timeout-escape-promise-2.js +parallel/test-permission-fs-traversal-path.js +parallel/test-net-socket-close-after-end.js +parallel/test-stream-unshift-empty-chunk.js +parallel/test-net-autoselectfamily-attempt-timeout-default-value.js +parallel/test-timers-to-primitive.js +parallel/test-tls-exportkeyingmaterial.js +parallel/test-dgram-close-signal.js +parallel/test-heap-prof-name.js +parallel/test-http2-altsvc.js +parallel/test-net-remote-address-port.js +parallel/test-process-env-tz.js +parallel/test-http-proxy.js +parallel/test-crypto-dh-leak.js +parallel/test-tls-server-parent-constructor-options.js +parallel/test-http-client-headers-array.js +parallel/test-net-bytes-read.js +parallel/test-http2-multistream-destroy-on-read-tls.js +parallel/test-buffer-tostring-4gb.js +parallel/test-cluster-process-disconnect.js +parallel/test-tls-cert-chains-in-ca.js +parallel/test-disable-proto-throw.js +parallel/test-zlib-params.js +parallel/test-http2-pipe-named-pipe.js +parallel/test-require-process.js +parallel/test-eval.js +parallel/test-worker-terminate-null-handler.js +parallel/test-http-client-spurious-aborted.js +parallel/test-http-agent-false.js +parallel/test-quic-internal-endpoint-stats-state.js +parallel/test-tls-alert.js +parallel/test-tls-legacy-pfx.js +parallel/test-inspector-not-blocked-on-idle.js +parallel/test-eslint-prefer-common-mustnotcall.js +parallel/test-performance-measure.js +parallel/test-http2-too-many-headers.js +parallel/test-fs-writev-promises.js +parallel/test-tls-get-ca-certificates-default.js +parallel/test-child-process-can-write-to-stdout.js +parallel/test-net-normalize-args.js +parallel/test-tls-clientcertengine-unsupported.js +parallel/test-http-header-owstext.js +parallel/test-buffer-copy.js +parallel/test-vm-measure-memory-lazy.js +parallel/test-dns-get-server.js +parallel/test-webcrypto-sign-verify-hmac.js +parallel/test-domain-run.js +parallel/test-fs-write-stream-file-handle-2.js +parallel/test-async-local-storage-snapshot.js +parallel/test-http2-write-callbacks.js +parallel/test-child-process-spawn-timeout-kill-signal.js +parallel/test-stdout-stderr-reading.js +parallel/test-promise-reject-callback-exception.js +parallel/test-webcrypto-encrypt-decrypt-aes.js +parallel/test-fs-promises-write-optional-params.js +parallel/test-net-listening.js +parallel/test-domain-bind-timeout.js +parallel/test-fs-readdir-types.js +parallel/test-http2-respond-with-file-connection-abort.js +parallel/test-process-getgroups.js +parallel/test-stream-pipe-cleanup.js +parallel/test-http2-malformed-altsvc.js +parallel/test-http-chunk-extensions-limit.js +parallel/test-broadcastchannel-custom-inspect.js +parallel/test-stream-writableState-uncorked-bufferedRequestCount.js +parallel/test-net-better-error-messages-listen.js +parallel/test-http2-client-upload-reject.js +parallel/test-debugger-exceptions.js +parallel/test-fs-mkdtempDisposableSync.js +parallel/test-dns-resolveany-bad-ancount.js +parallel/test-inspector-strip-types.js +parallel/test-mime-api.js +parallel/test-webcrypto-derivebits-hkdf.js +parallel/test-http-many-ended-pipelines.js +parallel/test-performanceobserver-gc.js +parallel/test-worker-crypto-sign-transfer-result.js +parallel/test-repl-autolibs.js +parallel/test-whatwg-encoding-custom-textdecoder-ignorebom.js +parallel/test-stream-readable-emit-readable-short-stream.js +parallel/test-beforeexit-event-exit.js +parallel/test-net-stream.js +parallel/test-stream-big-packet.js +parallel/test-vm-indexed-properties.js +parallel/test-cluster-worker-exit.js +parallel/test-dgram-send-error.js +parallel/test-net-autoselectfamily-commandline-option.js +parallel/test-console-count.js +parallel/test-repl-definecommand.js +parallel/test-worker-esm-missing-main.js +parallel/test-timers-user-call.js +parallel/test-tls-connect-secure-context.js +parallel/test-debugger-low-level.js +parallel/test-http2-https-fallback.js +parallel/test-fs-write-stream-autoclose-option.js +parallel/test-http-remove-header-stays-removed.js +parallel/test-structuredClone-domexception.js +parallel/test-module-multi-extensions.js +parallel/test-dgram-udp4.js +parallel/test-fs-mkdir-mode-mask.js +parallel/test-tls-invoke-queued.js +parallel/test-promise-unhandled-silent-no-hook.js +parallel/test-http2-server-close-callback.js +parallel/test-http2-server-rfc-9113-server.js +parallel/test-net-connect-abort-controller.js +parallel/test-worker-message-type-unknown.js +parallel/test-net-timeout-no-handle.js +parallel/test-dgram-connect-send-empty-array.js +parallel/test-config-json-schema.js +parallel/test-readline-input-onerror.js +parallel/test-http-pipe-fs.js +parallel/test-webstreams-pipeline.js +parallel/test-url-is-url-internal.js +parallel/test-http-incoming-message-options.js +parallel/test-http-outgoing-message-write-callback.js +parallel/test-async-local-storage-exit-does-not-leak.js +parallel/test-fs-read-type.js +parallel/test-async-hooks-worker-asyncfn-terminate-2.js +parallel/test-vm-new-script-new-context.js +parallel/test-whatwg-encoding-custom-interop.js +parallel/test-webstreams-finished.js +parallel/test-net-during-close.js +parallel/test-event-emitter-once.js +parallel/test-stream-writable-final-async.js +parallel/test-fs-open-no-close.js +parallel/test-path-glob.js +parallel/test-http2-multi-content-length.js +parallel/test-timers-process-tampering.js +parallel/test-url-relative.js +parallel/test-messageevent-brandcheck.js +parallel/test-eslint-prefer-util-format-errors.js +parallel/test-net-child-process-connect-reset.js +parallel/test-worker-nearheaplimit-deadlock.js +parallel/test-http2-max-concurrent-streams.js +parallel/test-http2-padding-aligned.js +parallel/test-diagnostics-channel-tracing-channel-sync-early-exit.js +parallel/test-http2-invalid-last-stream-id.js +parallel/test-tls-ecdh.js +parallel/test-process-cpuUsage.js +parallel/test-dgram-send-empty-packet.js +parallel/test-permission-fs-absolute-path.js +parallel/test-stream-readableListening-state.js +parallel/test-fs-readfile-pipe.js +parallel/test-listen-fd-detached.js +parallel/test-fs-watch-recursive-update-file.js +parallel/test-http-perf_hooks.js +parallel/test-vm-function-declaration.js +parallel/test-env-var-no-warnings.js +parallel/test-child-process-spawn-shell.js +parallel/test-runner-root-duration.js +parallel/test-http-socket-error-listeners.js +parallel/test-child-process-send-returns-boolean.js +parallel/test-net-socket-write-error.js +parallel/test-punycode.js +parallel/test-worker-vm-context-terminate.js +parallel/test-https-agent-session-reuse.js +parallel/test-stream-objectmode-undefined.js +parallel/test-http2-client-unescaped-path.js +parallel/test-dns-perf_hooks.js +parallel/test-tls-connect-abort-controller.js +parallel/test-whatwg-url-custom-searchparams-foreach.js +parallel/test-vm-context-dont-contextify.js +parallel/test-readline-promises-tab-complete.js +parallel/test-cluster-server-restart-none.js +parallel/test-https-truncate.js +parallel/test-dgram-custom-lookup.js +parallel/test-http2-compat-serverresponse-headers-send-date.js +parallel/test-assert-deep-with-error.js +parallel/test-fs-promises-file-handle-close-errors.js +parallel/test-repl-reverse-search.js +parallel/test-child-process-uid-gid.js +parallel/test-assert-partial-deep-equal.js +parallel/test-http-automatic-headers.js +parallel/test-http2-create-client-session.js +parallel/test-http2-connect-options.js +parallel/test-http2-generic-streams.js +parallel/test-stream-readable-destroy.js +parallel/test-stream-error-once.js +parallel/test-permission-allow-wasi-cli.js +parallel/test-stream-writable-constructor-set-methods.js +parallel/test-next-tick.js +parallel/test-http2-ping.js +parallel/test-abort-controller-any-timeout.js +parallel/test-tty-stdin-pipe.js +parallel/test-http2-invalidheaderfields-client.js +parallel/test-events-static-geteventlisteners.js +parallel/test-https-agent-servername.js +parallel/test-http-invalid-path-chars.js +parallel/test-next-tick-when-exiting.js +parallel/test-http-response-multi-content-length.js +parallel/test-net-sync-cork.js +parallel/test-file-write-stream5.js +parallel/test-repl-context.js +parallel/test-dgram-recv-error.js +parallel/test-http-blank-header.js +parallel/test-crypto-keygen-async-encrypted-private-key.js +parallel/test-inspector-network-http.js +parallel/test-http-invalid-urls.js +parallel/test-zlib-write-after-close.js +parallel/test-net-server-listen-options.js +parallel/test-worker-exit-code.js +parallel/test-snapshot-coverage.js +parallel/test-whatwg-url-custom-searchparams-delete.js +parallel/test-console-not-call-toString.js +parallel/test-net-autoselectfamily-default.js +parallel/test-webcrypto-cryptokey-workers.js +parallel/test-stream-readable-readable-then-resume.js +parallel/test-zlib-write-after-flush.js +parallel/test-event-emitter-set-max-listeners-side-effects.js +parallel/test-http-response-splitting.js +parallel/test-https-client-reject.js +parallel/test-fs-watchfile.js +parallel/test-vm-timeout-escape-promise.js +parallel/test-util-inspect.js +parallel/test-cli-syntax-piped-good.js +parallel/test-buffer-over-max-length.js +parallel/test-domain-async-id-map-leak.js +parallel/test-dns-channel-cancel.js +parallel/test-console-self-assign.js +parallel/test-net-better-error-messages-path.js +parallel/test-cluster-basic.js +parallel/test-stream3-cork-end.js +parallel/test-http2-large-write-close.js +parallel/test-http-outgoing-destroyed.js +parallel/test-buffer-writeuint.js +parallel/test-internal-util-helpers.js +parallel/test-promises-warning-on-unhandled-rejection.js +parallel/test-worker-stack-overflow.js +parallel/test-net-listen-twice.js +parallel/test-fs-rmdir-recursive-sync-warns-on-file.js +parallel/test-http-server-reject-chunked-with-content-length.js +parallel/test-http2-onping.js +parallel/test-net-writable.js +parallel/test-dns-default-order-ipv4.js +parallel/test-timers-next-tick.js +parallel/test-net-server-unref.js +parallel/test-v8-coverage.js +parallel/test-diagnostics-channel-http.js +parallel/test-console-async-write-error.js +parallel/test-vm-strict-mode.js +parallel/test-fs-rmdir-recursive.js +parallel/test-diagnostics-channel-tracing-channel-callback-early-exit.js +parallel/test-stream-readable-unpipe-resume.js +parallel/test-tcp-wrap-listen.js +parallel/test-domain-no-error-handler-abort-on-uncaught-8.js +parallel/test-socket-writes-before-passed-to-tls-socket.js +parallel/test-performance-gc.js +parallel/test-cluster-worker-kill-signal.js +parallel/test-process-execve-abort.js +parallel/test-whatwg-url-custom-global.js +parallel/test-fileurltopathbuffer.js +parallel/test-stream-wrap-encoding.js +parallel/test-tls-get-ca-certificates-extra.js +parallel/test-icu-data-dir.js +parallel/test-process-raw-debug.js +parallel/test-cluster-send-deadlock.js +parallel/test-http2-compat-serverresponse-flushheaders.js +parallel/test-buffer-from.js +parallel/test-inspect-address-in-use.js +parallel/test-internal-util-weakreference.js +parallel/test-force-repl.js +parallel/test-event-emitter-symbols.js +parallel/test-os-eol.js +parallel/test-https-socket-options.js +parallel/test-http-server-close-idle.js +parallel/test-net-socket-connect-invalid-autoselectfamily.js +parallel/test-cluster-primary-error.js +parallel/test-tls-wrap-econnreset.js +parallel/test-http2-removed-header-stays-removed.js +parallel/test-tls-interleave.js +parallel/test-http-server-clear-timer.js +parallel/test-http-information-processing.js +parallel/test-stream-readable-aborted.js +parallel/test-trace-events-v8.js +parallel/test-http-response-no-headers.js +parallel/test-http-dummy-characters-smuggling.js +parallel/test-http-client-timeout-agent.js +parallel/test-http-server-request-timeout-upgrade.js +parallel/test-readline-emit-keypress-events.js +parallel/test-worker-nested-on-process-exit.js +parallel/test-tls-socket-snicallback-without-server.js +parallel/test-dgram-create-socket-handle-fd.js +parallel/test-http-client-abort2.js +parallel/test-common-expect-warning.js +parallel/test-repl-import-referrer.js +parallel/test-util-isDeepStrictEqual.js +parallel/test-worker-message-port-arraybuffer.js +parallel/test-http-server-multiheaders.js +parallel/test-http-keepalive-free.js +parallel/test-performance-global.js +parallel/test-tls-socket-close.js +parallel/test-pipe-outgoing-message-data-emitted-after-ended.js +parallel/test-fs-util-validateoffsetlength.js +parallel/test-fs-fsync.js +parallel/test-crypto-keygen-key-object-without-encoding.js +parallel/test-http-outgoing-finish-writable.js +parallel/test-tls-socket-destroy.js +parallel/test-util-deprecate.js +parallel/test-cluster-disconnect-unshared-udp.js +parallel/test-diagnostics-channel-http2-client-stream-start.js +parallel/test-repl-clear-immediate-crash.js +parallel/test-tls-external-accessor.js +parallel/test-http2-max-settings.js +parallel/test-dgram-connect-send-default-host.js +parallel/test-webcrypto-util.js +parallel/test-domain-top-level-error-handler-throw.js +parallel/test-timers-unref.js +parallel/test-repl-tab.js +parallel/test-stream-uint8array.js +parallel/test-tls-disable-renegotiation.js +parallel/test-dns-lookupService.js +parallel/test-net-socket-connect-without-cb.js +parallel/test-child-process-stdio-big-write-end.js +parallel/test-fs-fchmod.js +parallel/test-http2-binding.js +parallel/test-snapshot-typescript.js +parallel/test-child-process-exec-timeout-kill.js +parallel/test-repl-throw-null-or-undefined.js +parallel/test-repl-array-prototype-tempering.js +parallel/test-tls-reuse-host-from-socket.js +parallel/test-async-hooks-vm-gc.js +parallel/test-child-process-ipc-next-tick.js +parallel/test-fs-truncate-clear-file-zero.js +parallel/test-promise-unhandled-flag.js +parallel/test-inspect-support-for-node_options.js +parallel/test-assert-calltracker-getCalls.js +parallel/test-pending-deprecation.js +parallel/test-http-client-default-headers-exist.js +parallel/test-http-set-max-idle-http-parser.js +parallel/test-crypto-dh-stateless.js +parallel/test-timers-refresh.js +parallel/test-cluster-dgram-1.js +parallel/test-internal-socket-list-receive.js +parallel/test-stream-reduce.js +parallel/test-child-process-fork-close.js +parallel/test-dgram-abort-closed.js +parallel/test-http-write-head.js +parallel/test-fs-realpath-buffer-encoding.js +parallel/test-crypto-subtle-cross-realm.js +parallel/test-child-process-stdout-flush-exit.js +parallel/test-vm-createcacheddata.js +parallel/test-http2-session-gc-while-write-scheduled.js +parallel/test-internal-module-require.js +parallel/test-worker-abort-on-uncaught-exception-terminate.js +parallel/test-stream-pipeline.js +parallel/test-module-loading-globalpaths.js +parallel/test-fs-readfile-pipe-large.js +parallel/test-http-client-close-with-default-agent.js +parallel/test-buffer-indexof.js +parallel/test-child-process-stdio-overlapped.js +parallel/test-async-hooks-top-level-clearimmediate.js +parallel/test-dns-setlocaladdress.js +parallel/test-url-fileurltopath.js +parallel/test-shadow-realm-gc-module.js +parallel/test-diagnostics-channel-module-require-error.js +parallel/test-http-server-request-timeout-keepalive.js +parallel/test-snapshot-basic.js +parallel/test-crypto-prime.js +parallel/test-v8-deserialize-buffer.js +parallel/test-stream3-cork-uncork.js +parallel/test-runner-misc.js +parallel/test-compile-cache-api-permission.js +parallel/test-http-url.parse-path.js +parallel/test-net-socket-local-address.js +parallel/test-fs-mkdir.js +parallel/test-fs-watch-recursive-sync-write.js +parallel/test-http2-server-settimeout-no-callback.js +parallel/test-http2-compat-serverresponse-headers-after-destroy.js +parallel/test-permission-wasi.js +parallel/test-trace-events-binding.js +parallel/test-worker-track-unmanaged-fds.js +parallel/test-repl-require-context.js +parallel/test-repl-pretty-stack-custom-writer.js +parallel/test-async-hooks-enable-before-promise-resolve.js +parallel/test-http-client-get-url.js +parallel/test-tls-transport-destroy-after-own-gc.js +parallel/test-stream2-readable-wrap-destroy.js +parallel/test-internal-net-isLoopback.js +parallel/test-tls-client-reject-12.js +parallel/test-fs-read-file-sync-hostname.js +parallel/test-mime-whatwg.js +parallel/test-eslint-non-ascii-character.js +parallel/test-tls-psk-errors.js +parallel/test-repl-tab-complete-no-warn.js +parallel/test-inspector-inspect-brk-node.js +parallel/test-timers-this.js +parallel/test-repl-save-load-load-non-existent.js +parallel/test-zlib-flush-write-sync-interleaved.js +parallel/test-cluster-disconnect-idle-worker.js +parallel/test-require-invalid-package.js +parallel/test-http-client-close-event.js +parallel/test-fs-read-optional-params.js +parallel/test-http-server-options-incoming-message.js +parallel/test-child-process-stdin-ipc.js +parallel/test-tls-env-bad-extra-ca.js +parallel/test-assert-calltracker-report.js +parallel/test-http2-session-graceful-close.js +parallel/test-whatwg-events-add-event-listener-options-signal.js +parallel/test-cluster-child-index-dgram.js +parallel/test-tls-reinitialize-listeners.js +parallel/test-zlib-failed-init.js +parallel/test-datetime-change-notify.js +parallel/test-repl-strict-mode-previews.js +parallel/test-http2-propagate-session-destroy-code.js +parallel/test-https-pfx.js +parallel/test-stream-readable-hwm-0-async.js +parallel/test-tls-junk-server.js +parallel/test-tls-client-resume-12.js +parallel/test-repl-use-global.js +parallel/test-path-normalize.js +parallel/test-crypto-domains.js +parallel/test-cluster-worker-isdead.js +parallel/test-delayed-require.js +parallel/test-stdin-script-child.js +parallel/test-http2-stream-removelisteners-after-close.js +parallel/test-stdin-pause-resume.js +parallel/test-child-process-spawn-controller.js +parallel/test-http-req-res-close.js +parallel/test-fs-syncwritestream.js +parallel/test-worker-unsupported-things.js +parallel/test-http2-compat-errors.js +parallel/test-https-options-boolean-check.js +parallel/test-promise-unhandled-throw-handler.js +parallel/test-promise-hook-on-after.js +parallel/test-module-globalpaths-nodepath.js +parallel/test-worker-process-cwd.js +parallel/test-tls-secure-context-usage-order.js +parallel/test-shadow-realm-module.js +parallel/test-http2-respond-file-204.js +parallel/test-inspector-close-worker.js +parallel/test-worker-ref.js +parallel/test-inspector-has-inspector-false.js +parallel/test-repl-inspect-defaults.js +parallel/test-querystring.js +parallel/test-fs-rmdir-type-check.js +parallel/test-child-process-exec-abortcontroller-promisified.js +parallel/test-runner-typechecking.js +parallel/test-crypto-keygen-no-rsassa-pss-params.js +parallel/test-tls-empty-sni-context.js +parallel/test-exception-handler2.js +parallel/test-zlib-destroy-pipe.js +parallel/test-wrap-js-stream-duplex.js +parallel/test-runner-mocking.js +parallel/test-repl-load-multiline-from-history.js +parallel/test-http2-client-onconnect-errors.js +parallel/test-worker-stdio-from-preload-module.js +parallel/test-vm-access-process-env.js +parallel/test-tls-close-event-after-write.js +parallel/test-net-eaddrinuse.js +parallel/test-cluster-eaccess.js +parallel/test-performance-nodetiming-uvmetricsinfo.js +parallel/test-snapshot-argv1.js +parallel/test-tls-client-renegotiation-limit.js +parallel/test-http2-server-shutdown-before-respond.js +parallel/test-domain-thrown-error-handler-stack.js +parallel/test-fs-writestream-open-write.js +parallel/test-worker-heap-snapshot.js +parallel/test-process-env-allowed-flags-are-documented.js +parallel/test-https-timeout-server-2.js +parallel/test-http2-priority-cycle-.js +parallel/test-tls-check-server-identity.js +parallel/test-process-getactiveresources.js +parallel/test-fs-buffer.js +parallel/test-tls-ca-concat.js +parallel/test-buffer-tostring-rangeerror.js +parallel/test-stream-pipeline-listeners.js +parallel/test-http2-compat-serverresponse-statuscode.js +parallel/test-inspector-network-data-sent.js +parallel/test-repl-end-emits-exit.js +parallel/test-repl-tab-complete-import.js +parallel/test-async-hooks-http-parser-destroy.js +parallel/test-tls-connect-stream-writes.js +parallel/test-zlib-deflate-constructors.js +parallel/test-child-process-stdio-merge-stdouts-into-cat.js +parallel/test-domain-uncaught-exception.js +parallel/test-tls-ticket.js +parallel/test-child-process-send-keep-open.js +parallel/test-fs-read-stream-encoding.js +parallel/test-warn-sigprof.js +parallel/test-x509-escaping.js +parallel/test-stream2-decode-partial.js +parallel/test-cluster-accept-fail.js +parallel/test-http-parser.js +parallel/test-stream-duplex-from.js +parallel/test-repl-save-load-save-without-name.js +parallel/test-repl-custom-eval-previews.js +parallel/test-path-zero-length-strings.js +parallel/test-http-outgoing-finished.js +parallel/test-http2-update-settings.js +parallel/test-https-server-options-server-response.js +parallel/test-net-bytes-written-large.js +parallel/test-tls-on-empty-socket.js +parallel/test-whatwg-url-custom-searchparams-getall.js +parallel/test-http-server-connection-list-when-close.js +parallel/test-crypto-keygen-duplicate-deprecated-option.js +parallel/test-os-userinfo-handles-getter-errors.js +parallel/test-fs-buffertype-writesync.js +parallel/test-http2-invalidheaderfield.js +parallel/test-http-header-obstext.js +parallel/test-zlib-no-stream.js +parallel/test-async-hooks-execution-async-resource.js +parallel/test-domain-multiple-errors.js +parallel/test-process-execve-worker-threads.js +parallel/test-compile-cache-api-flush.js +parallel/test-https-connecting-to-http.js +parallel/test-repl-unexpected-token-recoverable.js +parallel/test-abortsignal-cloneable.js +parallel/test-diagnostics-channel-safe-subscriber-errors.js +parallel/test-cluster-dgram-bind-fd.js +parallel/test-repl-tab-complete-files.js +parallel/test-net-dns-custom-lookup.js +parallel/test-vm-proxy-failure-CP.js +parallel/test-tls-timeout-server.js +parallel/test-http2-trailers-after-session-close.js +parallel/test-async-hooks-fatal-error.js +parallel/test-event-emitter-error-monitor.js +parallel/test-dgram-close-in-listening.js +parallel/test-cli-node-print-help.js +parallel/test-asyncresource-bind.js +parallel/test-http-outgoing-message-inheritance.js +parallel/test-http2-client-write-empty-string.js +parallel/test-stream-readable-next-no-null.js +parallel/test-module-symlinked-peer-modules.js +parallel/test-http-head-response-has-no-body.js +parallel/test-module-prototype-mutation.js +parallel/test-stream-events-prepend.js +parallel/test-domain-from-timer.js +parallel/test-inspector-connect-to-main-thread.js +parallel/test-process-emit.js +parallel/test-signal-unregister.js +parallel/test-readline-undefined-columns.js +parallel/test-compile-cache-updated-file.js +parallel/test-net-listen-after-destroying-stdin.js +parallel/test-http-transfer-encoding-repeated-chunked.js +parallel/test-http2-client-shutdown-before-connect.js +parallel/test-permission-allow-child-process-cli.js +parallel/test-v8-startup-snapshot-api.js +parallel/test-trace-events-dynamic-enable-workers-disabled.js +parallel/test-dgram-connect-send-empty-buffer.js +parallel/test-eslint-documented-errors.js +parallel/test-tls-passphrase.js +parallel/test-http-chunked.js +parallel/test-dns-resolveany.js +parallel/test-fs-write-file.js +parallel/test-set-incoming-message-header.js +parallel/test-assert-fail.js +parallel/test-tls-wrap-econnreset-pipe.js +parallel/test-webcrypto-encrypt-decrypt-rsa.js +parallel/test-worker-terminate-microtask-loop.js +parallel/test-cluster-worker-init.js +parallel/test-eventemitter-asyncresource.js +parallel/test-stream2-finish-pipe.js +parallel/test-http2-client-set-priority.js +parallel/test-buffer-of-no-deprecation.js +parallel/test-stream-readable-flow-recursion.js +parallel/test-worker-message-port-drain.js +parallel/test-child-process-exec-any-shells-windows.js +parallel/test-net-perf_hooks.js +parallel/test-stream-finished.js +parallel/test-diagnostics-channel-process.js +parallel/test-messageport-hasref.js +parallel/test-tz-version.js +parallel/test-tls-socket-default-options.js +parallel/test-fs-readv-promisify.js +parallel/test-webstream-readable-from.js +parallel/test-process-setsourcemapsenabled.js +parallel/test-inspector-debug-end.js +parallel/test-worker-http2-generic-streams-terminate.js +parallel/test-assert-typedarray-deepequal.js +parallel/test-fs-copyfile.js +parallel/test-net-reconnect.js +parallel/test-tls-buffersize.js +parallel/test-require-json.js +parallel/test-http-parser-multiple-execute.js +parallel/test-buffer-set-inspect-max-bytes.js +parallel/test-net-connect-reset-after-destroy.js +parallel/test-fs-write-stream-change-open.js +parallel/test-fs-filehandle-use-after-close.js +parallel/test-heap-prof-sigint.js +parallel/test-cluster-fork-stdio.js +parallel/test-child-process-send-cb.js +parallel/test-event-emitter-errors.js +parallel/test-fs-promises-readfile-with-fd.js +parallel/test-repl-options.js +parallel/test-stream-transform-objectmode-falsey-value.js +parallel/test-http2-compat-aborted.js +parallel/test-internal-socket-list-send.js +parallel/test-path-basename.js +parallel/test-fs-opendir.js +parallel/test-cppheap-stats.js +parallel/test-snapshot-config.js +parallel/test-http2-autoselect-protocol.js +parallel/test-trace-events-net.js +parallel/test-http2-compat-serverresponse-settimeout.js +parallel/test-fs-write-no-fd.js +parallel/test-tls-zero-clear-in.js +parallel/test-worker-syntax-error-file.js +parallel/test-http-header-overflow.js +parallel/test-http-keep-alive-timeout.js +parallel/test-tls-env-extra-ca-no-crypto.js +parallel/test-inspector-async-context-brk.js +parallel/test-eventtarget-memoryleakwarning.js +parallel/test-diagnostic-channel-http-response-created.js +parallel/test-cluster-worker-handle-close.js +parallel/test-trace-events-api-worker-disabled.js +parallel/test-internal-util-decorate-error-stack.js +parallel/test-net-connect-options-invalid.js +parallel/test-stream-pipe-after-end.js +parallel/test-whatwg-url-custom-searchparams-has.js +parallel/test-net-server-close.js +parallel/test-whatwg-url-canparse.js +parallel/test-dgram-bind-socket-close-before-lookup.js +parallel/test-snapshot-stack-trace-limit-mutation.js +parallel/test-fs-promises-exists.js +parallel/test-http2-trailers.js +parallel/test-repl-top-level-await.js +parallel/test-buffer-slow.js +parallel/test-tls-sni-server-client.js +parallel/test-net-server-reset.js +parallel/test-http-server-timeouts-validation.js +parallel/test-diagnostics-channel-tracing-channel-sync-error.js +parallel/test-cluster-disconnect-with-no-workers.js +parallel/test-shadow-realm-gc.js +parallel/test-http-client-request-options.js +parallel/test-dgram-setTTL.js +parallel/test-net-persistent-ref-unref.js +parallel/test-console-instance.js +parallel/test-fs-watch-abort-signal.js +parallel/test-fs-realpath-on-substed-drive.js +parallel/test-dns-channel-cancel-promise.js +parallel/test-tls-multi-pfx.js +parallel/test-http2-perform-server-handshake.js +parallel/test-readable-from-web-enqueue-then-close.js +parallel/test-force-repl-with-eval.js +parallel/test-http2-server-errors.js +parallel/test-worker-terminate-http2-respond-with-file.js +parallel/test-child-process-spawnsync-shell.js +parallel/test-crypto-pbkdf2.js +parallel/test-http-transfer-encoding-smuggling.js +parallel/test-whatwg-readablebytestream-bad-buffers-and-views.js +parallel/test-querystring-escape.js +parallel/test-buffer-zero-fill.js +parallel/test-http-server-close-all.js +parallel/test-domain-emit-error-handler-stack.js +parallel/test-eslint-prefer-assert-iferror.js +parallel/test-tls-destroy-stream-12.js +parallel/test-vm-module-link.js +parallel/test-http2-compat-method-connect.js +parallel/test-process-abort.js +parallel/test-dgram-bind.js +parallel/test-child-process-exec-stdout-stderr-data-string.js +parallel/test-vm-is-context.js +parallel/test-whatwg-url-custom-deepequal.js +parallel/test-zlib-flush.js +parallel/test-worker-process-env-shared.js +parallel/test-http-information-headers.js +parallel/test-child-process-detached.js +parallel/test-fs-promises-writefile.js +parallel/test-crypto-keygen-rfc8017-a-2-3.js +parallel/test-stream-catch-rejections.js +parallel/test-worker-uncaught-exception.js +parallel/test-http-write-head-after-set-header.js +parallel/test-tls-alert-handling.js +parallel/test-console-log-throw-primitive.js +parallel/test-pipe-abstract-socket-http.js +parallel/test-cluster-disconnect-unshared-tcp.js +parallel/test-tls-set-encoding.js +parallel/test-runner-enable-source-maps-issue.js +parallel/test-trace-events-promises.js +parallel/test-tls-close-notify.js +parallel/test-fs-readfile-unlink.js +parallel/test-diagnostics-channel-tracing-channel-sync-run-stores.js +parallel/test-fs-close.js +parallel/test-worker-message-transfer-port-mark-as-untransferable.js +parallel/test-http2-respond-with-fd-errors.js +parallel/test-crypto-keygen-async-encrypted-private-key-der.js +parallel/test-timers-interval-throw.js +parallel/test-dns-setservers-type-check.js +parallel/test-path-isabsolute.js +parallel/test-fs-chmod.js +parallel/test-compile-cache-typescript-esm.js +parallel/test-timers-timeout-promisified.js +parallel/test-cli-node-options-disallowed.js +parallel/test-net-connect-options-allowhalfopen.js +parallel/test-webstreams-compose.js +parallel/test-http-max-header-size.js +parallel/test-process-env-symbols.js +parallel/test-repl-custom-eval.js +parallel/test-repl-syntax-error-handling.js +parallel/test-child-process-fork-and-spawn.js +parallel/test-stream-pipe-deadlock.js +parallel/test-stream2-unpipe-drain.js +parallel/test-blob-createobjecturl.js +parallel/test-zlib-brotli-16GB.js +parallel/test-process-next-tick.js +parallel/test-diagnostic-channel-http-request-created.js +parallel/test-repl-tab-complete.js +parallel/test-v8-collect-gc-profile.js +parallel/test-assert.js +parallel/test-timers-unrefed-in-beforeexit.js +parallel/test-repl-uncaught-exception-standalone.js +parallel/test-vm-getters.js +parallel/test-vm-syntax-error-message.js +parallel/test-domain-nested-throw.js +parallel/test-buffer-slice.js +parallel/test-runner-option-validation.js +parallel/test-https-connect-address-family.js +parallel/test-tls-fast-writing.js +parallel/test-timers-reset-process-domain-on-throw.js +parallel/test-http-url.parse-https.request.js +parallel/test-child-process-fork-getconnections.js +parallel/test-net-client-bind-twice.js +parallel/test-fs-fchown.js +parallel/test-inspector-open.js +parallel/test-worker.js +parallel/test-cluster-setup-primary.js +parallel/test-sqlite-timeout.js +parallel/test-vm-global-identity.js +parallel/test-net-persistent-keepalive.js +parallel/test-http-uncaught-from-request-callback.js +parallel/test-intl-v8BreakIterator.js +parallel/test-h2-large-header-cause-client-to-hangup.js +parallel/test-repl-save-load-editor-mode.js +parallel/test-http-server-headers-timeout-interrupted-headers.js +parallel/test-stdin-child-proc.js +parallel/test-fs-read-stream-pos.js +parallel/test-buffer-tostring.js +parallel/test-worker-message-port-message-port-transferring.js +parallel/test-http-request-method-delete-payload.js +parallel/test-err-name-deprecation.js +parallel/test-stream-base-typechecking.js +parallel/test-http-parser-memory-retention.js +parallel/test-fs-append-file.js +parallel/test-repl-empty.js +parallel/test-diagnostics-channel-tracing-channel-promise-early-exit.js +parallel/test-fs-read-stream.js +parallel/test-stream2-push.js +parallel/test-https-localaddress-bind-error.js +parallel/test-stdout-close-catch.js +parallel/test-diagnostics-channel-http2-client-stream-error.js +parallel/test-sqlite-session.js +parallel/test-stream2-readable-non-empty-end.js +parallel/test-stream-readable-object-multi-push-async.js +parallel/test-tls-socket-constructor-alpn-options-parsing.js +parallel/test-repl-cli-eval.js +parallel/test-fs-non-number-arguments-throw.js +parallel/test-http-response-setheaders.js +parallel/test-process-env-ignore-getter-setter.js +parallel/test-trace-events-worker-metadata-with-name.js +parallel/test-dsa-fips-invalid-key.js +parallel/test-http-client-timeout-option-with-agent.js +parallel/test-directory-import.js +parallel/test-http2-misbehaving-multiplex.js +parallel/test-validators.js +parallel/test-http2-session-stream-state.js +parallel/test-startup-large-pages.js +parallel/test-worker-workerdata-messageport.js +parallel/test-tls-psk-circuit.js +parallel/test-repl-tab-complete-custom-completer.js +parallel/test-worker-messaging-errors-handler.js +parallel/test-stream-writable-change-default-encoding.js +parallel/test-tls-server-verify.js +parallel/test-http-server-async-dispose.js +parallel/test-net-socket-destroy-send.js +parallel/test-runner-filetest-location.js +parallel/test-assert-checktag.js +parallel/test-error-aggregateTwoErrors.js +parallel/test-tls-cert-regression.js +parallel/test-worker-workerdata-sharedarraybuffer.js +parallel/test-process-constants-noatime.js +parallel/test-assert-first-line.js +parallel/test-http-autoselectfamily.js +parallel/test-blob.js +parallel/test-require-dot.js +parallel/test-event-emitter-num-args.js +parallel/test-quic-internal-endpoint-options.js +parallel/test-tls-peer-certificate-encoding.js +parallel/test-crypto-keygen-invalid-parameter-encoding-ec.js +parallel/test-http-res-write-after-end.js +parallel/test-compile-cache-api-success.js +parallel/test-quic-internal-endpoint-listen-defaults.js +parallel/test-preload-print-process-argv.js +parallel/test-trace-events-worker-metadata.js +parallel/test-fs-readfile.js +parallel/test-http2-serve-file.js +parallel/test-inspector-waiting-for-disconnect.js +parallel/test-shadow-realm-globals.js +parallel/test-http2-compat-write-early-hints-invalid-argument-type.js +parallel/test-worker-memory.js +parallel/test-tls-client-auth.js +parallel/test-fs-write-stream-close-without-callback.js +parallel/test-domain-nested.js +parallel/test-net-autoselectfamily-attempt-timeout-cli-option.js +parallel/test-fs-existssync-memleak-longpath.js +parallel/test-cluster-bind-twice.js +parallel/test-repl-harmony.js +parallel/test-domain-no-error-handler-abort-on-uncaught-5.js +parallel/test-whatwg-url-properties.js +parallel/test-crypto-hash-stream-pipe.js +parallel/test-child-process-exec-timeout-not-expired.js +parallel/test-inspector-exit-worker-in-wait-for-connection.js +parallel/test-zlib-truncated.js +parallel/test-dgram-send-callback-multi-buffer.js +parallel/test-readline-line-separators.js +parallel/test-internal-async-context-frame-enabled.js +parallel/test-repl-pretty-custom-stack.js +parallel/test-inspector-enabled.js +parallel/test-worker-message-port-message-before-close.js +parallel/test-vm-syntax-error-stderr.js +parallel/test-tls-hello-parser-failure.js +parallel/test-microtask-queue-run.js +parallel/test-http-request-join-authorization-headers.js +parallel/test-http-abort-queued.js +parallel/test-worker-relative-path-double-dot.js +parallel/test-whatwg-url-custom-searchparams-set.js +parallel/test-timers-timeout-to-interval.js +parallel/test-repl-unsafe-array-iteration.js +parallel/test-crypto-hmac.js +parallel/test-inspector-worker-target.js +parallel/test-https-agent-unref-socket.js +parallel/test-timers-clear-object-does-not-throw-error.js +parallel/test-buffer-iterator.js +parallel/test-fs-open-mode-mask.js +parallel/test-http2-compat-serverrequest-pipe.js +parallel/test-fs-read-stream-patch-open.js +parallel/test-http-upgrade-agent.js +parallel/test-domain-timers-uncaught-exception.js +parallel/test-http-upgrade-reconsume-stream.js +parallel/test-fs-symlink-longpath.js +parallel/test-worker-data-url.js +parallel/test-net-connect-buffer.js +parallel/test-process-exception-capture.js +parallel/test-tls-basic-validations.js +parallel/test-http2-client-setLocalWindowSize.js +parallel/test-require-extensions-same-filename-as-dir-trailing-slash.js +parallel/test-stream-pipe-error-handling.js +parallel/test-cluster-bind-privileged-port.js +parallel/test-child-process-stdin.js +parallel/test-runner-assert.js +parallel/test-repl.js +parallel/test-sqlite-custom-functions.js +parallel/test-crypto-keygen-empty-passphrase-no-prompt.js +parallel/test-http-upgrade-client.js +parallel/test-dgram-createSocket-type.js +parallel/test-dns.js +parallel/test-repl-require-after-write.js +parallel/test-process-redirect-warnings-env.js +parallel/test-http-upgrade-server2.js +parallel/test-zlib-sync-no-event.js +parallel/test-crypto-dh-stateless-async.js +parallel/test-net-allow-half-open.js +parallel/test-tls-addca.js +parallel/test-http-default-encoding.js +parallel/test-http2-server-set-header.js +parallel/test-crypto-keygen-rfc8017-9-1.js +parallel/test-http2-compat-socket-set.js +parallel/test-module-main-extension-lookup.js +parallel/test-cluster-net-server-drop-connection.js +parallel/test-stream2-unpipe-leak.js +parallel/test-module-parent-deprecation.js +parallel/test-dgram-cluster-close-in-listening.js +parallel/test-module-builtin.js +parallel/test-http-url.parse-auth.js +parallel/test-compile-cache-api-error.js +parallel/test-http2-destroy-after-write.js +parallel/test-stream-compose-operator.js +parallel/test-net-bytes-stats.js +parallel/test-http2-zero-length-header.js +parallel/test-http-request-invalid-method-error.js +parallel/test-fs-promises-mkdtempDisposable.js +parallel/test-net-server-listen-handle.js +parallel/test-worker-message-port-transfer-terminate.js +parallel/test-v8-flag-pool-size-0.js +parallel/test-https-host-headers.js +parallel/test-child-process-exec-error.js +parallel/test-snapshot-console.js +parallel/test-fs-read.js +parallel/test-repl-let-process.js +parallel/test-http2-request-response-proto.js +parallel/test-net-autoselectfamily.js +parallel/test-tls-streamwrap-buffersize.js +parallel/test-fs-watchfile-bigint.js +parallel/test-http-client-res-destroyed.js +parallel/test-assert-if-error.js +parallel/test-timers-immediate-queue.js +parallel/test-ttywrap-stack.js +parallel/test-child-process-spawn-argv0.js +parallel/test-worker-message-port.js +parallel/test-net-server-drop-connections.js +parallel/test-domain-crypto.js +parallel/test-stream2-set-encoding.js +parallel/test-cluster-shared-handle-bind-error.js +parallel/test-worker-unref-from-message-during-exit.js +parallel/test-stream3-pipeline-async-iterator.js +parallel/test-net-server-close-before-calling-lookup-callback.js +parallel/test-tls-getcertificate-x509.js +parallel/test-cluster-net-listen.js +parallel/test-compile-cache-permission-allowed.js +parallel/test-http2-exceeds-server-trailer-size.js +parallel/test-stream-unshift-read-race.js +parallel/test-inspector-network-arbitrary-data.js +parallel/test-timers-same-timeout-wrong-list-deleted.js +parallel/test-http2-options-server-request.js +parallel/test-fs-write-stream-patch-open.js +parallel/test-v8-collect-gc-profile-exit-before-stop.js +parallel/test-eval-strict-referenceerror.js +parallel/test-snapshot-stack-trace-limit.js +parallel/test-diagnostics-channel-module-require.js +parallel/test-worker-resource-limits.js +parallel/test-runner-mock-timers.js +parallel/test-crypto-x509.js +parallel/test-http-parser-free.js +parallel/test-promise-unhandled-warn.js +parallel/test-https-client-override-global-agent.js +parallel/test-queue-microtask-uncaught-asynchooks.js +parallel/test-dgram-send-callback-buffer-length.js +parallel/test-fs-link.js +parallel/test-http2-compat-serverresponse-write.js +parallel/test-blob-file-backed.js +parallel/test-inspector-has-idle.js +parallel/test-dns-cancel-reverse-lookup.js +parallel/test-async-hooks-promise.js +parallel/test-http2-compat-serverrequest-settimeout.js +parallel/test-eslint-prefer-assert-methods.js +parallel/test-stream2-large-read-stall.js +parallel/test-http-chunk-problem.js +parallel/test-http-keep-alive-pipeline-max-requests.js +parallel/test-http-abort-before-end.js +parallel/test-diagnostics-channel-tracing-channel-sync.js +parallel/test-dns-default-order-verbatim.js +parallel/test-http-server-headers-timeout-keepalive.js +parallel/test-https-drain.js +parallel/test-cluster-server-restart-rr.js +parallel/test-inspector-emit-protocol-event.js +parallel/test-whatwg-readablebytestreambyob.js +parallel/test-http2-compat-serverrequest-end.js +parallel/test-process-ref-unref.js +parallel/test-module-children.js +parallel/test-crypto-dh-modp2.js +parallel/test-diagnostics-channel-tracing-channel-args-types.js +parallel/test-inspector-async-hook-after-done.js +parallel/test-crypto-sec-level.js +parallel/test-process-argv-0.js +parallel/test-http-pause-resume-one-end.js +parallel/test-child-process-execFile-promisified-abortController.js +parallel/test-net-throttle.js +parallel/test-http2-error-order.js +parallel/test-readline-position.js +parallel/test-inspector-heap-allocation-tracker.js +parallel/test-fs-chmod-mask.js +parallel/test-http2-byteswritten-server.js +parallel/test-fs-rmdir-recursive-warns-not-found.js +parallel/test-dgram-implicit-bind.js +parallel/test-http2-many-writes-and-destroy.js +parallel/test-net-socket-no-halfopen-enforcer.js +parallel/test-vm-proxies.js +parallel/test-runner-no-isolation-filtering.js +parallel/test-vm-module-reevaluate.js +parallel/test-http2-util-update-options-buffer.js +parallel/test-http-server-keepalive-req-gc.js +parallel/test-internal-errors.js +parallel/test-debugger-random-port.js +parallel/test-child-process-exec-cwd.js +parallel/test-http-response-readable.js +parallel/test-stream-readable-unshift.js +parallel/test-stream-pipe-flow-after-unpipe.js +parallel/test-http-server-options-server-response.js +parallel/test-webcrypto-sign-verify-eddsa.js +parallel/test-fs-stream-construct-compat-error-write.js +parallel/test-net-connect-immediate-finish.js +parallel/test-inspector.js +parallel/test-fs-promises-file-handle-stream.js +parallel/test-vm-module-modulerequests.js +parallel/test-snapshot-eval.js +parallel/test-fs-watch-recursive-add-file.js +parallel/test-http2-compat-write-early-hints-invalid-argument-value.js +parallel/test-http2-server-rfc-9113-client.js +parallel/test-stream2-transform.js +parallel/test-filehandle-close.js +parallel/test-http-client-readable.js +parallel/test-trace-events-vm.js +parallel/test-fs-lchown-negative-one.js +parallel/test-dns-set-default-order.js +parallel/test-os.js +parallel/test-permission-fs-wildcard.js +parallel/test-worker-message-event.js +parallel/test-vm-strict-assign.js +parallel/test-fs-watch-recursive-promise.js +parallel/test-tls-set-ciphers.js +parallel/test-crypto-subtle-zero-length.js +parallel/test-timers-immediate-unref-nested-once.js +parallel/test-v8-string-is-one-byte-representation.js +parallel/test-net-access-byteswritten.js +parallel/test-buffer-constants.js +parallel/test-trace-events-get-category-enabled-buffer.js +parallel/test-stdio-undestroy.js +parallel/test-tls-get-ca-certificates-system.js +parallel/test-trace-events-fs-sync.js +parallel/test-util-inspect-proxy.js +parallel/test-crypto-dh-padding.js +parallel/test-buffer-new.js +parallel/test-timers-clear-null-does-not-throw-error.js +parallel/test-windows-abort-exitcode.js +parallel/test-zlib-write-after-end.js +parallel/test-http-client-immediate-error.js +parallel/test-fs-stream-double-close.js +parallel/test-runner-root-after-with-refed-handles.js +parallel/test-eslint-no-array-destructuring.js +parallel/test-worker-exit-heapsnapshot.js +parallel/test-stdin-script-child-option.js +parallel/test-inspector-console.js +parallel/test-buffer-swap.js +parallel/test-crypto-domain.js +parallel/test-worker-stdio.js +parallel/test-fs-ready-event-stream.js +parallel/test-http2-server-push-disabled.js +parallel/test-url-format.js +parallel/test-async-wrap-pop-id-during-load.js +parallel/test-stream-pipe-event.js +parallel/test-repl-setprompt.js +parallel/test-repl-multiline-navigation.js +parallel/test-buffer-tostring-range.js +parallel/test-child-process-spawnsync-args.js +parallel/test-require-cache.js +parallel/test-vm-context-async-script.js +parallel/test-fs-read-stream-fd.js +parallel/test-inspector-network-fetch.js +parallel/test-process-getactiverequests.js +parallel/test-fs-copyfile-respect-permissions.js +parallel/test-stream-readable-add-chunk-during-data.js +parallel/test-fs-watch-recursive-delete.js +parallel/test-stream-transform-split-objectmode.js +parallel/test-global-setters.js +parallel/test-net-server-options.js +parallel/test-fs-read-stream-resume.js +parallel/test-http2-server-push-stream-head.js +parallel/test-repl-function-definition-edge-case.js +parallel/test-runner-force-exit-flush.js +parallel/test-dns-lookup-promises.js +parallel/test-http2-compat-serverrequest-headers.js +parallel/test-diagnostics-channel-bind-store.js +parallel/test-fs-sync-fd-leak.js +parallel/test-npm-install.js +parallel/test-v8-query-objects.js +parallel/test-permission-fs-write-v8.js +parallel/test-net-pause-resume-connecting.js +parallel/test-http-outgoing-settimeout.js +parallel/test-error-reporting.js +parallel/test-http-server-reject-cr-no-lf.js +parallel/test-util-deprecate-invalid-code.js +parallel/test-http2-compat-serverresponse.js +parallel/test-net-connect-reset-before-connected.js +parallel/test-fs-symlink.js +parallel/test-webstream-encoding-inspect.js +parallel/test-worker-fs-stat-watcher.js +parallel/test-http-upgrade-advertise.js +parallel/test-http2-misused-pseudoheaders.js +parallel/test-zlib-invalid-arg-value-brotli-compress.js +parallel/test-event-emitter-subclass.js +parallel/test-http2-client-settings-before-connect.js +parallel/test-zlib-reset-before-write.js +parallel/test-worker-messaging-errors-timeout.js +parallel/test-repl-stdin-push-null.js +parallel/test-cluster-worker-disconnect-on-error.js +parallel/test-trace-events-console.js +parallel/test-stream-readable-resume-hwm.js +parallel/test-npm-version.js +parallel/test-trace-events-none.js +parallel/test-buffer-resizable.js +parallel/test-http2-no-more-streams.js +parallel/test-whatwg-encoding-custom-textdecoder.js +parallel/test-fs-promises-readfile.js +parallel/test-tls-async-cb-after-socket-end.js +parallel/test-process-no-deprecation.js +parallel/test-fs-chown-negative-one.js +parallel/test-timers-clearImmediate-als.js +parallel/test-http2-multiplex.js +parallel/test-buffer-isascii.js +parallel/test-http-server-headers-timeout-pipelining.js +parallel/test-http2-tls-disconnect.js +parallel/test-path-posix-exists.js +parallel/test-fs-symlink-dir-junction-relative.js +parallel/test-socket-options-invalid.js +parallel/test-vm-create-and-run-in-context.js +parallel/test-process-umask.js +parallel/test-http-server-multiheaders2.js +parallel/test-tls-ticket-12.js +parallel/test-uv-errno.js +parallel/test-fs-write-stream-file-handle.js +parallel/test-async-hooks-destroy-on-gc.js +parallel/test-http-keep-alive-drop-requests.js +parallel/test-weakref.js +parallel/test-http-content-length-mismatch.js +parallel/test-http2-create-client-connect.js +parallel/test-http2-debug.js +parallel/test-console-diagnostics-channels.js +parallel/test-http-after-connect.js +parallel/test-timers-non-integer-delay.js +parallel/test-zlib-close-in-ondata.js +parallel/test-fs-write-stream-end.js +parallel/test-readable-from.js +parallel/test-cluster-uncaught-exception.js +parallel/test-tls-connect-no-host.js +parallel/test-stream-writable-invalid-chunk.js +parallel/test-whatwg-webstreams-coverage.js +parallel/test-performance-function-async.js +parallel/test-worker-nested-uncaught.js +parallel/test-diagnostics-channel-http2-server-stream-created.js +parallel/test-tls-wrap-econnreset-localaddress.js +parallel/test-fs-close-errors.js +parallel/test-process-getactiveresources-track-interval-lifetime.js +parallel/test-http2-respond-file-push.js +parallel/test-console.js +parallel/test-process-execve-socket.js +parallel/test-http-client-abort.js +parallel/test-vm-global-property-prototype.js +parallel/test-tls-multiple-cas-as-string.js +parallel/test-tls-keylog-tlsv13.js +parallel/test-worker-message-port-transfer-native.js +parallel/test-fs-truncate.js +parallel/test-async-hooks-recursive-stack-runInAsyncScope.js +parallel/test-fs-mkdtemp.js +parallel/test-https-server-connections-checking-leak.js +parallel/test-child-process-spawnsync-env.js +parallel/test-http-keep-alive-max-requests.js +parallel/test-whatwg-url-custom-searchparams.js +parallel/test-events-getmaxlisteners.js +parallel/test-worker-voluntarily-exit-followed-by-addition.js +parallel/test-inspector-contexts.js +parallel/test-inspector-bindings.js +parallel/test-zlib-brotli-from-brotli.js +parallel/test-http-server-request-timeout-pipelining.js +parallel/test-fs-watch-stop-sync.js +parallel/test-quic-handshake.js +parallel/test-diagnostics-channel-memory-leak.js +parallel/test-promise-unhandled-default.js +parallel/test-runner-mock-timers-scheduler.js +parallel/test-crypto-keygen-eddsa.js +parallel/test-tls-canonical-ip.js +parallel/test-debugger-restart-message.js +parallel/test-process-execpath.js +parallel/test-crypto-keygen-promisify.js +parallel/test-eslint-require-common-first.js +parallel/test-child-process-spawn-typeerror.js +parallel/test-async-hooks-worker-asyncfn-terminate-1.js +parallel/test-http-server-client-error.js +parallel/test-http2-ping-settings-heapdump.js +parallel/test-http-full-response.js +parallel/test-http-client-unescaped-path.js +parallel/test-https-server-close-all.js +parallel/test-net-server-max-connections.js +parallel/test-vm-module-dynamic-import-promise.js +parallel/test-sync-fileread.js +parallel/test-fs-makeStatsCallback.js +parallel/test-child-process-stdio-reuse-readable-stdio.js +parallel/test-runner-exit-code.js +parallel/test-stdout-cannot-be-closed-child-process-pipe.js +parallel/test-worker-esm-exit.js +parallel/test-buffer-write-fast.js +parallel/test-process-chdir-errormessage.js +parallel/test-net-persistent-nodelay.js +parallel/test-tls-enable-trace.js +parallel/test-http-upgrade-server.js +parallel/test-stream-readable-pause-and-resume.js +parallel/test-dgram-send-multi-buffer-copy.js +parallel/test-fs-realpath.js +parallel/test-worker-beforeexit-throw-exit.js +parallel/test-tls-server-setkeycert.js +parallel/test-whatwg-encoding-custom-api-basics.js +parallel/test-whatwg-webstreams-adapters-to-streamwritable.js +parallel/test-v8-flags.js +parallel/test-tls-clientcertengine-invalid-arg-type.js +parallel/test-http-no-content-length.js +parallel/test-webcrypto-keygen.js +parallel/test-net-server-drop-connections-in-cluster.js +parallel/test-http2-cancel-while-client-reading.js +parallel/test-child-process-dgram-reuseport.js +parallel/test-trace-events-async-hooks.js +parallel/test-runner-subtest-after-hook.js +parallel/test-domain-no-error-handler-abort-on-uncaught-1.js +parallel/test-repl-dynamic-import.js +parallel/test-fs-unlink-type-check.js +parallel/test-inspector-ip-detection.js +parallel/test-stream-transform-split-highwatermark.js +parallel/test-zlib-destroy.js +parallel/test-errors-aborterror.js +parallel/test-diagnostics-channel-object-channel-pub-sub.js +parallel/test-http-server-unconsume-consume.js +parallel/test-timers-immediate-unref-simple.js +parallel/test-fs-promises-file-handle-chmod.js +parallel/test-no-node-snapshot.js +parallel/test-dgram-udp6-link-local-address.js +parallel/test-eslint-prefer-primordials.js +parallel/test-tls-connect-allow-half-open-option.js +parallel/test-http-client-error-rawbytes.js +parallel/test-tls-cert-ext-encoding.js +parallel/test-process-kill-null.js +parallel/test-worker-message-port-wasm-threads.js +parallel/test-crypto-padding-aes256.js +parallel/test-http2-respond-no-data.js +parallel/test-worker-execargv-invalid.js +parallel/test-fs-readfile-flags.js +parallel/test-buffer-fakes.js +parallel/test-http2-timeouts.js +parallel/test-tls-use-after-free-regression.js +parallel/test-net-socket-byteswritten.js +parallel/test-pipe-unref.js +parallel/test-worker-messaging-errors-invalid.js +parallel/test-worker-dns-terminate-during-query.js +parallel/test-stream-compose.js +parallel/test-stream-pipe-await-drain-push-while-write.js +parallel/test-timers-nan-duration-warning.js +parallel/test-http-url.parse-search.js +parallel/test-child-process-exec-std-encoding.js +parallel/test-fs-watch-close-when-destroyed.js +parallel/test-http2-capture-rejection.js +parallel/test-cli-options-negation.js +parallel/test-permission-fs-symlink-target-write.js +parallel/test-diagnostics-channel-net-client-socket-tls.js +parallel/test-debugger-list.js +parallel/test-internal-validators-validateport.js +parallel/test-dgram-listen-after-bind.js +parallel/test-http-expect-handling.js +parallel/test-vm-module-synthetic.js +parallel/test-http-max-sockets.js +parallel/test-http-response-remove-header-after-sent.js +parallel/test-dgram-msgsize.js +parallel/test-crypto-publicDecrypt-fails-first-time.js +parallel/test-resource-usage.js +parallel/test-buffer-constructor-outside-node-modules.js +parallel/test-file-write-stream2.js +parallel/test-async-wrap-trigger-id.js +parallel/test-vm-no-dynamic-import-callback.js +parallel/test-cluster-setup-primary-multiple.js +parallel/test-process-env-windows-error-reset.js +parallel/test-net-server-try-ports.js +parallel/test-http-malformed-request.js +parallel/test-h2leak-destroy-session-on-socket-ended.js +parallel/test-fs-read-stream-double-close.js +parallel/test-runner-filter-warning.js +parallel/test-http-head-response-has-no-body-end-implicit-headers.js +parallel/test-net-socket-end-callback.js +parallel/test-worker-message-port-transfer-filehandle.js +parallel/test-fs-rmdir-recursive-throws-not-found.js +parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js +parallel/test-tls-no-sslv3.js +parallel/test-http-unix-socket-keep-alive.js +parallel/test-fetch-mock.js +parallel/test-require-symlink.js +parallel/test-cluster-worker-wait-server-close.js +parallel/test-https-byteswritten.js +parallel/test-next-tick-ordering2.js +parallel/test-repl-tab-complete-nested-repls.js +parallel/test-fs-readv.js +parallel/test-permission-inspector-brk.js +parallel/test-process-binding-internalbinding-allowlist.js +parallel/test-eval-disallow-code-generation-from-strings.js +parallel/test-cluster-worker-forced-exit.js +parallel/test-compile-cache-api-tmpdir.js +parallel/test-async-hooks-run-in-async-scope-this-arg.js +parallel/test-worker-http2-stream-terminate.js +parallel/test-worker-dns-terminate.js +parallel/test-snapshot-dns-lookup-localhost.js +parallel/test-inspector-already-activated-cli.js +parallel/test-stream-pipeline-with-empty-string.js +parallel/test-compile-cache-typescript-strip-miss.js +parallel/test-inspector-async-stack-traces-promise-then.js +parallel/test-queue-microtask.js +parallel/test-stream-write-final.js +parallel/test-http-outgoing-destroy.js +parallel/test-net-connect-keepalive.js +parallel/test-cluster-fork-windowsHide.js +parallel/test-https-server-headers-timeout.js +parallel/test-http-client-pipe-end.js +parallel/test-tls-peer-certificate-multi-keys.js +parallel/test-primordials-promise.js +parallel/test-module-version.js +parallel/test-fs-promises-watch-iterator.js +parallel/test-pipe-address.js +parallel/test-heapdump-async-hooks-init-promise.js +parallel/test-stream-readable-setEncoding-null.js +parallel/test-vm-create-context-circular-reference.js +parallel/test-trace-exit.js +parallel/test-async-local-storage-http-agent.js +parallel/test-net-server-blocklist.js +parallel/test-console-stdio-setters.js +parallel/test-process-exit.js +parallel/test-global-webcrypto.js +parallel/test-process-really-exit.js +parallel/test-cluster-disconnect.js +parallel/test-timers.js +parallel/test-http-dont-set-default-headers-with-setHost.js +parallel/test-stream-inheritance.js +parallel/test-http-server-request-timeout-interrupted-body.js +parallel/test-http2-client-stream-destroy-before-connect.js +parallel/test-stream-readable-dispose.js +parallel/test-vm-source-map-url.js +parallel/test-eslint-alphabetize-primordials.js +parallel/test-inspector-host-warning.js +parallel/test-domain-add-remove.js +parallel/test-child-process-disconnect.js +parallel/test-diagnostics-channel-http2-client-stream-created.js +parallel/test-fs-readdir-buffer.js +parallel/test-inspector-scriptparsed-context.js +parallel/test-timers-negative-duration-warning-emit-once-per-process.js +parallel/test-http-server-de-chunked-trailer.js +parallel/test-http2-client-rststream-before-connect.js +parallel/test-cli-syntax-eval.js +parallel/test-require-extensions-main.js +parallel/test-querystring-maxKeys-non-finite.js +parallel/test-url-parse-invalid-input.js +parallel/test-pipe-return-val.js +parallel/test-blocklist.js +parallel/test-crypto-update-encoding.js +parallel/test-stream-writable-samecb-singletick.js +parallel/test-fs-fchown-negative-one.js +parallel/test-process-threadCpuUsage-main-thread.js +parallel/test-http2-methods.js +parallel/test-process-execve-on-exit.js +parallel/test-process-exec-argv.js +parallel/test-cli-node-options-docs.js +parallel/test-trace-events-fs-async.js +parallel/test-readable-large-hwm.js +fixtures/workload/fibonacci.js +fixtures/workload/bounded.js +fixtures/workload/fibonacci-worker.js +fixtures/workload/fibonacci-worker-argv.js +fixtures/workload/allocation.js +fixtures/workload/allocation-worker.js +fixtures/workload/allocation-worker-argv.js +fixtures/warning_node_modules/new-buffer-cjs.js +fixtures/warning_node_modules/node_modules/new-buffer-esm/index.js +fixtures/warning_node_modules/node_modules/new-buffer-cjs/index.js +fixtures/console/hello_world.js +fixtures/console/console_low_stack_space.js +fixtures/console/2100bytes.js +fixtures/console/console.js +fixtures/console/force_colors.js +fixtures/overwrite-config-preload-module.js +fixtures/path.js +fixtures/nested-index/three.js +fixtures/nested-index/two/index.js +fixtures/nested-index/two/hello.js +fixtures/nested-index/one/index.js +fixtures/nested-index/one/hello.js +fixtures/nested-index/three/index.js +fixtures/self_ref_module/index.js +fixtures/v8-coverage/spawn-subprocess-no-cov.js +fixtures/v8-coverage/async-hooks.js +fixtures/v8-coverage/basic.js +fixtures/v8-coverage/combined_coverage/first.test.js +fixtures/v8-coverage/combined_coverage/second.test.js +fixtures/v8-coverage/combined_coverage/common.js +fixtures/v8-coverage/stop-coverage.js +fixtures/v8-coverage/spawn-subprocess.js +fixtures/v8-coverage/subprocess.js +fixtures/v8-coverage/worker.js +fixtures/v8-coverage/take-coverage.js +fixtures/v8-coverage/interval.js +fixtures/disable-warning-worker.js +fixtures/debugger-util-regression-fixture.js +fixtures/global/plain.js +fixtures/print-10-lines.js +fixtures/test-repl-tab-completion/helloworld.js +fixtures/permission/inspector-brk.js +fixtures/permission/required-module.js +fixtures/permission/hello-world.js +fixtures/permission/loader/index.js +fixtures/permission/main-module.js +fixtures/permission/simple-loader.js +fixtures/test-init-index/index.js +fixtures/empty.js +fixtures/echo.js diff --git a/v8.pc.in b/v8.pc.in new file mode 100644 index 0000000..adcb06b --- /dev/null +++ b/v8.pc.in @@ -0,0 +1,9 @@ +prefix=@PREFIX@ +includedir=@INCLUDEDIR@ +libdir=@LIBDIR@ + +Name: @PKGCONFNAME@ +Description: JavaScript Runtime +Version: @V8_VERSION@ +Libs: -L${libdir} -lv8 +Cflags: -I${includedir}