Diff of the two buildlogs: -- --- b1/build.log 2025-01-16 14:13:39.215219719 +0000 +++ b2/build.log 2025-01-16 14:18:45.793383096 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Jan 16 02:09:48 -12 2025 -I: pbuilder-time-stamp: 1737036588 +I: Current time: Fri Jan 17 04:13:51 +14 2025 +I: pbuilder-time-stamp: 1737036831 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -30,52 +30,84 @@ dpkg-source: info: applying fix-test-for-tape-5.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/30973/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/14449/tmp/hooks/D01_modify_environment starting +debug: Running on wbq0. +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 Jan 16 14:14 /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/14449/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/14449/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='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='armhf' + 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]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='bb0af94ae3e5465d970925f061c3ec0e' - 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='30973' - PS1='# ' - PS2='> ' + INVOCATION_ID=00d33405f151480b8861a683ee538682 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=14449 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.PZT4Ai3V/pbuilderrc_bE5Q --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.PZT4Ai3V/b1 --logfile b1/build.log node-proxyquire_2.1.3+~1.0.1+~1.0.2-12.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.PZT4Ai3V/pbuilderrc_aSWT --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.PZT4Ai3V/b2 --logfile b2/build.log node-proxyquire_2.1.3+~1.0.1+~1.0.2-12.dsc' + SUDO_GID=113 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt64c 6.1.0-30-arm64 #1 SMP Debian 6.1.124-1 (2025-01-12) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-30-armmp #1 SMP Debian 6.1.124-1 (2025-01-12) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/30973/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/14449/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -444,7 +476,7 @@ Get: 313 http://deb.debian.org/debian unstable/main armhf node-should all 13.2.3~dfsg-7 [50.0 kB] Get: 314 http://deb.debian.org/debian unstable/main armhf pandoc-data all 3.1.11.1-3 [459 kB] Get: 315 http://deb.debian.org/debian unstable/main armhf pandoc armhf 3.1.11.1+ds-2 [32.7 MB] -Fetched 77.3 MB in 2s (45.1 MB/s) +Fetched 77.3 MB in 8s (9474 kB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (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 ... 19563 files and directories currently installed.) @@ -1725,7 +1757,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/node-proxyquire-2.1.3+~1.0.1+~1.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-proxyquire_2.1.3+~1.0.1+~1.0.2-12_source.changes +I: user script /srv/workspace/pbuilder/14449/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/14449/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/node-proxyquire-2.1.3+~1.0.1+~1.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-proxyquire_2.1.3+~1.0.1+~1.0.2-12_source.changes dpkg-buildpackage: info: source package node-proxyquire dpkg-buildpackage: info: source version 2.1.3+~1.0.1+~1.0.2-12 dpkg-buildpackage: info: source distribution unstable @@ -1853,73 +1889,73 @@ ln --force --symbolic ../../Xkeys debian/node_modules/fill-keys NODE_PATH=debian/node_modules \ find test -maxdepth 1 -type f -name '*.js' -not -path 'test/proxyquire-global.js' -exec mocha --reporter tap --no-config --no-opts --no-package --no-timeout --require should {} + -ok 1 when I require stubs with different extensions intercepts [] object -ok 2 when I require stubs with different extensions intercepts [] function -ok 3 when I require stubs with different extensions intercepts [.json] object -ok 4 when I require stubs with different extensions intercepts [.node] object -ok 5 When resolving foo that requires stubbed /not/existing/bar.json throws an error -ok 6 When resolving foo that requires stubbed /not/existing/bar.json with @noCallThru resolves foo with stubbed bar -ok 7 When resolving foo that requires stubbed /not/existing/bar.json with noCallThru() resolves foo with stubbed bar -ok 8 When resolving foo-relative that requires relative stubbed ../not/existing/bar.json with @noCallThru resolves foo-relative with stubbed bar -ok 9 Multiple requires of same module don't affect each other Given I require foo stubbed with bar1 as foo1 and foo stubbed with bar2 as foo2 foo1.bigBar() == "BAR1" -ok 10 Multiple requires of same module don't affect each other Given I require foo stubbed with bar1 as foo1 and foo stubbed with bar2 as foo2 foo2.bigBar() == "BAR2" -ok 11 Multiple requires of same module don't affect each other Given I require foo stubbed with bar1 as foo1 and foo stubbed with bar2 as foo2 and I change bar1.bar() to return barone foo1.bigBar() == "BARONE" -ok 12 Multiple requires of same module don't affect each other Given I require foo stubbed with bar1 as foo1 and foo stubbed with bar2 as foo2 and I change bar1.bar() to return barone foo2.bigBar() == "BAR2" -ok 13 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. foo is required 2 times -ok 14 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. foo's bar is unchanged foo.bigBar() == "BAR" -ok 15 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. only stubbed modules have overrides in foober foober.bigBar() == "BARBER" -ok 16 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. only stubbed modules have overrides in foober foober.bigExt("/folder/test.ext") == ".EXT" -ok 17 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. only stubbed modules have overrides in foober foober.bigBas("/folder/test.ext") == "TEST.EXT" -ok 18 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. when I override keys of stubs after resolve overrides behavior when module is required inside function call -ok 19 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. when I override keys of stubs after resolve overrides behavior when module is required on top of file -ok 20 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. when I override keys of stubs after resolve and then delete overrides of stubs after resolve reverts to original behavior when module is required inside function call -ok 21 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. when I override keys of stubs after resolve and then delete overrides of stubs after resolve doesn't properly revert to original behavior when module is required on top of file -ok 22 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was not changed globally or for path module foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" -ok 23 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was not changed globally or for path module foo.bigBas(file) == "TEST.EXT" -ok 24 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru is turned off for path module foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" -ok 25 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru is turned off for path module foo.bigBas(file) throws -ok 26 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and not changed for path module foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" -ok 27 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and not changed for path module foo.bigBas(file) throws -ok 28 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and turned back on for path module foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" -ok 29 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and turned back on for path module foo.bigBas(file) == "TEST.EXT" -ok 30 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and turned back on globally foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" -ok 31 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and turned back on globally foo.bigBas(file) == "TEST.EXT" -ok 32 When requiring relative paths, they should be relative to the proxyrequired module should return the correct result -ok 33 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with boofber stub as boof. foo is required 1 times -ok 34 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with boofber stub as boof. foo's boof is boofber foo.boof == boofber -ok 35 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with foonumber stub as foonum. foo is required 1 times -ok 36 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with foonumber stub as foonum. foo's foonum is foonumber foo.foonum == foonumber -ok 37 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with fooboolber stub as foobool. foo is required 1 times -ok 38 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with fooboolber stub as foobool. foo's foobool is fooboolber foo.foobool == fooboolber -ok 39 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as fooarray. foo is required 1 times -ok 40 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as fooarray. foo's fooarray is fooarray foo.fooarray is fooarray -ok 41 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as empty. foo is required 1 times -ok 42 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as empty. foo's fooarray is the original foo.fooarray is empty -ok 43 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as empty with @noCallThru. foo is required 1 times -ok 44 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as empty with @noCallThru. foo's fooarray is empty foo.fooarray is empty -ok 45 Illegal parameters to resolve give meaningful errors when I pass no request throws an exception explaining that a request path must be provided -ok 46 Illegal parameters to resolve give meaningful errors when I pass an object as a request throws an exception explaining that request needs to be a requirable string -ok 47 Illegal parameters to resolve give meaningful errors when I pass no stubs throws an exception explaining that resolve without stubs makes no sense -ok 48 Illegal parameters to resolve give meaningful errors when I pass a string as stubs throws an exception explaining that stubs need to be an object -ok 49 Illegal parameters to resolve give meaningful errors when I pass an undefined stub throws an exception with the stub key +ok 1 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. foo is required 2 times +ok 2 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. foo's bar is unchanged foo.bigBar() == "BAR" +ok 3 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. only stubbed modules have overrides in foober foober.bigBar() == "BARBER" +ok 4 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. only stubbed modules have overrides in foober foober.bigExt("/folder/test.ext") == ".EXT" +ok 5 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. only stubbed modules have overrides in foober foober.bigBas("/folder/test.ext") == "TEST.EXT" +ok 6 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. when I override keys of stubs after resolve overrides behavior when module is required inside function call +ok 7 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. when I override keys of stubs after resolve overrides behavior when module is required on top of file +ok 8 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. when I override keys of stubs after resolve and then delete overrides of stubs after resolve reverts to original behavior when module is required inside function call +ok 9 Given foo requires the bar and path modules and bar.bar() returns "bar" When I resolve foo with no overrides to bar as foo and resolve foo with barber stub as foober. when I override keys of stubs after resolve and then delete overrides of stubs after resolve doesn't properly revert to original behavior when module is required on top of file +ok 10 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was not changed globally or for path module foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" +ok 11 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was not changed globally or for path module foo.bigBas(file) == "TEST.EXT" +ok 12 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru is turned off for path module foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" +ok 13 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru is turned off for path module foo.bigBas(file) throws +ok 14 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and not changed for path module foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" +ok 15 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and not changed for path module foo.bigBas(file) throws +ok 16 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and turned back on for path module foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" +ok 17 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and turned back on for path module foo.bigBas(file) == "TEST.EXT" +ok 18 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and turned back on globally foo.bigExt(file) == "OVERRIDE /FOLDER/TEST.EXT" +ok 19 Given foo requires the bar and path modules and bar.bar() returns "bar" When foo.bigExt() returns capitalized path.extname and foo.bigBas() returns capitalized path.basename and path.extname(file) is stubbed to return "override " + file and callThru was turned off globally and turned back on globally foo.bigBas(file) == "TEST.EXT" +ok 20 When requiring relative paths, they should be relative to the proxyrequired module should return the correct result +ok 21 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with boofber stub as boof. foo is required 1 times +ok 22 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with boofber stub as boof. foo's boof is boofber foo.boof == boofber +ok 23 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with foonumber stub as foonum. foo is required 1 times +ok 24 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with foonumber stub as foonum. foo's foonum is foonumber foo.foonum == foonumber +ok 25 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with fooboolber stub as foobool. foo is required 1 times +ok 26 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with fooboolber stub as foobool. foo's foobool is fooboolber foo.foobool == fooboolber +ok 27 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as fooarray. foo is required 1 times +ok 28 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as fooarray. foo's fooarray is fooarray foo.fooarray is fooarray +ok 29 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as empty. foo is required 1 times +ok 30 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as empty. foo's fooarray is the original foo.fooarray is empty +ok 31 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as empty with @noCallThru. foo is required 1 times +ok 32 Given foo requires the boof, foonum and foobool modules and boof is a string, foonum is a Number and foobool is a bool When I resolve foo with ./fooarray stub as empty with @noCallThru. foo's fooarray is empty foo.fooarray is empty +ok 33 When resolving foo that requires stubbed /not/existing/bar.json throws an error +ok 34 When resolving foo that requires stubbed /not/existing/bar.json with @noCallThru resolves foo with stubbed bar +ok 35 When resolving foo that requires stubbed /not/existing/bar.json with noCallThru() resolves foo with stubbed bar +ok 36 When resolving foo-relative that requires relative stubbed ../not/existing/bar.json with @noCallThru resolves foo-relative with stubbed bar +ok 37 When resolving foo that requires bar and stubbed baz where bar requires unstubbed baz does not stub baz in bar +ok 38 When resolving foo that requires bar and stubbed baz where bar requires unstubbed baz does not affect a normal baz import +ok 39 Multiple requires of same module don't affect each other Given I require foo stubbed with bar1 as foo1 and foo stubbed with bar2 as foo2 foo1.bigBar() == "BAR1" +ok 40 Multiple requires of same module don't affect each other Given I require foo stubbed with bar1 as foo1 and foo stubbed with bar2 as foo2 foo2.bigBar() == "BAR2" +ok 41 Multiple requires of same module don't affect each other Given I require foo stubbed with bar1 as foo1 and foo stubbed with bar2 as foo2 and I change bar1.bar() to return barone foo1.bigBar() == "BARONE" +ok 42 Multiple requires of same module don't affect each other Given I require foo stubbed with bar1 as foo1 and foo stubbed with bar2 as foo2 and I change bar1.bar() to return barone foo2.bigBar() == "BAR2" +ok 43 when I try to use compat mode should let me know that I need to fix my code or downgrade +ok 44 when I require stubs with different extensions intercepts [] object +ok 45 when I require stubs with different extensions intercepts [] function +ok 46 when I require stubs with different extensions intercepts [.json] object +ok 47 when I require stubs with different extensions intercepts [.node] object +ok 48 When resolving foo that requires nulled file package throws an error +ok 49 When resolving foo that optionally requires nulled crypto package catches when resolving crypto ok 50 api default export proxyquire can load ok 51 api default export proxyquire can callThru and then load ok 52 api default export proxyquire can noCallThru and then load -ok 53 when I try to use compat mode should let me know that I need to fix my code or downgrade -ok 54 Proxyquire load() defaults to preserving the cache -ok 55 Proxyquire load() does not pollute the cache when module is proxyquired before it is loaded -ok 56 Proxyquire preserveCache() returns a reference to itself, so it can be chained -ok 57 Proxyquire preserveCache() has Proxyquire restore the cache for the module -ok 58 Proxyquire preserveCache() allows Singletons to function properly -ok 59 Proxyquire noPreserveCache() returns a reference to itself, so it can be chained -ok 60 Proxyquire noPreserveCache() forces subsequent requires to reload the proxied module -ok 61 Proxyquire noPreserveCache() deletes the require.cache for the module being stubbed -ok 62 Proxyquire noPreserveCache() deletes the require.cache for the stubs -ok 63 Proxyquire noPreserveCache() silences errors when stub lookups fail -ok 64 When resolving foo that requires bar and stubbed baz where bar requires unstubbed baz does not stub baz in bar -ok 65 When resolving foo that requires bar and stubbed baz where bar requires unstubbed baz does not affect a normal baz import -ok 66 When resolving foo that requires nulled file package throws an error -ok 67 When resolving foo that optionally requires nulled crypto package catches when resolving crypto +ok 53 Illegal parameters to resolve give meaningful errors when I pass no request throws an exception explaining that a request path must be provided +ok 54 Illegal parameters to resolve give meaningful errors when I pass an object as a request throws an exception explaining that request needs to be a requirable string +ok 55 Illegal parameters to resolve give meaningful errors when I pass no stubs throws an exception explaining that resolve without stubs makes no sense +ok 56 Illegal parameters to resolve give meaningful errors when I pass a string as stubs throws an exception explaining that stubs need to be an object +ok 57 Illegal parameters to resolve give meaningful errors when I pass an undefined stub throws an exception with the stub key +ok 58 Proxyquire load() defaults to preserving the cache +ok 59 Proxyquire load() does not pollute the cache when module is proxyquired before it is loaded +ok 60 Proxyquire preserveCache() returns a reference to itself, so it can be chained +ok 61 Proxyquire preserveCache() has Proxyquire restore the cache for the module +ok 62 Proxyquire preserveCache() allows Singletons to function properly +ok 63 Proxyquire noPreserveCache() returns a reference to itself, so it can be chained +ok 64 Proxyquire noPreserveCache() forces subsequent requires to reload the proxied module +ok 65 Proxyquire noPreserveCache() deletes the require.cache for the module being stubbed +ok 66 Proxyquire noPreserveCache() deletes the require.cache for the stubs +ok 67 Proxyquire noPreserveCache() silences errors when stub lookups fail # tests 67 # pass 67 # fail 0 @@ -1986,12 +2022,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/14449/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/14449/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/30973 and its subdirectories -I: Current time: Thu Jan 16 02:13:34 -12 2025 -I: pbuilder-time-stamp: 1737036814 +I: removing directory /srv/workspace/pbuilder/14449 and its subdirectories +I: Current time: Fri Jan 17 04:18:41 +14 2025 +I: pbuilder-time-stamp: 1737037121