Diff of the two buildlogs: -- --- b1/build.log 2025-10-28 05:40:44.551524812 +0000 +++ b2/build.log 2025-10-28 05:42:57.039691175 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Oct 27 17:38:27 -12 2025 -I: pbuilder-time-stamp: 1761629907 +I: Current time: Tue Dec 1 02:03:46 +14 2026 +I: pbuilder-time-stamp: 1796040226 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -28,53 +28,85 @@ dpkg-source: info: applying fix-test-for-i386.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/928273/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/317858/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Nov 30 12:04 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/317858/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/317858/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='36e59f829c854e8796636068675a80fd' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='928273' - PS1='# ' - PS2='> ' + INVOCATION_ID=3454e556d89f4e81b6ab4e7166aae609 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=317858 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.J4qogJkR/pbuilderrc_Z13k --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.J4qogJkR/b1 --logfile b1/build.log node-nodemailer_7.0.10+~7.0.2-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.J4qogJkR/pbuilderrc_N5S2 --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.J4qogJkR/b2 --logfile b2/build.log node-nodemailer_7.0.10+~7.0.2-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/928273/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/317858/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -448,7 +480,7 @@ Get: 318 http://deb.debian.org/debian forky/main arm64 node-path-to-regexp all 8.3.0-1 [17.7 kB] Get: 319 http://deb.debian.org/debian forky/main arm64 node-punycode all 2.3.1+~2.1.4-1 [10.8 kB] Get: 320 http://deb.debian.org/debian forky/main arm64 node-sinon all 18.0.0+ds2+~cs75.4.16-1 [223 kB] -Fetched 45.4 MB in 0s (116 MB/s) +Fetched 45.4 MB in 0s (106 MB/s) Preconfiguring packages ... Selecting previously unselected package netbase. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20004 files and directories currently installed.) @@ -1761,7 +1793,11 @@ Solving dependencies... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/node-nodemailer-7.0.10+~7.0.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../node-nodemailer_7.0.10+~7.0.2-1_source.changes +I: user script /srv/workspace/pbuilder/317858/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/317858/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/node-nodemailer-7.0.10+~7.0.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../node-nodemailer_7.0.10+~7.0.2-1_source.changes dpkg-buildpackage: info: source package node-nodemailer dpkg-buildpackage: info: source version 7.0.10+~7.0.2-1 dpkg-buildpackage: info: source distribution unstable @@ -1799,451 +1835,451 @@ ln -s ../debian/tests/test_modules/smtp-server node_modules/smtp-server ln -s ../. node_modules/nodemailer /bin/sh -ex debian/tests/pkg-js/test -+ + ls test/addressparser/addressparser-test.js test/base64/base64-test.js test/dkim/dkim-test.js test/dkim/message-parser-test.js test/dkim/relaxed-body-test.js test/dkim/sign-test.js test/fetch/cookies-test.js test/fetch/nmfetch-test.js test/json-transport/json-transport-test.js test/mail-composer/mail-composer-test.js test/mime-funcs/mime-funcs-test.js test/mime-funcs/mime-types-test.js test/mime-node/mime-node-test.js test/qp/qp-test.js test/sendmail/le-windows-test.js test/sendmail/sendmail-test.js test/ses-transport/ses-transport-test.js test/shared/shared-test.js test/smtp-connection/http-proxy-client-test.js test/smtp-connection/smtp-connection-test.js test/smtp-pool/smtp-pool-test.js test/smtp-transport/smtp-tranport-test.js test/stream-transport/stream-transport-test.js test/well-known/well-known-test.js test/xoauth2/xoauth2-test.js -grep -v -f debian/tests/network-tests +++ grep -v -f debian/tests/network-tests +++ ls test/addressparser/addressparser-test.js test/base64/base64-test.js test/dkim/dkim-test.js test/dkim/message-parser-test.js test/dkim/relaxed-body-test.js test/dkim/sign-test.js test/fetch/cookies-test.js test/fetch/nmfetch-test.js test/json-transport/json-transport-test.js test/mail-composer/mail-composer-test.js test/mime-funcs/mime-funcs-test.js test/mime-funcs/mime-types-test.js test/mime-node/mime-node-test.js test/qp/qp-test.js test/sendmail/le-windows-test.js test/sendmail/sendmail-test.js test/ses-transport/ses-transport-test.js test/shared/shared-test.js test/smtp-connection/http-proxy-client-test.js test/smtp-connection/smtp-connection-test.js test/smtp-pool/smtp-pool-test.js test/smtp-transport/smtp-tranport-test.js test/stream-transport/stream-transport-test.js test/well-known/well-known-test.js test/xoauth2/xoauth2-test.js + node --test --test-concurrency=1 test/addressparser/addressparser-test.js test/base64/base64-test.js test/dkim/dkim-test.js test/dkim/message-parser-test.js test/dkim/relaxed-body-test.js test/dkim/sign-test.js test/fetch/cookies-test.js test/fetch/nmfetch-test.js test/json-transport/json-transport-test.js test/mail-composer/mail-composer-test.js test/mime-funcs/mime-funcs-test.js test/mime-funcs/mime-types-test.js test/mime-node/mime-node-test.js test/qp/qp-test.js test/sendmail/le-windows-test.js test/sendmail/sendmail-test.js test/ses-transport/ses-transport-test.js test/smtp-connection/smtp-connection-test.js test/smtp-pool/smtp-pool-test.js test/smtp-transport/smtp-tranport-test.js test/stream-transport/stream-transport-test.js test/xoauth2/xoauth2-test.js TAP version 13 # Subtest: \#addressparser # Subtest: should handle single address correctly ok 1 - should handle single address correctly --- - duration_ms: 8.071656 + duration_ms: 6.30872 ... # Subtest: should handle multiple addresses correctly ok 2 - should handle multiple addresses correctly --- - duration_ms: 1.064127 + duration_ms: 0.99636 ... # Subtest: should handle unquoted name correctly ok 3 - should handle unquoted name correctly --- - duration_ms: 6.276763 + duration_ms: 0.5834 ... # Subtest: should handle quoted name correctly ok 4 - should handle quoted name correctly --- - duration_ms: 0.723085 + duration_ms: 0.56256 ... # Subtest: should handle quoted semicolons correctly ok 5 - should handle quoted semicolons correctly --- - duration_ms: 2.268376 + duration_ms: 0.38656 ... # Subtest: should handle unquoted name, unquoted address correctly ok 6 - should handle unquoted name, unquoted address correctly --- - duration_ms: 0.762485 + duration_ms: 2.26904 ... # Subtest: should handle emtpy group correctly ok 7 - should handle emtpy group correctly --- - duration_ms: 0.817685 + duration_ms: 0.87412 ... # Subtest: should handle address group correctly ok 8 - should handle address group correctly --- - duration_ms: 0.581724 + duration_ms: 0.56112 ... # Subtest: should handle semicolon as a delimiter ok 9 - should handle semicolon as a delimiter --- - duration_ms: 1.398049 + duration_ms: 1.27348 ... # Subtest: should handle mixed group correctly ok 10 - should handle mixed group correctly --- - duration_ms: 1.571331 + duration_ms: 1.40324 ... # Subtest: should flatten mixed group correctly ok 11 - should flatten mixed group correctly --- - duration_ms: 1.052967 + duration_ms: 0.94136 ... # Subtest: semicolon as delimiter should not break group parsing ok 12 - semicolon as delimiter should not break group parsing --- - duration_ms: 1.582371 + duration_ms: 0.51396 ... # Subtest: should handle name from comment correctly ok 13 - should handle name from comment correctly --- - duration_ms: 0.969127 + duration_ms: 0.67384 ... # Subtest: should handle skip comment correctly ok 14 - should handle skip comment correctly --- - duration_ms: 0.869926 + duration_ms: 0.63764 ... # Subtest: should handle missing address correctly ok 15 - should handle missing address correctly --- - duration_ms: 0.844406 + duration_ms: 0.66316 ... # Subtest: should handle apostrophe in name correctly ok 16 - should handle apostrophe in name correctly --- - duration_ms: 0.514484 + duration_ms: 0.37524 ... # Subtest: should handle particularily bad input, unescaped colon correctly ok 17 - should handle particularily bad input, unescaped colon correctly --- - duration_ms: 0.596244 + duration_ms: 0.46172 ... # Subtest: should handle invalid email address correctly ok 18 - should handle invalid email address correctly --- - duration_ms: 1.114328 + duration_ms: 0.92824 ... # Subtest: should handle unexpected < ok 19 - should handle unexpected < --- - duration_ms: 0.788925 + duration_ms: 0.6108 ... # Subtest: should handle escapes ok 20 - should handle escapes --- - duration_ms: 1.088487 + duration_ms: 0.88016 ... # Subtest: should handle quoted usernames ok 21 - should handle quoted usernames --- - duration_ms: 0.546604 + duration_ms: 0.40908 ... # Subtest: should not extract email from quoted local-part (security) ok 22 - should not extract email from quoted local-part (security) --- - duration_ms: 0.484524 + duration_ms: 0.41272 ... # Subtest: should handle quoted local-part with attacker domain (security) ok 23 - should handle quoted local-part with attacker domain (security) --- - duration_ms: 0.329442 + duration_ms: 0.28088 ... # Subtest: should handle multiple @ in quoted local-part (security) ok 24 - should handle multiple @ in quoted local-part (security) --- - duration_ms: 0.280402 + duration_ms: 0.26472 ... # Subtest: should handle quoted local-part with angle brackets ok 25 - should handle quoted local-part with angle brackets --- - duration_ms: 0.290922 + duration_ms: 0.26752 ... # Subtest: should handle escaped quotes in quoted string ok 26 - should handle escaped quotes in quoted string --- - duration_ms: 0.283722 + duration_ms: 0.26216 ... # Subtest: should handle escaped backslashes ok 27 - should handle escaped backslashes --- - duration_ms: 0.287362 + duration_ms: 0.28556 ... # Subtest: should handle unclosed quote gracefully ok 28 - should handle unclosed quote gracefully --- - duration_ms: 0.260482 + duration_ms: 0.26288 ... # Subtest: should handle unclosed angle bracket ok 29 - should handle unclosed angle bracket --- - duration_ms: 0.280482 + duration_ms: 0.25684 ... # Subtest: should handle unclosed comment ok 30 - should handle unclosed comment --- - duration_ms: 0.323482 + duration_ms: 0.26836 ... # Subtest: should handle empty string ok 31 - should handle empty string --- - duration_ms: 8.260177 + duration_ms: 2.11288 ... # Subtest: should handle whitespace only ok 32 - should handle whitespace only --- - duration_ms: 0.957206 + duration_ms: 0.79008 ... # Subtest: should handle empty angle brackets ok 33 - should handle empty angle brackets --- - duration_ms: 0.473203 + duration_ms: 0.33524 ... # Subtest: should handle special characters in local-part ok 34 - should handle special characters in local-part --- - duration_ms: 0.495843 + duration_ms: 0.40744 ... # Subtest: should handle leading and trailing whitespace ok 35 - should handle leading and trailing whitespace --- - duration_ms: 0.691605 + duration_ms: 0.6288 ... # Subtest: should handle comment before address ok 36 - should handle comment before address --- - duration_ms: 0.431963 + duration_ms: 0.3552 ... # Subtest: should handle comment after address without space ok 37 - should handle comment after address without space --- - duration_ms: 0.390643 + duration_ms: 0.30264 ... # Subtest: should handle multiple consecutive delimiters ok 38 - should handle multiple consecutive delimiters --- - duration_ms: 0.324562 + duration_ms: 0.28928 ... # Subtest: should handle mixed quotes and unquoted text ok 39 - should handle mixed quotes and unquoted text --- - duration_ms: 0.301122 + duration_ms: 0.2734 ... # Subtest: should handle very long local-part ok 40 - should handle very long local-part --- - duration_ms: 0.354683 + duration_ms: 0.33864 ... # Subtest: should handle very long domain ok 41 - should handle very long domain --- - duration_ms: 1.863413 + duration_ms: 2.43916 ... # Subtest: should not have ReDoS vulnerability with many @ symbols ok 42 - should not have ReDoS vulnerability with many @ symbols --- - duration_ms: 4.832514 + duration_ms: 1.1752 ... # Subtest: should handle double @ (malformed) ok 43 - should handle double @ (malformed) --- - duration_ms: 0.435403 + duration_ms: 0.68228 ... # Subtest: should handle address with only name, no email ok 44 - should handle address with only name, no email --- - duration_ms: 0.336802 + duration_ms: 0.61916 ... # Subtest: should handle nested comments (RFC 5322) ok 45 - should handle nested comments (RFC 5322) --- - duration_ms: 0.292842 + duration_ms: 0.69208 ... # Subtest: should not extract from quoted text even with spaces ok 46 - should not extract from quoted text even with spaces --- - duration_ms: 2.795499 + duration_ms: 3.05276 ... # Subtest: should flatten nested groups correctly ok 47 - should flatten nested groups correctly --- - duration_ms: 0.585964 + duration_ms: 1.00152 ... # Subtest: Nested group flattening (RFC 5322 compliance) # Subtest: should flatten deeply nested groups ok 1 - should flatten deeply nested groups --- - duration_ms: 0.412603 + duration_ms: 0.842 ... # Subtest: should flatten multiple nested groups at same level ok 2 - should flatten multiple nested groups at same level --- - duration_ms: 0.341162 + duration_ms: 0.6996 ... # Subtest: should handle mixed nested and regular addresses in group ok 3 - should handle mixed nested and regular addresses in group --- - duration_ms: 0.360762 + duration_ms: 0.67848 ... 1..3 ok 48 - Nested group flattening (RFC 5322 compliance) --- - duration_ms: 1.47937 + duration_ms: 3.02328 type: 'suite' ... # Subtest: Unicode and international addresses # Subtest: should handle unicode in display name ok 1 - should handle unicode in display name --- - duration_ms: 0.323003 + duration_ms: 0.70384 ... # Subtest: should handle emoji in display name ok 2 - should handle emoji in display name --- - duration_ms: 0.312802 + duration_ms: 0.58936 ... # Subtest: should handle unicode domain (IDN) ok 3 - should handle unicode domain (IDN) --- - duration_ms: 0.433083 + duration_ms: 0.65076 ... # Subtest: should handle CJK characters in name ok 4 - should handle CJK characters in name --- - duration_ms: 0.280322 + duration_ms: 0.64448 ... 1..4 ok 49 - Unicode and international addresses --- - duration_ms: 1.670651 + duration_ms: 3.26524 type: 'suite' ... # Subtest: Real-world malformed input handling # Subtest: should handle multiple angle brackets ok 1 - should handle multiple angle brackets --- - duration_ms: 0.419963 + duration_ms: 0.99072 ... # Subtest: should handle address with no domain ok 2 - should handle address with no domain --- - duration_ms: 0.264242 + duration_ms: 0.52512 ... # Subtest: should handle address with no local part ok 3 - should handle address with no local part --- - duration_ms: 0.356203 + duration_ms: 0.7038 ... # Subtest: should handle mixed case in domain ok 4 - should handle mixed case in domain --- - duration_ms: 0.269402 + duration_ms: 0.53452 ... # Subtest: should handle tab characters ok 5 - should handle tab characters --- - duration_ms: 0.261682 + duration_ms: 0.54024 ... # Subtest: should handle newlines in input ok 6 - should handle newlines in input --- - duration_ms: 0.265562 + duration_ms: 0.55992 ... # Subtest: should handle CRLF line endings ok 7 - should handle CRLF line endings --- - duration_ms: 2.914901 + duration_ms: 0.75448 ... 1..7 ok 50 - Real-world malformed input handling --- - duration_ms: 5.211836 + duration_ms: 5.49364 type: 'suite' ... # Subtest: Group edge cases # Subtest: should handle group with only spaces ok 1 - should handle group with only spaces --- - duration_ms: 0.507483 + duration_ms: 0.776 ... # Subtest: should handle group with invalid addresses ok 2 - should handle group with invalid addresses --- - duration_ms: 0.375163 + duration_ms: 0.73124 ... # Subtest: should handle group name with special chars ok 3 - should handle group name with special chars --- - duration_ms: 0.334643 + duration_ms: 0.55376 ... # Subtest: should handle quoted group name ok 4 - should handle quoted group name --- - duration_ms: 0.314242 + duration_ms: 0.60348 ... 1..4 ok 51 - Group edge cases --- - duration_ms: 1.845053 + duration_ms: 3.40092 type: 'suite' ... # Subtest: Comment edge cases # Subtest: should handle multiple comments ok 1 - should handle multiple comments --- - duration_ms: 0.380202 + duration_ms: 0.62272 ... # Subtest: should handle empty comment ok 2 - should handle empty comment --- - duration_ms: 0.266682 + duration_ms: 0.4748 ... # Subtest: should handle comment with special characters ok 3 - should handle comment with special characters --- - duration_ms: 0.256602 + duration_ms: 0.46752 ... 1..3 ok 52 - Comment edge cases --- - duration_ms: 1.142408 + duration_ms: 2.05784 type: 'suite' ... # Subtest: Subdomain handling # Subtest: should handle multiple subdomains ok 1 - should handle multiple subdomains --- - duration_ms: 0.306242 + duration_ms: 0.56424 ... # Subtest: should handle numeric subdomains ok 2 - should handle numeric subdomains --- - duration_ms: 0.237202 + duration_ms: 0.58992 ... # Subtest: should handle hyphenated subdomains ok 3 - should handle hyphenated subdomains --- - duration_ms: 0.265122 + duration_ms: 0.5056 ... 1..3 ok 53 - Subdomain handling --- - duration_ms: 1.027287 + duration_ms: 2.18324 type: 'suite' ... # Subtest: IP address domains # Subtest: should handle IPv4 address as domain ok 1 - should handle IPv4 address as domain --- - duration_ms: 0.300242 + duration_ms: 0.53024 ... # Subtest: should handle IPv6 address notation ok 2 - should handle IPv6 address notation --- - duration_ms: 0.284322 + duration_ms: 0.54376 ... 1..2 ok 54 - IP address domains --- - duration_ms: 0.756165 + duration_ms: 1.43428 type: 'suite' ... # Subtest: Performance and pathological inputs # Subtest: should handle very long address list efficiently ok 1 - should handle very long address list efficiently --- - duration_ms: 27.143667 + duration_ms: 33.48244 ... # Subtest: should handle deeply nested quotes ok 2 - should handle deeply nested quotes --- - duration_ms: 0.542044 + duration_ms: 0.91192 ... # Subtest: should handle many consecutive delimiters ok 3 - should handle many consecutive delimiters --- - duration_ms: 0.562044 + duration_ms: 0.77376 ... 1..3 ok 55 - Performance and pathological inputs --- - duration_ms: 28.553677 + duration_ms: 35.82644 type: 'suite' ... 1..55 ok 1 - \#addressparser --- - duration_ms: 112.772057 + duration_ms: 104.55164 type: 'suite' ... # Subtest: Base64 Tests @@ -2251,150 +2287,150 @@ # Subtest: shoud encode UTF-8 string to base64 ok 1 - shoud encode UTF-8 string to base64 --- - duration_ms: 2.056134 + duration_ms: 1.96536 ... # Subtest: shoud encode Buffer to base64 ok 2 - shoud encode Buffer to base64 --- - duration_ms: 0.851606 + duration_ms: 0.86764 ... 1..2 ok 1 - \#encode --- - duration_ms: 4.220629 + duration_ms: 4.13604 type: 'suite' ... # Subtest: \#wrap # Subtest: should wrap long base64 encoded lines ok 1 - should wrap long base64 encoded lines --- - duration_ms: 0.697845 + duration_ms: 0.60332 ... 1..1 ok 2 - \#wrap --- - duration_ms: 1.280089 + duration_ms: 1.13376 type: 'suite' ... # Subtest: base64 Streams # Subtest: should transform incoming bytes to base64 ok 1 - should transform incoming bytes to base64 --- - duration_ms: 66.453538 + duration_ms: 30.4402 ... # Subtest: should transform incoming bytes to base64 and back ok 2 - should transform incoming bytes to base64 and back --- - duration_ms: 24.384968 + duration_ms: 24.70764 ... # Subtest: should flush incomplete trailing base64 chunks correctly ok 3 - should flush incomplete trailing base64 chunks correctly --- - duration_ms: 4.088908 + duration_ms: 2.29852 ... 1..3 ok 3 - base64 Streams --- - duration_ms: 95.670099 + duration_ms: 58.14508 type: 'suite' ... 1..3 ok 2 - Base64 Tests --- - duration_ms: 103.247111 + duration_ms: 65.4814 type: 'suite' ... # Subtest: DKIM Tests # Subtest: should sign message ok 1 - should sign message --- - duration_ms: 45.998117 + duration_ms: 40.26972 ... # Subtest: should sign large message using cache dir ok 2 - should sign large message using cache dir --- - duration_ms: 282.743147 + duration_ms: 234.17836 ... # Subtest: should sign large message without cache dir ok 3 - should sign large message without cache dir --- - duration_ms: 170.748536 + duration_ms: 163.31292 ... # Subtest: should emit cache error ok 4 - should emit cache error --- - duration_ms: 40.822841 + duration_ms: 41.60896 ... # Subtest: should sign large message as Buffer ok 5 - should sign large message as Buffer --- - duration_ms: 123.189569 + duration_ms: 121.74632 ... # Subtest: should sign large message as String ok 6 - should sign large message as String --- - duration_ms: 139.688442 + duration_ms: 155.85572 ... 1..6 ok 3 - DKIM Tests --- - duration_ms: 807.099318 + duration_ms: 760.7392 type: 'suite' ... # Subtest: DKIM MessageParser Tests # Subtest: should extract header and body ok 1 - should extract header and body --- - duration_ms: 21.75639 + duration_ms: 14.74896 ... 1..1 ok 4 - DKIM MessageParser Tests --- - duration_ms: 28.901159 + duration_ms: 17.44768 type: 'suite' ... # Subtest: DKIM RelaxedBody Tests # Subtest: Should calculate body hash byte by byte ok 1 - Should calculate body hash byte by byte --- - duration_ms: 250.360285 + duration_ms: 193.69968 ... # Subtest: Should calculate body hash all at once ok 2 - Should calculate body hash all at once --- - duration_ms: 7.572172 + duration_ms: 4.4444 ... 1..2 ok 5 - DKIM RelaxedBody Tests --- - duration_ms: 260.637595 + duration_ms: 200.86212 type: 'suite' ... # Subtest: DKIM Sign Tests # Subtest: should create relaxed headers ok 1 - should create relaxed headers --- - duration_ms: 3.366463 + duration_ms: 3.21836 ... # Subtest: should skip specific headers ok 2 - should skip specific headers --- - duration_ms: 0.455884 + duration_ms: 0.417 ... # Subtest: should sign headers ok 3 - should sign headers --- - duration_ms: 4.764353 + duration_ms: 4.48828 ... # Subtest: should sign headers for unicode domain ok 4 - should sign headers for unicode domain --- - duration_ms: 2.032734 + duration_ms: 1.91832 ... 1..4 ok 6 - DKIM Sign Tests --- - duration_ms: 13.693335 + duration_ms: 12.93344 type: 'suite' ... # Subtest: Cookie Tests @@ -2402,97 +2438,97 @@ # Subtest: should return root path ok 1 - should return root path --- - duration_ms: 2.591218 + duration_ms: 2.16904 ... # Subtest: should return without file ok 2 - should return without file --- - duration_ms: 0.660965 + duration_ms: 0.54524 ... 1..2 ok 1 - \#getPath --- - duration_ms: 5.444717 + duration_ms: 4.4518 type: 'suite' ... # Subtest: \#isExpired # Subtest: should match expired cookie ok 1 - should match expired cookie --- - duration_ms: 0.659885 + duration_ms: 0.58572 ... 1..1 ok 2 - \#isExpired --- - duration_ms: 0.912806 + duration_ms: 0.808 type: 'suite' ... # Subtest: \#compare # Subtest: should match similar cookies ok 1 - should match similar cookies --- - duration_ms: 0.720645 + duration_ms: 0.62452 ... 1..1 ok 3 - \#compare --- - duration_ms: 1.841613 + duration_ms: 1.55796 type: 'suite' ... # Subtest: \#add # Subtest: should append new cookie ok 1 - should append new cookie --- - duration_ms: 1.250728 + duration_ms: 0.96116 ... # Subtest: should update existing cookie ok 2 - should update existing cookie --- - duration_ms: 0.941087 + duration_ms: 0.79516 ... 1..2 ok 4 - \#add --- - duration_ms: 3.174062 + duration_ms: 2.55396 type: 'suite' ... # Subtest: \#match # Subtest: should check if a cookie matches particular domain and path ok 1 - should check if a cookie matches particular domain and path --- - duration_ms: 3.317623 + duration_ms: 2.82296 ... # Subtest: should check if a cookie matches particular domain and path ok 2 - should check if a cookie matches particular domain and path --- - duration_ms: 1.700611 + duration_ms: 1.43344 ... # Subtest: should check if a cookie is secure ok 3 - should check if a cookie is secure --- - duration_ms: 1.593491 + duration_ms: 1.32572 ... 1..3 ok 5 - \#match --- - duration_ms: 7.200489 + duration_ms: 6.0898 type: 'suite' ... # Subtest: \#parse # Subtest: should parse Set-Cookie value ok 1 - should parse Set-Cookie value --- - duration_ms: 4.886394 + duration_ms: 4.79436 ... # Subtest: should ignore invalid expire header ok 2 - should ignore invalid expire header --- - duration_ms: 0.999487 + duration_ms: 0.80936 ... 1..2 ok 6 - \#parse --- - duration_ms: 8.028455 + duration_ms: 8.53024 type: 'suite' ... # Subtest: Listing @@ -2500,351 +2536,351 @@ # Subtest: should return matching cookies for an URL ok 1 - should return matching cookies for an URL --- - duration_ms: 1.586171 + duration_ms: 1.39632 ... 1..1 ok 1 - \#list --- - duration_ms: 1.807212 + duration_ms: 1.5586 type: 'suite' ... # Subtest: \#get # Subtest: should return matching cookies for an URL ok 1 - should return matching cookies for an URL --- - duration_ms: 0.783725 + duration_ms: 0.63892 ... 1..1 ok 2 - \#get --- - duration_ms: 0.982487 + duration_ms: 0.79756 type: 'suite' ... 1..2 ok 7 - Listing --- - duration_ms: 3.115541 + duration_ms: 2.6356 type: 'suite' ... # Subtest: \#set # Subtest: should set cookie ok 1 - should set cookie --- - duration_ms: 2.697218 + duration_ms: 2.35788 ... 1..1 ok 8 - \#set --- - duration_ms: 3.294782 + duration_ms: 2.9044 type: 'suite' ... 1..8 ok 7 - Cookie Tests --- - duration_ms: 35.381364 + duration_ms: 31.63024 type: 'suite' ... # Subtest: NMFetch Tests # Subtest: should fetch HTTP data ok 1 - should fetch HTTP data --- - duration_ms: 67.470864 + duration_ms: 69.62504 ... # Subtest: should fetch HTTPS data ok 2 - should fetch HTTPS data --- - duration_ms: 22.692196 + duration_ms: 22.365 ... # Subtest: should fetch HTTP data with redirects ok 3 - should fetch HTTP data with redirects --- - duration_ms: 30.52341 + duration_ms: 24.88452 ... # Subtest: should return error for too many redirects ok 4 - should return error for too many redirects --- - duration_ms: 49.201459 + duration_ms: 24.52332 ... # Subtest: should fetch HTTP data with custom redirect limit ok 5 - should fetch HTTP data with custom redirect limit --- - duration_ms: 27.349509 + duration_ms: 16.03812 ... # Subtest: should return error for custom redirect limit ok 6 - should return error for custom redirect limit --- - duration_ms: 18.717889 + duration_ms: 11.79308 ... # Subtest: should return disable redirects ok 7 - should return disable redirects --- - duration_ms: 10.27327 + duration_ms: 8.47636 ... # Subtest: should unzip compressed HTTP data ok 8 - should unzip compressed HTTP data --- - duration_ms: 15.885109 + duration_ms: 10.918 ... # Subtest: should return error for unresolved host ok 9 - should return error for unresolved host --- - duration_ms: 8.6401 + duration_ms: 8.16892 ... # Subtest: should return error for invalid status ok 10 - should return error for invalid status --- - duration_ms: 9.321744 + duration_ms: 7.3322 ... # Subtest: should allow invalid status ok 11 - should allow invalid status --- - duration_ms: 8.180016 + duration_ms: 9.68332 ... # Subtest: should return error for invalid url ok 12 - should return error for invalid url --- - duration_ms: 6.300404 + duration_ms: 5.7548 ... # Subtest: should return timeout error ok 13 - should return timeout error --- - duration_ms: 1013.872942 + duration_ms: 1009.0102 ... # Subtest: should handle basic HTTP auth ok 14 - should handle basic HTTP auth --- - duration_ms: 14.835142 + duration_ms: 8.12756 ... # Subtest: should return error for invalid protocol ok 15 - should return error for invalid protocol --- - duration_ms: 11.149877 + duration_ms: 6.69484 ... # Subtest: should set cookie value ok 16 - should set cookie value --- - duration_ms: 13.837016 + duration_ms: 7.03948 ... # Subtest: should set user agent ok 17 - should set user agent --- - duration_ms: 7.067528 + duration_ms: 6.66116 ... # Subtest: should post data ok 18 - should post data --- - duration_ms: 8.873941 + duration_ms: 7.13416 ... # Subtest: should post stream data ok 19 - should post stream data --- - duration_ms: 19.616855 + duration_ms: 16.36484 ... # Subtest: should return error for invalid cert ok 20 - should return error for invalid cert --- - duration_ms: 18.431167 + duration_ms: 14.40916 ... 1..20 ok 8 - NMFetch Tests --- - duration_ms: 1389.062046 + duration_ms: 1300.83472 type: 'suite' ... # Subtest: JSON Transport Tests # Subtest: should return an JSON string ok 1 - should return an JSON string --- - duration_ms: 33.156949 + duration_ms: 31.1106 ... # Subtest: should return an JSON string for calendar event ok 2 - should return an JSON string for calendar event --- - duration_ms: 7.953215 + duration_ms: 7.49488 ... 1..2 ok 9 - JSON Transport Tests --- - duration_ms: 43.62598 + duration_ms: 41.0178 type: 'suite' ... # Subtest: MailComposer unit tests # Subtest: should create new MailComposer ok 1 - should create new MailComposer --- - duration_ms: 1.767332 + duration_ms: 1.50748 ... # Subtest: \#compile # Subtest: should use Mixed structure with text and attachment ok 1 - should use Mixed structure with text and attachment --- - duration_ms: 7.933894 + duration_ms: 7.1354 ... # Subtest: should use Mixed structure with multiple attachments ok 2 - should use Mixed structure with multiple attachments --- - duration_ms: 1.989814 + duration_ms: 1.86884 ... # Subtest: should create Alternative structure with text and html ok 3 - should create Alternative structure with text and html --- - duration_ms: 3.584385 + duration_ms: 3.43348 ... # Subtest: should create Alternative structure with text, watchHtml and html ok 4 - should create Alternative structure with text, watchHtml and html --- - duration_ms: 1.757932 + duration_ms: 1.95896 ... # Subtest: should create Alternative structure with text, amp and html ok 5 - should create Alternative structure with text, amp and html --- - duration_ms: 1.456931 + duration_ms: 1.92116 ... # Subtest: should create Alternative structure with text, icalEvent and html ok 6 - should create Alternative structure with text, icalEvent and html --- - duration_ms: 2.082735 + duration_ms: 2.68904 ... # Subtest: should create Alternative structure using encoded icalEvent ok 7 - should create Alternative structure using encoded icalEvent --- - duration_ms: 41.172963 + duration_ms: 49.80324 ... # Subtest: should create Alternative structure with text, html and cid attachment ok 8 - should create Alternative structure with text, html and cid attachment --- - duration_ms: 2.705859 + duration_ms: 2.76908 ... # Subtest: should create Related structure with html and cid attachment ok 9 - should create Related structure with html and cid attachment --- - duration_ms: 1.46409 + duration_ms: 1.43088 ... # Subtest: should create content node with only text ok 10 - should create content node with only text --- - duration_ms: 1.310609 + duration_ms: 1.51736 ... # Subtest: should create content node with only an attachment ok 11 - should create content node with only an attachment --- - duration_ms: 1.35609 + duration_ms: 1.37648 ... # Subtest: should create content node with encoded buffer ok 12 - should create content node with encoded buffer --- - duration_ms: 2.486417 + duration_ms: 2.43132 ... # Subtest: should create content node from data url ok 13 - should create content node from data url --- - duration_ms: 1.595611 + duration_ms: 1.41812 ... # Subtest: should not treat invalid content-type as multipart ok 14 - should not treat invalid content-type as multipart --- - duration_ms: 4.580032 + duration_ms: 4.77596 ... # Subtest: should create the same output ok 15 - should create the same output --- - duration_ms: 12.377686 + duration_ms: 11.35052 ... # Subtest: should use raw input for the message ok 16 - should use raw input for the message --- - duration_ms: 6.850408 + duration_ms: 6.12892 ... # Subtest: should use raw input for different parts ok 17 - should use raw input for different parts --- - duration_ms: 8.882622 + duration_ms: 8.12272 ... # Subtest: should discard BCC ok 18 - should discard BCC --- - duration_ms: 3.299742 + duration_ms: 3.06284 ... # Subtest: should autodetect text encoding ok 19 - should autodetect text encoding --- - duration_ms: 4.083708 + duration_ms: 3.86452 ... # Subtest: should use quoted-printable text encoding ok 20 - should use quoted-printable text encoding --- - duration_ms: 3.120541 + duration_ms: 2.83084 ... # Subtest: should use base64 text encoding ok 21 - should use base64 text encoding --- - duration_ms: 3.400623 + duration_ms: 3.24968 ... # Subtest: should keep BCC ok 22 - should keep BCC --- - duration_ms: 3.160182 + duration_ms: 2.94956 ... # Subtest: should set headers for attachment ok 23 - should set headers for attachment --- - duration_ms: 4.135748 + duration_ms: 4.01576 ... # Subtest: should encode filename ok 24 - should encode filename --- - duration_ms: 4.767193 + duration_ms: 4.49496 ... # Subtest: should keep plaintext for attachment ok 25 - should keep plaintext for attachment --- - duration_ms: 3.590905 + duration_ms: 3.49044 ... # Subtest: should use default transfer encoding ok 26 - should use default transfer encoding --- - duration_ms: 3.370263 + duration_ms: 3.22716 ... # Subtest: should keep provided transfer encoding ok 27 - should keep provided transfer encoding --- - duration_ms: 3.344143 + duration_ms: 3.37668 ... # Subtest: should use 7bit transfer encoding for message/rfc822 ok 28 - should use 7bit transfer encoding for message/rfc822 --- - duration_ms: 3.265102 + duration_ms: 3.2374 ... # Subtest: should ignore attachment filename ok 29 - should ignore attachment filename --- - duration_ms: 4.188709 + duration_ms: 4.2452 ... # Subtest: should add ical alternative ok 30 - should add ical alternative --- - duration_ms: 5.71472 + duration_ms: 5.14008 ... # Subtest: should use load attachment from file ok 31 - should use load attachment from file --- - duration_ms: 13.383452 + duration_ms: 13.37924 ... # Subtest: should not load attachment from file ok 32 - should not load attachment from file --- - duration_ms: 3.598264 + duration_ms: 3.58236 ... 1..32 ok 2 - \#compile --- - duration_ms: 174.998806 + duration_ms: 179.2812 type: 'suite' ... 1..2 ok 10 - MailComposer unit tests --- - duration_ms: 179.606557 + duration_ms: 183.21376 type: 'suite' ... # Subtest: MailComposer ReDoS Protection Tests @@ -2852,62 +2888,62 @@ # Subtest: should handle malicious data URLs without ReDoS ok 1 - should handle malicious data URLs without ReDoS --- - duration_ms: 7.116889 + duration_ms: 6.25016 ... # Subtest: should handle various data URL formats correctly ok 2 - should handle various data URL formats correctly --- - duration_ms: 1.861733 + duration_ms: 1.71348 ... # Subtest: should reject excessively long data URLs gracefully ok 3 - should reject excessively long data URLs gracefully --- - duration_ms: 2.155174 + duration_ms: 1.79632 ... # Subtest: should handle malformed data URLs without crashing ok 4 - should handle malformed data URLs without crashing --- - duration_ms: 1.48025 + duration_ms: 1.32008 ... 1..4 ok 1 - parseDataURI security --- - duration_ms: 13.119611 + duration_ms: 11.53964 type: 'suite' ... # Subtest: getAttachments with data URLs # Subtest: should process data URLs in attachments safely ok 1 - should process data URLs in attachments safely --- - duration_ms: 0.513723 + duration_ms: 0.6032 ... # Subtest: should handle data URLs in alternatives safely ok 2 - should handle data URLs in alternatives safely --- - duration_ms: 0.391282 + duration_ms: 0.39572 ... 1..2 ok 2 - getAttachments with data URLs --- - duration_ms: 1.110688 + duration_ms: 1.27232 type: 'suite' ... # Subtest: performance with malicious inputs # Subtest: should process PoC examples quickly ok 1 - should process PoC examples quickly --- - duration_ms: 3.420143 + duration_ms: 1.58588 ... 1..1 ok 3 - performance with malicious inputs --- - duration_ms: 3.589625 + duration_ms: 1.80568 type: 'suite' ... 1..3 ok 11 - MailComposer ReDoS Protection Tests --- - duration_ms: 18.200725 + duration_ms: 17.05632 type: 'suite' ... # Subtest: Mime-Funcs Tests @@ -2915,212 +2951,212 @@ # Subtest: should detect plain text ok 1 - should detect plain text --- - duration_ms: 2.405536 + duration_ms: 2.44548 ... # Subtest: should return true ok 2 - should return true --- - duration_ms: 0.335722 + duration_ms: 0.48672 ... # Subtest: should return false on low bits ok 3 - should return false on low bits --- - duration_ms: 0.340523 + duration_ms: 0.40552 ... # Subtest: should return false on high bits ok 4 - should return false on high bits --- - duration_ms: 0.254282 + duration_ms: 0.30132 ... 1..4 ok 1 - \#isPlainText --- - duration_ms: 5.143956 + duration_ms: 5.45208 type: 'suite' ... # Subtest: \#hasLongerLines # Subtest: should detect longer lines ok 1 - should detect longer lines --- - duration_ms: 0.516123 + duration_ms: 0.5682 ... 1..1 ok 2 - \#hasLongerLines --- - duration_ms: 1.068407 + duration_ms: 1.12272 type: 'suite' ... # Subtest: \#encodeWord # Subtest: should encode quoted-printable ok 1 - should encode quoted-printable --- - duration_ms: 1.682732 + duration_ms: 1.75496 ... # Subtest: should encode base64 ok 2 - should encode base64 --- - duration_ms: 0.488404 + duration_ms: 0.54684 ... 1..2 ok 3 - \#encodeWord --- - duration_ms: 2.8253 + duration_ms: 3.02412 type: 'suite' ... # Subtest: \#encodeWords # Subtest: should encode Ascii range ok 1 - should encode Ascii range --- - duration_ms: 1.713571 + duration_ms: 1.7416 ... # Subtest: should split QP on maxLength ok 2 - should split QP on maxLength --- - duration_ms: 3.113662 + duration_ms: 3.1728 ... # Subtest: should split base64 on maxLength ok 3 - should split base64 on maxLength --- - duration_ms: 2.629139 + duration_ms: 2.60412 ... 1..3 ok 4 - \#encodeWords --- - duration_ms: 8.161936 + duration_ms: 8.26036 type: 'suite' ... # Subtest: \#buildHeaderParam # Subtest: should return unmodified ok 1 - should return unmodified --- - duration_ms: 2.713579 + duration_ms: 2.71784 ... # Subtest: should encode and split ascii ok 2 - should encode and split ascii --- - duration_ms: 0.800166 + duration_ms: 0.77564 ... # Subtest: should encode double byte unicode characters ok 3 - should encode double byte unicode characters --- - duration_ms: 0.806286 + duration_ms: 0.8634 ... # Subtest: should encode and split unicode ok 4 - should encode and split unicode --- - duration_ms: 1.003367 + duration_ms: 0.95856 ... # Subtest: should encode and split filename with dashes ok 5 - should encode and split filename with dashes --- - duration_ms: 0.946326 + duration_ms: 0.94796 ... # Subtest: should encode and decode ok 6 - should encode and decode --- - duration_ms: 2.375296 + duration_ms: 2.4282 ... 1..6 ok 5 - \#buildHeaderParam --- - duration_ms: 9.714107 + duration_ms: 9.85052 type: 'suite' ... # Subtest: \#parseHeaderValue # Subtest: should handle default value only ok 1 - should handle default value only --- - duration_ms: 0.469963 + duration_ms: 0.51816 ... # Subtest: should handle unquoted params ok 2 - should handle unquoted params --- - duration_ms: 0.873326 + duration_ms: 0.91328 ... # Subtest: should handle quoted params ok 3 - should handle quoted params --- - duration_ms: 0.448763 + duration_ms: 0.4334 ... # Subtest: should handle multi line values ok 4 - should handle multi line values --- - duration_ms: 1.193488 + duration_ms: 1.23164 ... # Subtest: should handle params only ok 5 - should handle params only --- - duration_ms: 0.418283 + duration_ms: 0.49792 ... 1..5 ok 6 - \#parseHeaderValue --- - duration_ms: 3.863786 + duration_ms: 4.0674 type: 'suite' ... # Subtest: \#_buildHeaderValue # Subtest: should build header value ok 1 - should build header value --- - duration_ms: 1.120848 + duration_ms: 1.12992 ... # Subtest: should handle unicode filename ok 2 - should handle unicode filename --- - duration_ms: 0.727765 + duration_ms: 0.72932 ... # Subtest: should handle dashed filename ok 3 - should handle dashed filename --- - duration_ms: 0.387883 + duration_ms: 0.43808 ... # Subtest: should split emoji filename ok 4 - should split emoji filename --- - duration_ms: 0.806686 + duration_ms: 0.85948 ... # Subtest: should quote filename with spaces ok 5 - should quote filename with spaces --- - duration_ms: 0.376163 + duration_ms: 0.39032 ... # Subtest: should quote filename with special characters ok 6 - should quote filename with special characters --- - duration_ms: 0.555804 + duration_ms: 0.568 ... 1..6 ok 7 - \#_buildHeaderValue --- - duration_ms: 4.521791 + duration_ms: 4.68796 type: 'suite' ... # Subtest: \#foldLines # Subtest: should Fold long header line ok 1 - should Fold long header line --- - duration_ms: 1.137928 + duration_ms: 1.33496 ... # Subtest: should Fold flowed text ok 2 - should Fold flowed text --- - duration_ms: 0.337042 + duration_ms: 0.36932 ... # Subtest: should fold one long line ok 3 - should fold one long line --- - duration_ms: 0.510924 + duration_ms: 0.61528 ... 1..3 ok 8 - \#foldLines --- - duration_ms: 2.305656 + duration_ms: 2.88104 type: 'suite' ... 1..8 ok 12 - Mime-Funcs Tests --- - duration_ms: 40.239678 + duration_ms: 42.05492 type: 'suite' ... # Subtest: Mime-Type Tests @@ -3128,608 +3164,608 @@ # Subtest: should detect default extension ok 1 - should detect default extension --- - duration_ms: 2.047574 + duration_ms: 2.03568 ... # Subtest: should detect single extension ok 2 - should detect single extension --- - duration_ms: 0.364363 + duration_ms: 0.39996 ... # Subtest: should detect first matching extension ok 3 - should detect first matching extension --- - duration_ms: 0.401803 + duration_ms: 0.478 ... 1..3 ok 1 - \#detectExtension --- - duration_ms: 4.963954 + duration_ms: 5.18584 type: 'suite' ... # Subtest: \#detectMimeType # Subtest: should detect default mime type ok 1 - should detect default mime type --- - duration_ms: 0.707205 + duration_ms: 0.70004 ... # Subtest: should detect single mime type ok 2 - should detect single mime type --- - duration_ms: 0.356082 + duration_ms: 0.39508 ... # Subtest: should detect first matching mime type ok 3 - should detect first matching mime type --- - duration_ms: 0.654005 + duration_ms: 0.70196 ... 1..3 ok 2 - \#detectMimeType --- - duration_ms: 2.499138 + duration_ms: 2.62532 type: 'suite' ... 1..2 ok 13 - Mime-Type Tests --- - duration_ms: 9.172303 + duration_ms: 9.60004 type: 'suite' ... # Subtest: MimeNode Tests # Subtest: should create MimeNode object ok 1 - should create MimeNode object --- - duration_ms: 3.811386 + duration_ms: 3.59728 ... # Subtest: \#createChild # Subtest: should create child ok 1 - should create child --- - duration_ms: 1.902774 + duration_ms: 1.85276 ... 1..1 ok 2 - \#createChild --- - duration_ms: 2.355496 + duration_ms: 2.21696 type: 'suite' ... # Subtest: \#appendChild # Subtest: should append child node ok 1 - should append child node --- - duration_ms: 1.114647 + duration_ms: 0.89156 ... 1..1 ok 3 - \#appendChild --- - duration_ms: 1.45245 + duration_ms: 1.19392 type: 'suite' ... # Subtest: \#replace # Subtest: should replace node ok 1 - should replace node --- - duration_ms: 1.164888 + duration_ms: 0.91492 ... 1..1 ok 4 - \#replace --- - duration_ms: 1.45285 + duration_ms: 1.15696 type: 'suite' ... # Subtest: \#remove # Subtest: should remove node ok 1 - should remove node --- - duration_ms: 1.201689 + duration_ms: 1.14064 ... 1..1 ok 5 - \#remove --- - duration_ms: 2.220015 + duration_ms: 2.04116 type: 'suite' ... # Subtest: \#setHeader # Subtest: should set header ok 1 - should set header --- - duration_ms: 2.826419 + duration_ms: 2.6216 ... # Subtest: should set multiple headers with the same key ok 2 - should set multiple headers with the same key --- - duration_ms: 0.611844 + duration_ms: 0.56704 ... 1..2 ok 6 - \#setHeader --- - duration_ms: 3.841266 + duration_ms: 3.5628 type: 'suite' ... # Subtest: \#addHeader # Subtest: should add header ok 1 - should add header --- - duration_ms: 1.329889 + duration_ms: 1.00664 ... # Subtest: should set multiple headers with the same key ok 2 - should set multiple headers with the same key --- - duration_ms: 1.122767 + duration_ms: 0.8894 ... 1..2 ok 7 - \#addHeader --- - duration_ms: 3.184382 + duration_ms: 2.4876 type: 'suite' ... # Subtest: \#getHeader # Subtest: should return first matching header value ok 1 - should return first matching header value --- - duration_ms: 0.962927 + duration_ms: 0.80228 ... 1..1 ok 8 - \#getHeader --- - duration_ms: 1.298329 + duration_ms: 1.04796 type: 'suite' ... # Subtest: \#setContent # Subtest: should set the contents for a node ok 1 - should set the contents for a node --- - duration_ms: 1.190968 + duration_ms: 1.00092 ... 1..1 ok 9 - \#setContent --- - duration_ms: 1.45053 + duration_ms: 1.21392 type: 'suite' ... # Subtest: \#build # Subtest: should build root node ok 1 - should build root node --- - duration_ms: 46.952283 + duration_ms: 43.23396 ... # Subtest: should build child node ok 2 - should build child node --- - duration_ms: 3.660585 + duration_ms: 3.37828 ... # Subtest: should build multipart node ok 3 - should build multipart node --- - duration_ms: 4.766313 + duration_ms: 4.49848 ... # Subtest: should build root with generated headers ok 4 - should build root with generated headers --- - duration_ms: 4.35395 + duration_ms: 4.11556 ... # Subtest: should not include bcc missing in output, but in envelope ok 5 - should not include bcc missing in output, but in envelope --- - duration_ms: 6.469485 + duration_ms: 5.67448 ... # Subtest: should include bcc missing in output and in envelope ok 6 - should include bcc missing in output and in envelope --- - duration_ms: 5.118955 + duration_ms: 4.63936 ... # Subtest: should use set envelope ok 7 - should use set envelope --- - duration_ms: 6.273763 + duration_ms: 5.49512 ... # Subtest: should have unicode subject ok 8 - should have unicode subject --- - duration_ms: 4.571872 + duration_ms: 4.01144 ... # Subtest: should have unicode subject with strange characters ok 9 - should have unicode subject with strange characters --- - duration_ms: 4.001628 + duration_ms: 3.58024 ... # Subtest: should keep 7bit text as is ok 10 - should keep 7bit text as is --- - duration_ms: 3.500424 + duration_ms: 3.09236 ... # Subtest: should prefer base64 ok 11 - should prefer base64 --- - duration_ms: 5.920481 + duration_ms: 4.82408 ... # Subtest: should force quoted-printable ok 12 - should force quoted-printable --- - duration_ms: 4.823714 + duration_ms: 4.057 ... # Subtest: should prefer quoted-printable ok 13 - should prefer quoted-printable --- - duration_ms: 3.406383 + duration_ms: 2.79016 ... # Subtest: should not flow text ok 14 - should not flow text --- - duration_ms: 4.131228 + duration_ms: 3.28948 ... # Subtest: should not flow html ok 15 - should not flow html --- - duration_ms: 3.401383 + duration_ms: 3.0192 ... # Subtest: should use 7bit for html ok 16 - should use 7bit for html --- - duration_ms: 2.691858 + duration_ms: 3.57204 ... # Subtest: should fetch ascii filename ok 17 - should fetch ascii filename --- - duration_ms: 3.255703 + duration_ms: 4.17724 ... # Subtest: should set unicode filename ok 18 - should set unicode filename --- - duration_ms: 4.29683 + duration_ms: 5.1342 ... # Subtest: should set dashed filename ok 19 - should set dashed filename --- - duration_ms: 3.524624 + duration_ms: 3.52844 ... # Subtest: should encode filename with a space ok 20 - should encode filename with a space --- - duration_ms: 3.573384 + duration_ms: 4.81096 ... # Subtest: should detect content type from filename ok 21 - should detect content type from filename --- - duration_ms: 3.888907 + duration_ms: 3.89216 ... # Subtest: should convert address objects ok 22 - should convert address objects --- - duration_ms: 3.875746 + duration_ms: 3.28456 ... # Subtest: should skip empty header ok 23 - should skip empty header --- - duration_ms: 2.508977 + duration_ms: 2.27244 ... # Subtest: should not process prepared headers ok 24 - should not process prepared headers --- - duration_ms: 2.688219 + duration_ms: 2.22768 ... # Subtest: should set default transfer encoding for application content ok 25 - should set default transfer encoding for application content --- - duration_ms: 6.277083 + duration_ms: 5.3718 ... # Subtest: should not set transfer encoding for multipart content ok 26 - should not set transfer encoding for multipart content --- - duration_ms: 2.115655 + duration_ms: 2.25772 ... # Subtest: should not set transfer encoding for message/ content ok 27 - should not set transfer encoding for message/ content --- - duration_ms: 2.333616 + duration_ms: 1.91644 ... # Subtest: should use from domain for message-id ok 28 - should use from domain for message-id --- - duration_ms: 2.127455 + duration_ms: 1.93004 ... # Subtest: should fallback to hostname for message-id ok 29 - should fallback to hostname for message-id --- - duration_ms: 1.893093 + duration_ms: 1.49456 ... 1..29 ok 10 - \#build --- - duration_ms: 159.953382 + duration_ms: 148.716 type: 'suite' ... # Subtest: \#getEnvelope # Subtest: should get envelope ok 1 - should get envelope --- - duration_ms: 1.205008 + duration_ms: 1.13272 ... 1..1 ok 11 - \#getEnvelope --- - duration_ms: 1.41253 + duration_ms: 1.32328 type: 'suite' ... # Subtest: \#messageId # Subtest: should create and return message-Id ok 1 - should create and return message-Id --- - duration_ms: 0.876086 + duration_ms: 0.71512 ... 1..1 ok 12 - \#messageId --- - duration_ms: 1.076888 + duration_ms: 0.9118 type: 'suite' ... # Subtest: \#getAddresses # Subtest: should get address object ok 1 - should get address object --- - duration_ms: 2.079094 + duration_ms: 1.87968 ... 1..1 ok 13 - \#getAddresses --- - duration_ms: 2.289536 + duration_ms: 2.06096 type: 'suite' ... # Subtest: \#_parseAddresses # Subtest: should normalize header key ok 1 - should normalize header key --- - duration_ms: 1.544611 + duration_ms: 1.35868 ... 1..1 ok 14 - \#_parseAddresses --- - duration_ms: 1.768573 + duration_ms: 1.54488 type: 'suite' ... # Subtest: \#_normalizeHeaderKey # Subtest: should normalize header key ok 1 - should normalize header key --- - duration_ms: 0.498243 + duration_ms: 0.4004 ... 1..1 ok 15 - \#_normalizeHeaderKey --- - duration_ms: 0.683245 + duration_ms: 0.5518 type: 'suite' ... # Subtest: \#_handleContentType # Subtest: should do nothing on non multipart ok 1 - should do nothing on non multipart --- - duration_ms: 0.478124 + duration_ms: 0.36512 ... # Subtest: should use provided boundary ok 2 - should use provided boundary --- - duration_ms: 0.449563 + duration_ms: 0.34508 ... # Subtest: should generate boundary ok 3 - should generate boundary --- - duration_ms: 1.294608 + duration_ms: 1.10172 ... 1..3 ok 16 - \#_handleContentType --- - duration_ms: 2.609578 + duration_ms: 2.09764 type: 'suite' ... # Subtest: \#_generateBoundary # Subtest: should genereate boundary string ok 1 - should genereate boundary string --- - duration_ms: 0.423043 + duration_ms: 0.31912 ... 1..1 ok 17 - \#_generateBoundary --- - duration_ms: 0.616204 + duration_ms: 0.44944 type: 'suite' ... # Subtest: \#_encodeHeaderValue # Subtest: should do noting if possible ok 1 - should do noting if possible --- - duration_ms: 0.450283 + duration_ms: 0.42412 ... # Subtest: should encode non ascii characters ok 2 - should encode non ascii characters --- - duration_ms: 0.417243 + duration_ms: 0.31528 ... # Subtest: should format references ok 3 - should format references --- - duration_ms: 0.816005 + duration_ms: 0.68152 ... # Subtest: should format message-id ok 4 - should format message-id --- - duration_ms: 0.348202 + duration_ms: 0.26496 ... # Subtest: should format addresses ok 5 - should format addresses --- - duration_ms: 0.458563 + duration_ms: 0.35016 ... 1..5 ok 18 - \#_encodeHeaderValue --- - duration_ms: 2.845219 + duration_ms: 2.3212 type: 'suite' ... # Subtest: \#_convertAddresses # Subtest: should convert address object to a string ok 1 - should convert address object to a string --- - duration_ms: 0.932047 + duration_ms: 0.70372 ... # Subtest: should keep ascii name as is ok 2 - should keep ascii name as is --- - duration_ms: 0.421083 + duration_ms: 0.2946 ... # Subtest: should encode single quote ok 3 - should encode single quote --- - duration_ms: 0.389923 + duration_ms: 0.30344 ... # Subtest: should include name in quotes for special symbols ok 4 - should include name in quotes for special symbols --- - duration_ms: 0.428963 + duration_ms: 0.33404 ... # Subtest: should escape quotes ok 5 - should escape quotes --- - duration_ms: 0.408203 + duration_ms: 0.33872 ... # Subtest: should mime encode unicode names ok 6 - should mime encode unicode names --- - duration_ms: 0.496883 + duration_ms: 0.39768 ... 1..6 ok 19 - \#_convertAddresses --- - duration_ms: 3.494624 + duration_ms: 2.7184 type: 'suite' ... # Subtest: \#_generateMessageId # Subtest: should generate uuid-looking message-id ok 1 - should generate uuid-looking message-id --- - duration_ms: 0.541564 + duration_ms: 0.45092 ... 1..1 ok 20 - \#_generateMessageId --- - duration_ms: 0.702925 + duration_ms: 0.57664 type: 'suite' ... # Subtest: should use default header keys ok 21 - should use default header keys --- - duration_ms: 14.007737 + duration_ms: 12.25224 ... # Subtest: should use custom header keys ok 22 - should use custom header keys --- - duration_ms: 2.042374 + duration_ms: 1.91864 ... # Subtest: Attachment streaming # Subtest: should pipe URL as an attachment ok 1 - should pipe URL as an attachment --- - duration_ms: 322.923824 + duration_ms: 304.42544 ... # Subtest: should reject URL attachment ok 2 - should reject URL attachment --- - duration_ms: 4.479311 + duration_ms: 3.63256 ... # Subtest: should return an error on invalid url ok 3 - should return an error on invalid url --- - duration_ms: 5.74148 + duration_ms: 5.14508 ... # Subtest: should pipe file as an attachment ok 4 - should pipe file as an attachment --- - duration_ms: 12.040203 + duration_ms: 10.2682 ... # Subtest: should reject file as an attachment ok 5 - should reject file as an attachment --- - duration_ms: 2.83918 + duration_ms: 2.50016 ... # Subtest: should return an error on invalid file path ok 6 - should return an error on invalid file path --- - duration_ms: 3.157062 + duration_ms: 3.00484 ... # Subtest: should return a error for an errored stream ok 7 - should return a error for an errored stream --- - duration_ms: 104.815402 + duration_ms: 104.53808 ... # Subtest: should return a stream error ok 8 - should return a stream error --- - duration_ms: 103.288432 + duration_ms: 102.3634 ... 1..8 ok 23 - Attachment streaming --- - duration_ms: 560.5139 + duration_ms: 537.0016 type: 'suite' ... # Subtest: \#transform # Subtest: should pipe through provided stream ok 1 - should pipe through provided stream --- - duration_ms: 5.418157 + duration_ms: 5.19372 ... 1..1 ok 24 - \#transform --- - duration_ms: 5.90048 + duration_ms: 5.66012 type: 'suite' ... # Subtest: \#processFunc # Subtest: should pipe through provided process function ok 1 - should pipe through provided process function --- - duration_ms: 5.919481 + duration_ms: 5.7666 ... 1..1 ok 25 - \#processFunc --- - duration_ms: 6.399484 + duration_ms: 6.25624 type: 'suite' ... # Subtest: Raw content # Subtest: should return pregenerated content ok 1 - should return pregenerated content --- - duration_ms: 5.449077 + duration_ms: 5.34216 ... # Subtest: should return pregenerated content for a child node ok 2 - should return pregenerated content for a child node --- - duration_ms: 4.290709 + duration_ms: 3.95088 ... # Subtest: should return pregenerated content from a stream ok 3 - should return pregenerated content from a stream --- - duration_ms: 3.624105 + duration_ms: 3.15228 ... # Subtest: should catch error from a raw stream 1 ok 4 - should catch error from a raw stream 1 --- - duration_ms: 2.553458 + duration_ms: 2.43804 ... # Subtest: should catch error from a raw stream 2 ok 5 - should catch error from a raw stream 2 --- - duration_ms: 2.652338 + duration_ms: 2.3898 ... 1..5 ok 26 - Raw content --- - duration_ms: 19.659495 + duration_ms: 18.34808 type: 'suite' ... 1..26 ok 14 - MimeNode Tests --- - duration_ms: 811.471828 + duration_ms: 767.49636 type: 'suite' ... # Subtest: Quoted-Printable Tests @@ -3737,125 +3773,125 @@ # Subtest: shoud encode UTF-8 string to QP ok 1 - shoud encode UTF-8 string to QP --- - duration_ms: 2.106414 + duration_ms: 2.10412 ... # Subtest: shoud encode Buffer to QP ok 2 - shoud encode Buffer to QP --- - duration_ms: 0.493523 + duration_ms: 0.49312 ... 1..2 ok 1 - \#encode --- - duration_ms: 4.497631 + duration_ms: 4.47844 type: 'suite' ... # Subtest: \#wrap # Subtest: should wrap long QP encoded lines ok 1 - should wrap long QP encoded lines --- - duration_ms: 1.756692 + duration_ms: 1.50784 ... # Subtest: should wrap line ending with ok 2 - should wrap line ending with --- - duration_ms: 0.523364 + duration_ms: 0.46476 ... 1..2 ok 2 - \#wrap --- - duration_ms: 2.625618 + duration_ms: 2.31744 type: 'suite' ... # Subtest: QP Streams # Subtest: should transform incoming bytes to QP ok 1 - should transform incoming bytes to QP --- - duration_ms: 31.298335 + duration_ms: 30.53788 ... -# (node:942288) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. +# (node:345040) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. # (Use `node --trace-deprecation ...` to show where the warning was created) # Subtest: should transform incoming bytes to QP and back ok 2 - should transform incoming bytes to QP and back --- - duration_ms: 65.465211 + duration_ms: 63.84868 ... 1..2 ok 3 - QP Streams --- - duration_ms: 97.664233 + duration_ms: 95.25324 type: 'suite' ... 1..3 ok 15 - Quoted-Printable Tests --- - duration_ms: 106.841376 + duration_ms: 103.98948 type: 'suite' ... # Subtest: Sendmail Windows Newlines # Subtest: should rewrite all linebreaks (byte by byte) ok 1 - should rewrite all linebreaks (byte by byte) --- - duration_ms: 18.250885 + duration_ms: 15.96292 ... # Subtest: should rewrite all linebreaks (all at once) ok 2 - should rewrite all linebreaks (all at once) --- - duration_ms: 1.908573 + duration_ms: 1.83208 ... 1..2 ok 16 - Sendmail Windows Newlines --- - duration_ms: 23.13128 + duration_ms: 20.24492 type: 'suite' ... # Subtest: Sendmail Transport Tests # Subtest: Should expose version number ok 1 - Should expose version number --- - duration_ms: 2.038934 + duration_ms: 1.96896 ... # Subtest: Should send message ok 2 - Should send message --- - duration_ms: 27.354508 + duration_ms: 25.38876 ... # Subtest: Should reject message ok 3 - Should reject message --- - duration_ms: 0.943087 + duration_ms: 0.8776 ... # Subtest: Should return an error ok 4 - Should return an error --- - duration_ms: 4.195349 + duration_ms: 3.87656 ... 1..4 ok 17 - Sendmail Transport Tests --- - duration_ms: 37.377938 + duration_ms: 34.83628 type: 'suite' ... # Subtest: SES Transport Tests # Subtest: should return MessageId ok 1 - should return MessageId --- - duration_ms: 45.00987 + duration_ms: 48.62472 ... # Subtest: should verify ses configuration ok 2 - should verify ses configuration --- - duration_ms: 2.854099 + duration_ms: 2.99 ... # Subtest: should sign message with DKIM, using AWS SES JavaScript SDK v2 ok 3 - should sign message with DKIM, using AWS SES JavaScript SDK v2 --- - duration_ms: 29.300522 + duration_ms: 30.05136 ... 1..3 ok 18 - SES Transport Tests --- - duration_ms: 80.480314 + duration_ms: 85.39772 type: 'suite' ... # Subtest: SMTP-Connection Tests @@ -3863,12 +3899,12 @@ # Subtest: Should expose version number ok 1 - Should expose version number --- - duration_ms: 7.376131 + duration_ms: 7.23384 ... 1..1 ok 1 - Version test --- - duration_ms: 8.539819 + duration_ms: 8.39456 type: 'suite' ... # Failed to resolve IPv4 addresses with current network @@ -3876,379 +3912,379 @@ # Subtest: should connect to unsecure server ok 1 - should connect to unsecure server --- - duration_ms: 136.272098 + duration_ms: 145.1956 ... -# (node:942326) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification. +# (node:345076) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification. # (Use `node --trace-warnings ...` to show where the warning was created) # Subtest: should connect to a server and upgrade with STARTTLS ok 2 - should connect to a server and upgrade with STARTTLS --- - duration_ms: 174.617883 + duration_ms: 198.66856 ... # Subtest: should connect and be rejected ok 3 - should connect and be rejected --- - duration_ms: 131.867988 + duration_ms: 134.50364 ... # Subtest: should connect to a server and upgrade with forced STARTTLS ok 4 - should connect to a server and upgrade with forced STARTTLS --- - duration_ms: 161.946915 + duration_ms: 170.98388 ... # Subtest: should connect to a server and try to upgrade STARTTLS ok 5 - should connect to a server and try to upgrade STARTTLS --- - duration_ms: 110.37276 + duration_ms: 118.1508 ... # Subtest: should try upgrade with STARTTLS where not advertised ok 6 - should try upgrade with STARTTLS where not advertised --- - duration_ms: 116.27636 + duration_ms: 113.49156 ... # Subtest: should close connection after STARTTLS ok 7 - should close connection after STARTTLS --- - duration_ms: 178.287788 + duration_ms: 172.59152 ... # Subtest: should connect to a secure server ok 8 - should connect to a secure server --- - duration_ms: 133.927002 + duration_ms: 134.53612 ... # Subtest: should emit error for invalid port ok 9 - should emit error for invalid port --- - duration_ms: 10.383072 + duration_ms: 10.37 ... # Subtest: should emit error for too large port ok 10 - should emit error for too large port --- - duration_ms: 4.511311 + duration_ms: 4.472 ... # Subtest: should emit inactivity timeout error ok 11 - should emit inactivity timeout error --- - duration_ms: 107.911823 + duration_ms: 106.87264 ... # Subtest: should connect through proxy ok 12 - should connect through proxy --- - duration_ms: 174.583603 + duration_ms: 180.78652 ... -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] Resolved localhost as localhost [cache hit] +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] Resolved localhost as localhost [cache hit] # Subtest: should connect through proxy to secure server ok 13 - should connect through proxy to secure server --- - duration_ms: 126.667072 + duration_ms: 138.1214 ... -# [2025-10-28 05:39:23] INFO [qptt9tyqxNM] Connection established to 127.0.0.1:8400 -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 220 codethink04-arm64 ESMTP -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] C: EHLO [127.0.0.1] -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 250-codethink04-arm64 Nice to meet you, localhost.localdomain -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 250-PIPELINING -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 250-8BITMIME -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 250 SMTPUTF8 -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] SMTP handshake finished -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] C: MAIL FROM: -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 250 Accepted -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] C: RCPT TO: -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 250 Accepted -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] C: DATA -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 354 End data with . -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] Copyright (c) 2011-2023 Andris Reinman -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] Permission is hereby granted, free of charge, to any person obtaining a copy -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] of this software and associated documentation files (the "Software"), to deal -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] in the Software without restriction, including without limitation the rights -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] copies of the Software, and to permit persons to whom the Software is -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] furnished to do so, subject to the following conditions: -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] SOFTWARE. -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] . -# [2025-10-28 05:39:23] INFO [qptt9tyqxNM] <954 bytes encoded mime message (source size 935 bytes)> -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] S: 250 OK: message queued -# [2025-10-28 05:39:23] DEBUG [qptt9tyqxNM] Closing connection to the server using "end" +# [2026-11-30 12:04:38] INFO [AVnsxu2g050] Connection established to 127.0.0.1:8400 +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 220 i-capture-the-hostname ESMTP +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] C: EHLO [127.0.0.1] +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 250-i-capture-the-hostname Nice to meet you, localhost.localdomain +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 250-PIPELINING +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 250-8BITMIME +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 250 SMTPUTF8 +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] SMTP handshake finished +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] C: MAIL FROM: +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 250 Accepted +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] C: RCPT TO: +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 250 Accepted +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] C: DATA +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 354 End data with . +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] Copyright (c) 2011-2023 Andris Reinman +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] Permission is hereby granted, free of charge, to any person obtaining a copy +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] of this software and associated documentation files (the "Software"), to deal +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] in the Software without restriction, including without limitation the rights +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] copies of the Software, and to permit persons to whom the Software is +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] furnished to do so, subject to the following conditions: +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] SOFTWARE. +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] . +# [2026-11-30 12:04:38] INFO [AVnsxu2g050] <954 bytes encoded mime message (source size 935 bytes)> +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] S: 250 OK: message queued +# [2026-11-30 12:04:38] DEBUG [AVnsxu2g050] Closing connection to the server using "end" # Subtest: should send to unsecure server ok 14 - should send to unsecure server --- - duration_ms: 193.11169 + duration_ms: 191.32584 ... 1..14 ok 2 - Connection tests --- - duration_ms: 1797.157216 + duration_ms: 1853.5988 type: 'suite' ... -# [2025-10-28 05:39:23] INFO [qptt9tyqxNM] Connection closed +# [2026-11-30 12:04:38] INFO [AVnsxu2g050] Connection closed # Subtest: Login tests # Subtest: should login ok 1 - should login --- - duration_ms: 229.644061 + duration_ms: 229.59304 ... # Subtest: should return error for invalid login ok 2 - should return error for invalid login --- - duration_ms: 220.308038 + duration_ms: 221.52008 ... # Subtest: should return error for missing credentials ok 3 - should return error for missing credentials --- - duration_ms: 223.450219 + duration_ms: 223.5876 ... # Subtest: should return error for incomplete credentials ok 4 - should return error for incomplete credentials --- - duration_ms: 220.497158 + duration_ms: 221.1358 ... # Subtest: xoauth2 login # Subtest: should login with xoauth2 string ok 1 - should login with xoauth2 string --- - duration_ms: 230.000184 + duration_ms: 229.3972 ... # Subtest: should return error for invalid xoauth2 string token ok 2 - should return error for invalid xoauth2 string token --- - duration_ms: 225.653594 + duration_ms: 243.90856 ... # Subtest: should login with xoauth2 object ok 3 - should login with xoauth2 object --- - duration_ms: 259.594148 + duration_ms: 235.30296 ... # Subtest: should fail with xoauth2 object ok 4 - should fail with xoauth2 object --- - duration_ms: 235.321101 + duration_ms: 232.372 ... # Subtest: should fail with invalid xoauth2 response ok 5 - should fail with invalid xoauth2 response --- - duration_ms: 235.486422 + duration_ms: 214.75988 ... 1..5 ok 5 - xoauth2 login --- - duration_ms: 1187.915541 + duration_ms: 1157.0662 type: 'suite' ... # Subtest: custom login # Subtest: should login ok 1 - should login --- - duration_ms: 329.336828 + duration_ms: 316.093 ... # Subtest: should login without pass ok 2 - should login without pass --- - duration_ms: 321.402173 + duration_ms: 326.19048 ... 1..2 ok 6 - custom login --- - duration_ms: 651.393606 + duration_ms: 642.78092 type: 'suite' ... # Subtest: Send without PIPELINING # Subtest: should send only to valid recipients without PIPELINING ok 1 - should send only to valid recipients without PIPELINING --- - duration_ms: 380.007777 + duration_ms: 392.378 ... 1..1 ok 7 - Send without PIPELINING --- - duration_ms: 380.658981 + duration_ms: 392.97028 type: 'suite' ... # Subtest: Send messages # Subtest: should send message ok 1 - should send message --- - duration_ms: 271.004026 + duration_ms: 283.57284 ... # Subtest: should send multiple messages ok 2 - should send multiple messages --- - duration_ms: 312.464391 + duration_ms: 317.47424 ... # Subtest: should send only to valid recipients ok 3 - should send only to valid recipients --- - duration_ms: 307.316116 + duration_ms: 315.83404 ... # Subtest: should reject all recipients ok 4 - should reject all recipients --- - duration_ms: 258.165177 + duration_ms: 265.42692 ... # Subtest: should reject too large SIZE arguments ok 5 - should reject too large SIZE arguments --- - duration_ms: 213.553831 + duration_ms: 210.09824 ... # Subtest: should reject too large message ok 6 - should reject too large message --- - duration_ms: 219.016988 + duration_ms: 211.49004 ... # Subtest: should declare SIZE ok 7 - should declare SIZE --- - duration_ms: 263.761296 + duration_ms: 260.63184 ... # Subtest: lmtp should send only to valid recipients ok 8 - lmtp should send only to valid recipients --- - duration_ms: 351.711502 + duration_ms: 348.88844 ... # Subtest: should send using SMTPUTF8 ok 9 - should send using SMTPUTF8 --- - duration_ms: 308.440164 + duration_ms: 312.33988 ... # Subtest: should send using 8BITMIME ok 10 - should send using 8BITMIME --- - duration_ms: 308.807606 + duration_ms: 300.33568 ... # Subtest: should receive error for 8-bit content without 8BITMIME declaration ok 11 - should receive error for 8-bit content without 8BITMIME declaration --- - duration_ms: 302.352522 + duration_ms: 304.51176 ... # Subtest: should return error for invalidly formatted recipients ok 12 - should return error for invalidly formatted recipients --- - duration_ms: 223.447178 + duration_ms: 217.28184 ... # Subtest: should return error for no valid recipients ok 13 - should return error for no valid recipients --- - duration_ms: 259.754549 + duration_ms: 261.63512 ... # Subtest: should return error for invalid sender ok 14 - should return error for invalid sender --- - duration_ms: 217.664139 + duration_ms: 230.50956 ... # Subtest: should send message string ok 15 - should send message string --- - duration_ms: 227.88685 + duration_ms: 238.2614 ... # Subtest: should send message buffer ok 16 - should send message buffer --- - duration_ms: 214.110915 + duration_ms: 251.96012 ... # Subtest: should send message stream ok 17 - should send message stream --- - duration_ms: 264.008538 + duration_ms: 265.8994 ... 1..17 ok 8 - Send messages --- - duration_ms: 4526.667612 + duration_ms: 4598.95108 type: 'suite' ... 1..8 ok 3 - Login tests --- - duration_ms: 7644.240682 + duration_ms: 7690.8352 type: 'suite' ... 1..3 ok 19 - SMTP-Connection Tests --- - duration_ms: 9452.651534 + duration_ms: 9555.46228 type: 'suite' ... # Subtest: SMTP Pool Tests # Subtest: Should expose version number ok 1 - Should expose version number --- - duration_ms: 31.817419 + duration_ms: 36.9918 ... # Subtest: Should detect wellknown data ok 2 - Should detect wellknown data --- - duration_ms: 9.286504 + duration_ms: 9.91512 ... # Failed to resolve IPv4 addresses with current network # Subtest: should send mail ok 3 - should send mail --- - duration_ms: 159.888701 + duration_ms: 227.04088 ... # Subtest: should send multiple mails ok 4 - should send multiple mails --- - duration_ms: 1560.806029 + duration_ms: 1505.20708 ... # Subtest: should tolerate connection errors ok 5 - should tolerate connection errors --- - duration_ms: 1692.462575 + duration_ms: 1816.335 ... # Subtest: should tolerate idle connections and re-assign messages to other connections ok 6 - should tolerate idle connections and re-assign messages to other connections --- - duration_ms: 2158.654066 + duration_ms: 2004.54732 ... # Subtest: should call back with connection errors to senders having messages in flight ok 7 - should call back with connection errors to senders having messages in flight --- - duration_ms: 334.196221 + duration_ms: 323.34824 ... # Subtest: should not send more then allowed for one connection ok 8 - should not send more then allowed for one connection --- - duration_ms: 6000.196039 + duration_ms: 5511.85492 ... # Subtest: should send multiple mails with rate limit ok 9 - should send multiple mails with rate limit --- - duration_ms: 26437.936536 + duration_ms: 25757.75376 ... # Subtest: should return pending messages once closed ok 10 - should return pending messages once closed --- - duration_ms: 14.757781 + duration_ms: 7.68516 ... # Subtest: should emit idle for free slots in the pool ok 11 - should emit idle for free slots in the pool --- - duration_ms: 20297.389728 + duration_ms: 20257.08836 ... # Subtest: Should login and send mail using proxied socket ok 12 - Should login and send mail using proxied socket --- - duration_ms: 113.880144 + duration_ms: 115.53576 ... # Subtest: Should verify connection with success ok 13 - Should verify connection with success --- - duration_ms: 112.717456 + duration_ms: 107.88068 ... # Subtest: Should not verify connection ok 14 - Should not verify connection --- - duration_ms: 7.251969 + duration_ms: 5.77596 ... 1..14 ok 20 - SMTP Pool Tests --- - duration_ms: 58936.431085 + duration_ms: 57692.601 type: 'suite' ... # Subtest: SMTP Transport Tests @@ -4256,234 +4292,234 @@ # Subtest: Should expose version number ok 1 - Should expose version number --- - duration_ms: 29.694485 + duration_ms: 31.51636 ... # Subtest: Should detect wellknown data ok 2 - Should detect wellknown data --- - duration_ms: 9.920188 + duration_ms: 10.35084 ... # Failed to resolve IPv4 addresses with current network # Subtest: Should fail envelope ok 3 - Should fail envelope --- - duration_ms: 153.642978 + duration_ms: 141.99696 ... # Subtest: Should not fail auth ok 4 - Should not fail auth --- - duration_ms: 175.903571 + duration_ms: 167.14104 ... # Subtest: Should fail auth if forceAuth=true ok 5 - Should fail auth if forceAuth=true --- - duration_ms: 122.718645 + duration_ms: 113.09484 ... # Subtest: Should send mail ok 6 - Should send mail --- - duration_ms: 147.764017 + duration_ms: 131.73444 ... # Subtest: Should recover unexpeced close during transmission ok 7 - Should recover unexpeced close during transmission --- - duration_ms: 288.611347 + duration_ms: 284.3276 ... # Subtest: Should verify connection without credentials with success ok 8 - Should verify connection without credentials with success --- - duration_ms: 121.194314 + duration_ms: 115.29672 ... 1..8 ok 1 - Anonymous sender tests --- - duration_ms: 1052.588208 + duration_ms: 997.85016 type: 'suite' ... # Subtest: Authenticated sender tests # Subtest: Should login and send mail ok 1 - Should login and send mail --- - duration_ms: 128.826007 + duration_ms: 120.03608 ... # Subtest: Should verify connection with success ok 2 - Should verify connection with success --- - duration_ms: 116.919846 + duration_ms: 111.76176 ... # Subtest: Should verify connection without credentials with success ok 3 - Should verify connection without credentials with success --- - duration_ms: 115.208593 + duration_ms: 117.20028 ... # Subtest: Should not verify connection without credentials ok 4 - Should not verify connection without credentials --- - duration_ms: 113.916824 + duration_ms: 110.79004 ... # Subtest: Should not verify connection ok 5 - Should not verify connection --- - duration_ms: 9.698747 + duration_ms: 6.97232 ... # Subtest: Should login and send mail using proxied socket ok 6 - Should login and send mail using proxied socket --- - duration_ms: 126.754313 + duration_ms: 122.53168 ... 1..6 ok 2 - Authenticated sender tests --- - duration_ms: 613.457384 + duration_ms: 590.49896 type: 'suite' ... 1..2 ok 21 - SMTP Transport Tests --- - duration_ms: 1669.140733 + duration_ms: 1591.00128 type: 'suite' ... # Subtest: Stream Transport Tests # Subtest: Should expose version number ok 1 - Should expose version number --- - duration_ms: 2.353096 + duration_ms: 1.868 ... # Subtest: Send as stream # Subtest: Should send mail using unix newlines 1 ok 1 - Should send mail using unix newlines 1 --- - duration_ms: 29.329122 + duration_ms: 25.9128 ... # Subtest: Should send mail using unix newlines 2 ok 2 - Should send mail using unix newlines 2 --- - duration_ms: 6.611565 + duration_ms: 6.08984 ... # Subtest: Should send mail using windows newlines ok 3 - Should send mail using windows newlines --- - duration_ms: 6.965328 + duration_ms: 6.63096 ... 1..3 ok 2 - Send as stream --- - duration_ms: 44.021023 + duration_ms: 40.5072 type: 'suite' ... # Subtest: Send as buffer # Subtest: Should send mail using unix newlines ok 1 - Should send mail using unix newlines --- - duration_ms: 7.24185 + duration_ms: 6.58052 ... # Subtest: Should send mail using windows newlines ok 2 - Should send mail using windows newlines --- - duration_ms: 4.749033 + duration_ms: 4.62784 ... 1..2 ok 3 - Send as buffer --- - duration_ms: 12.742328 + duration_ms: 11.77552 type: 'suite' ... 1..3 ok 22 - Stream Transport Tests --- - duration_ms: 62.561551 + duration_ms: 57.30328 type: 'suite' ... # Subtest: XOAuth2 tests # Subtest: should get an existing access token ok 1 - should get an existing access token --- - duration_ms: 13.992137 + duration_ms: 12.65536 ... # Subtest: should convert access token to XOAuth2 token ok 2 - should convert access token to XOAuth2 token --- - duration_ms: 3.421344 + duration_ms: 4.9418 ... # Subtest: should get an existing access token, no timeout ok 3 - should get an existing access token, no timeout --- - duration_ms: 2.665418 + duration_ms: 2.58644 ... # Subtest: should generate a fresh access token ok 4 - should generate a fresh access token --- - duration_ms: 43.940582 + duration_ms: 45.73352 ... # Subtest: should generate a fresh access token with custom method ok 5 - should generate a fresh access token with custom method --- - duration_ms: 2.602778 + duration_ms: 2.92572 ... # Subtest: should fail generating a fresh access token with custom method ok 6 - should fail generating a fresh access token with custom method --- - duration_ms: 2.679858 + duration_ms: 2.78812 ... # Subtest: should generate a fresh access token after timeout ok 7 - should generate a fresh access token after timeout --- - duration_ms: 3027.634528 + duration_ms: 3018.92612 ... # Subtest: should emit access token update ok 8 - should emit access token update --- - duration_ms: 22.395514 + duration_ms: 11.1124 ... # Subtest: should sign payload ok 9 - should sign payload --- - duration_ms: 22.210153 + duration_ms: 10.22952 ... # Subtest: should handle concurrent token requests ok 10 - should handle concurrent token requests --- - duration_ms: 26.819705 + duration_ms: 20.93548 ... # Subtest: should propagate renewal errors to all concurrent requests ok 11 - should propagate renewal errors to all concurrent requests --- - duration_ms: 19.286493 + duration_ms: 15.929 ... # Subtest: should handle sequential token requests with varying tokens ok 12 - should handle sequential token requests with varying tokens --- - duration_ms: 930.034244 + duration_ms: 1019.0388 ... # Subtest: should reuse existing token when no refresh mechanism is available ok 13 - should reuse existing token when no refresh mechanism is available --- - duration_ms: 1.813492 + duration_ms: 3.25604 ... # Subtest: should return error when no token exists and no refresh mechanism ok 14 - should return error when no token exists and no refresh mechanism --- - duration_ms: 2.098814 + duration_ms: 4.56068 ... # Subtest: should attempt renewal when refresh mechanism is available ok 15 - should attempt renewal when refresh mechanism is available --- - duration_ms: 1.901453 + duration_ms: 3.91924 ... # Subtest: should use provisionCallback when available instead of refresh ok 16 - should use provisionCallback when available instead of refresh --- - duration_ms: 1.602771 + duration_ms: 3.11244 ... # Subtest: should use serviceClient when available for token generation ok 17 - should use serviceClient when available for token generation --- - duration_ms: 1.579451 + duration_ms: 2.68152 ... 1..17 ok 23 - XOAuth2 tests --- - duration_ms: 4132.527056 + duration_ms: 4191.70232 type: 'suite' ... 1..23 @@ -4494,7 +4530,7 @@ # cancelled 0 # skipped 0 # todo 0 -# duration_ms 86009.082755 +# duration_ms 83439.18524 Removing node_modules/base32.js Removing node_modules/encoding-japanese Removing node_modules/ipv6-normalize @@ -4653,12 +4689,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/317858/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/317858/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/928273 and its subdirectories -I: Current time: Mon Oct 27 17:40:43 -12 2025 -I: pbuilder-time-stamp: 1761630043 +I: removing directory /srv/workspace/pbuilder/317858 and its subdirectories +I: Current time: Tue Dec 1 02:05:55 +14 2026 +I: pbuilder-time-stamp: 1796040355