Thu Jun 27 07:46:37 UTC 2019 I: starting to build node-bluebird/buster/i386 on jenkins on '2019-06-27 07:46' Thu Jun 27 07:46:37 UTC 2019 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/i386_13/573/console.log Thu Jun 27 07:46:37 UTC 2019 I: Downloading source for buster/node-bluebird=3.5.1+dfsg2-2 --2019-06-27 07:46:37-- http://deb.debian.org/debian/pool/main/n/node-bluebird/node-bluebird_3.5.1+dfsg2-2.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 302 Found Location: http://cdn-fastly.deb.debian.org/debian/pool/main/n/node-bluebird/node-bluebird_3.5.1+dfsg2-2.dsc [following] --2019-06-27 07:46:38-- http://cdn-fastly.deb.debian.org/debian/pool/main/n/node-bluebird/node-bluebird_3.5.1+dfsg2-2.dsc Reusing existing connection to 78.137.99.97:3128. Proxy request sent, awaiting response... 200 OK Length: 2272 (2.2K) Saving to: ‘node-bluebird_3.5.1+dfsg2-2.dsc’ 0K .. 100% 11.5M=0s 2019-06-27 07:46:38 (11.5 MB/s) - ‘node-bluebird_3.5.1+dfsg2-2.dsc’ saved [2272/2272] Thu Jun 27 07:46:38 UTC 2019 I: node-bluebird_3.5.1+dfsg2-2.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: node-bluebird Binary: node-bluebird Architecture: all Version: 3.5.1+dfsg2-2 Maintainer: Debian Javascript Maintainers Uploaders: Ross Gammon , Hubert Chathi Homepage: https://github.com/petkaantonov/bluebird Standards-Version: 4.1.1 Vcs-Browser: https://salsa.debian.org/js-team/node-bluebird Vcs-Git: https://salsa.debian.org/js-team/node-bluebird.git Testsuite: autopkgtest Build-Depends: debhelper (>= 10), dh-buildinfo, nodejs (>= 6.11~), node-uglify, mocha, node-cross-spawn, node-cli-table, node-rimraf, node-optimist, node-acorn (>= 5.5), node-body-parser, node-co, node-glob, node-mkdirp, node-rx, node-serve-static, node-sinon Package-List: node-bluebird deb javascript optional arch=all Checksums-Sha1: a8d83f8b31258ef48f89dc57f8e40d2e67a452f5 153696 node-bluebird_3.5.1+dfsg2.orig.tar.gz fc9e506c63227fc2bdc17ebce5fda02bea4128c5 37860 node-bluebird_3.5.1+dfsg2-2.debian.tar.xz Checksums-Sha256: fc5e45c3d1affb672d79d1844f38a7967946a5a78bd784d3f343c5aa35a45b11 153696 node-bluebird_3.5.1+dfsg2.orig.tar.gz 48c927465218939c33ed7e8ca43cc2f99c4c647387ccb14b853ed815dd5d6738 37860 node-bluebird_3.5.1+dfsg2-2.debian.tar.xz Files: 335c1fb7f03df9241f4888b0d009b485 153696 node-bluebird_3.5.1+dfsg2.orig.tar.gz 2a4abaeb76148b6c62c04fb388f269af 37860 node-bluebird_3.5.1+dfsg2-2.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJa7tZeAAoJEHM+a/k86PbZhPcP/20SiH8IIRTBHa7m1ikODsPk RHKxZhN5IWcWLZov21fdsmLdhvMIQVWsxpCGjShDFY/tauq9fz7/OBTnvkc3HB4f 4y1BNleNY+R+ypbgaF2KcnNXWYONeFAwbEwenPDLuuZOnsW3mJBGuTtIzD8M8pei AIQ6yLYef3VmsnA2xq65G2MAVdCPEjY4MBnfiN8ZX0t8GBBy0MwvP4UzPaaySZ5E /8OqbZ6VE/iJTKOf8z59C2311VDKLuLb8tXYaxdO4alk/ePXYfigh59P7N9T6R6A /BknuiinGKwF/eX7HB4tP5RQwPyYRQ8wKIpmAUrk38s/oT6Kr33YliimE/mUM5Lm e1Iwfpaip2zd7TuEY2QeT9ZMlIC9sCPrZxU3KWH5j8u50xRmDTQIN/B2YSVloj4t /Bkd70ot/mze32dd82PNEEv2MFr+hQhbkIgQGS9iT+DLLKofWi3lH9axWUNMMDlU /K9QB5uPIICBnnZYCBRPNoMNtNwSWOfItFkKgeaRYWbuJ5IDoiXEKKpRb/JFY9vQ TUefB/sf1UEh48wnL07sc4dXldl694S2aDLdfyrtdQEYv2sNHT6SJjF4QMpRGxSQ k4cWUR4u5GjgVOVjhpuSYsHSJ+94n5z8I+NjnMp+1/GkAfZKt4uFkBq0VQi8bTGb nXz8XI2nr0KMTJ6Jd3KA =Rv7z -----END PGP SIGNATURE----- Thu Jun 27 07:46:38 UTC 2019 I: Checking whether the package is not for us Thu Jun 27 07:46:38 UTC 2019 I: Starting 1st build on remote node profitbricks-build12-i386.debian.net. Thu Jun 27 07:46:38 UTC 2019 I: Preparing to do remote build '1' on profitbricks-build12-i386.debian.net. Thu Jun 27 08:03:44 UTC 2019 I: Deleting $TMPDIR on profitbricks-build12-i386.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Wed Jun 26 19:46:40 -12 2019 I: pbuilder-time-stamp: 1561621600 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [node-bluebird_3.5.1+dfsg2-2.dsc] I: copying [./node-bluebird_3.5.1+dfsg2.orig.tar.gz] I: copying [./node-bluebird_3.5.1+dfsg2-2.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error gpgv: Signature made Sat May 5 22:18:06 2018 -12 gpgv: using RSA key 733E6BF93CE8F6D9 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./node-bluebird_3.5.1+dfsg2-2.dsc dpkg-source: info: extracting node-bluebird in node-bluebird-3.5.1+dfsg2 dpkg-source: info: unpacking node-bluebird_3.5.1+dfsg2.orig.tar.gz dpkg-source: info: unpacking node-bluebird_3.5.1+dfsg2-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying walk.patch dpkg-source: info: applying fix_root_dir.patch I: using fakeroot in build. I: Installing the build-deps -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper (>= 10), dh-buildinfo, nodejs (>= 6.11~), node-uglify, mocha, node-cross-spawn, node-cli-table, node-rimraf, node-optimist, node-acorn (>= 5.5), node-body-parser, node-co, node-glob, node-mkdirp, node-rx, node-serve-static, node-sinon dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19231 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper (>= 10); however: Package debhelper is not installed. pbuilder-satisfydepends-dummy depends on dh-buildinfo; however: Package dh-buildinfo is not installed. pbuilder-satisfydepends-dummy depends on nodejs (>= 6.11~); however: Package nodejs is not installed. pbuilder-satisfydepends-dummy depends on node-uglify; however: Package node-uglify is not installed. pbuilder-satisfydepends-dummy depends on mocha; however: Package mocha is not installed. pbuilder-satisfydepends-dummy depends on node-cross-spawn; however: Package node-cross-spawn is not installed. pbuilder-satisfydepends-dummy depends on node-cli-table; however: Package node-cli-table is not installed. pbuilder-satisfydepends-dummy depends on node-rimraf; however: Package node-rimraf is not installed. pbuilder-satisfydepends-dummy depends on node-optimist; however: Package node-optimist is not installed. pbuilder-satisfydepends-dummy depends on node-acorn (>= 5.5); however: Package node-acorn is not installed. pbuilder-satisfydepends-dummy depends on node-body-parser; however: Package node-body-parser is not installed. pbuilder-satisfydepends-dummy depends on node-co; however: Package node-co is not installed. pbuilder-satisfydepends-dummy depends on node-glob; however: Package node-glob is not installed. pbuilder-satisfydepends-dummy depends on node-mkdirp; however: Package node-mkdirp is not installed. pbuilder-satisfydepends-dummy depends on node-rx; however: Package node-rx is not installed. pbuilder-satisfydepends-dummy depends on node-serve-static; however: Package node-serve-static is not installed. pbuilder-satisfydepends-dummy depends on node-sinon; however: Package node-sinon is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdmainutils{a} debhelper{a} dh-autoreconf{a} dh-buildinfo{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} hicolor-icon-theme{a} intltool-debian{a} libarchive-zip-perl{a} libbsd0{a} libc-ares2{a} libcroco3{a} libelf1{a} libfile-stripnondeterminism-perl{a} libgdk-pixbuf2.0-0{a} libgdk-pixbuf2.0-common{a} libglib2.0-0{a} libicu63{a} libjbig0{a} libjpeg62-turbo{a} libjs-inherits{a} libjs-util{a} libmagic-mgc{a} libmagic1{a} libncurses6{a} libnghttp2-14{a} libnode64{a} libnotify-bin{a} libnotify4{a} libpipeline1{a} libpng16-16{a} libsigsegv2{a} libssl1.1{a} libtiff5{a} libtool{a} libuchardet0{a} libuv1{a} libwebp6{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb1{a} libxdmcp6{a} libxml2{a} m4{a} man-db{a} mocha{a} node-acorn{a} node-ansi-regex{a} node-ansi-styles{a} node-balanced-match{a} node-body-parser{a} node-brace-expansion{a} node-browser-stdout{a} node-bytes{a} node-camelcase{a} node-cli-table{a} node-cliui{a} node-clone{a} node-co{a} node-color-convert{a} node-color-name{a} node-colors{a} node-commander{a} node-concat-map{a} node-content-type{a} node-crc{a} node-cross-spawn{a} node-debug{a} node-decamelize{a} node-defaults{a} node-depd{a} node-diff{a} node-encodeurl{a} node-escape-html{a} node-escape-string-regexp{a} node-etag{a} node-execa{a} node-find-up{a} node-formatio{a} node-fresh{a} node-fs.realpath{a} node-get-caller-file{a} node-get-stream{a} node-glob{a} node-growl{a} node-has-flag{a} node-he{a} node-http-errors{a} node-iconv{a} node-inflight{a} node-inherits{a} node-invert-kv{a} node-is-stream{a} node-isexe{a} node-lcid{a} node-locate-path{a} node-lolex{a} node-lru-cache{a} node-media-typer{a} node-mem{a} node-mime-types{a} node-mimic-fn{a} node-minimatch{a} node-minimist{a} node-mkdirp{a} node-ms{a} node-npm-run-path{a} node-on-finished{a} node-once{a} node-optimist{a} node-os-locale{a} node-p-finally{a} node-p-limit{a} node-p-locate{a} node-parseurl{a} node-path-exists{a} node-path-is-absolute{a} node-qs{a} node-range-parser{a} node-raw-body{a} node-require-directory{a} node-require-main-filename{a} node-rimraf{a} node-rx{a} node-samsam{a} node-send{a} node-serve-static{a} node-set-blocking{a} node-setprototypeof{a} node-shebang-command{a} node-shebang-regex{a} node-signal-exit{a} node-sinon{a} node-statuses{a} node-string-width{a} node-strip-ansi{a} node-strip-eof{a} node-supports-color{a} node-toidentifier{a} node-type-is{a} node-uglify{a} node-unpipe{a} node-util{a} node-utils-merge{a} node-wcwidth.js{a} node-which{a} node-which-module{a} node-wordwrap{a} node-wrap-ansi{a} node-wrappy{a} node-xtend{a} node-y18n{a} node-yallist{a} node-yargs{a} node-yargs-parser{a} nodejs{a} oxygen-icon-theme{a} po-debconf{a} sensible-utils{a} shared-mime-info{a} The following packages are RECOMMENDED but will NOT be installed: awesome ca-certificates cinnamon curl dunst gnome-flashback gnome-shell javascript-common libarchive-cpio-perl libgdk-pixbuf2.0-bin libglib2.0-data libgpm2 libltdl-dev libmail-sendmail-perl lxqt-notificationd lynx mate-notification-daemon node-graceful-fs node-source-map nodejs-doc notification-daemon notify-osd plasma-workspace python-jarabe wget xdg-user-dirs xfce4-notifyd 0 packages upgraded, 169 newly installed, 0 to remove and 0 not upgraded. Need to get 63.4 MB of archives. After unpacking 162 MB will be used. Writing extended state information... Get: 1 http://cdn-fastly.deb.debian.org/debian buster/main i386 libbsd0 i386 0.9.1-2 [104 kB] Get: 2 http://cdn-fastly.deb.debian.org/debian buster/main i386 bsdmainutils i386 11.1.2+b1 [193 kB] Get: 3 http://cdn-fastly.deb.debian.org/debian buster/main i386 libuchardet0 i386 0.0.6-3 [65.2 kB] Get: 4 http://cdn-fastly.deb.debian.org/debian buster/main i386 groff-base i386 1.22.4-3 [935 kB] Get: 5 http://cdn-fastly.deb.debian.org/debian buster/main i386 libpipeline1 i386 1.5.1-2 [33.3 kB] Get: 6 http://cdn-fastly.deb.debian.org/debian buster/main i386 man-db i386 2.8.5-2 [1284 kB] Get: 7 http://cdn-fastly.deb.debian.org/debian buster/main i386 libc-ares2 i386 1.14.0-1 [88.4 kB] Get: 8 http://cdn-fastly.deb.debian.org/debian buster/main i386 libicu63 i386 63.1-6 [8443 kB] Get: 9 http://cdn-fastly.deb.debian.org/debian buster/main i386 libnghttp2-14 i386 1.36.0-2 [90.3 kB] Get: 10 http://cdn-fastly.deb.debian.org/debian buster/main i386 libssl1.1 i386 1.1.1c-1 [1532 kB] Get: 11 http://cdn-fastly.deb.debian.org/debian buster/main i386 libuv1 i386 1.24.1-1 [116 kB] Get: 12 http://cdn-fastly.deb.debian.org/debian buster/main i386 libnode64 i386 10.15.2~dfsg-2 [5673 kB] Get: 13 http://cdn-fastly.deb.debian.org/debian buster/main i386 nodejs i386 10.15.2~dfsg-2 [86.3 kB] Get: 14 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-browser-stdout all 1.3.0-1 [2932 B] Get: 15 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-commander all 2.12.2-3 [20.7 kB] Get: 16 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-ms all 2.1.1-1 [4548 B] Get: 17 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-debug all 3.1.0-2 [20.4 kB] Get: 18 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-diff all 1.4.0~dfsg-1 [14.8 kB] Get: 19 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-escape-string-regexp all 1.0.5-1 [3218 B] Get: 20 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-balanced-match all 0.4.2-1 [3982 B] Get: 21 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-concat-map all 0.0.1-1 [3462 B] Get: 22 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-brace-expansion all 1.1.8-1 [5798 B] Get: 23 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-minimatch all 3.0.4-3 [13.4 kB] Get: 24 http://cdn-fastly.deb.debian.org/debian buster/main i386 libjs-inherits all 2.0.3-1 [2762 B] Get: 25 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-inherits all 2.0.3-1 [3744 B] Get: 26 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-wrappy all 1.0.2-1 [3114 B] Get: 27 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-once all 1.4.0-3 [4344 B] Get: 28 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-fs.realpath all 1.0.0-1 [5522 B] Get: 29 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-inflight all 1.0.6-1 [3334 B] Get: 30 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-path-is-absolute all 1.0.0-1 [3266 B] Get: 31 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-glob all 7.1.3-2 [19.1 kB] Get: 32 http://cdn-fastly.deb.debian.org/debian buster/main i386 libglib2.0-0 i386 2.58.3-2 [1333 kB] Get: 33 http://cdn-fastly.deb.debian.org/debian buster/main i386 libjpeg62-turbo i386 1:1.5.2-2+b1 [142 kB] Get: 34 http://cdn-fastly.deb.debian.org/debian buster/main i386 libpng16-16 i386 1.6.36-6 [301 kB] Get: 35 http://cdn-fastly.deb.debian.org/debian buster/main i386 libjbig0 i386 2.1-3.1+b2 [31.5 kB] Get: 36 http://cdn-fastly.deb.debian.org/debian buster/main i386 libwebp6 i386 0.6.1-2 [275 kB] Get: 37 http://cdn-fastly.deb.debian.org/debian buster/main i386 libtiff5 i386 4.0.10-4 [268 kB] Get: 38 http://cdn-fastly.deb.debian.org/debian buster/main i386 libxau6 i386 1:1.0.8-1+b2 [20.3 kB] Get: 39 http://cdn-fastly.deb.debian.org/debian buster/main i386 libxdmcp6 i386 1:1.1.2-3 [26.7 kB] Get: 40 http://cdn-fastly.deb.debian.org/debian buster/main i386 libxcb1 i386 1.13.1-2 [141 kB] Get: 41 http://cdn-fastly.deb.debian.org/debian buster/main i386 libx11-data all 2:1.6.7-1 [298 kB] Get: 42 http://cdn-fastly.deb.debian.org/debian buster/main i386 libx11-6 i386 2:1.6.7-1 [778 kB] Get: 43 http://cdn-fastly.deb.debian.org/debian buster/main i386 libxml2 i386 2.9.4+dfsg1-7+b3 [721 kB] Get: 44 http://cdn-fastly.deb.debian.org/debian buster/main i386 shared-mime-info i386 1.10-1 [766 kB] Get: 45 http://cdn-fastly.deb.debian.org/debian buster/main i386 libgdk-pixbuf2.0-common all 2.38.1+dfsg-1 [316 kB] Get: 46 http://cdn-fastly.deb.debian.org/debian buster/main i386 libgdk-pixbuf2.0-0 i386 2.38.1+dfsg-1 [187 kB] Get: 47 http://cdn-fastly.deb.debian.org/debian buster/main i386 libnotify4 i386 0.7.7-4 [29.6 kB] Get: 48 http://cdn-fastly.deb.debian.org/debian buster/main i386 libnotify-bin i386 0.7.7-4 [20.0 kB] Get: 49 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-growl all 1.10.5-2 [7356 B] Get: 50 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-he all 1.1.1-1 [61.8 kB] Get: 51 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-mkdirp all 0.5.1-1 [4708 B] Get: 52 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-has-flag all 2.0.0-1 [3172 B] Get: 53 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-supports-color all 4.4.0-2 [4742 B] Get: 54 http://cdn-fastly.deb.debian.org/debian buster/main i386 hicolor-icon-theme all 0.17-2 [11.4 kB] Get: 55 http://cdn-fastly.deb.debian.org/debian buster/main i386 oxygen-icon-theme all 5:5.54.0-1 [31.3 MB] Get: 56 http://cdn-fastly.deb.debian.org/debian buster/main i386 mocha all 4.1.0+ds3-5 [241 kB] Get: 57 http://cdn-fastly.deb.debian.org/debian buster/main i386 sensible-utils all 0.0.12 [15.8 kB] Get: 58 http://cdn-fastly.deb.debian.org/debian buster/main i386 libmagic-mgc i386 1:5.35-4 [242 kB] Get: 59 http://cdn-fastly.deb.debian.org/debian buster/main i386 libmagic1 i386 1:5.35-4 [124 kB] Get: 60 http://cdn-fastly.deb.debian.org/debian buster/main i386 file i386 1:5.35-4 [66.3 kB] Get: 61 http://cdn-fastly.deb.debian.org/debian buster/main i386 gettext-base i386 0.19.8.1-9 [124 kB] Get: 62 http://cdn-fastly.deb.debian.org/debian buster/main i386 libsigsegv2 i386 2.12-2 [33.2 kB] Get: 63 http://cdn-fastly.deb.debian.org/debian buster/main i386 m4 i386 1.4.18-2 [205 kB] Get: 64 http://cdn-fastly.deb.debian.org/debian buster/main i386 autoconf all 2.69-11 [341 kB] Get: 65 http://cdn-fastly.deb.debian.org/debian buster/main i386 autotools-dev all 20180224.1 [77.0 kB] Get: 66 http://cdn-fastly.deb.debian.org/debian buster/main i386 automake all 1:1.16.1-4 [771 kB] Get: 67 http://cdn-fastly.deb.debian.org/debian buster/main i386 autopoint all 0.19.8.1-9 [434 kB] Get: 68 http://cdn-fastly.deb.debian.org/debian buster/main i386 libtool all 2.4.6-9 [547 kB] Get: 69 http://cdn-fastly.deb.debian.org/debian buster/main i386 dh-autoreconf all 19 [16.9 kB] Get: 70 http://cdn-fastly.deb.debian.org/debian buster/main i386 libarchive-zip-perl all 1.64-1 [96.8 kB] Get: 71 http://cdn-fastly.deb.debian.org/debian buster/main i386 libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB] Get: 72 http://cdn-fastly.deb.debian.org/debian buster/main i386 dh-strip-nondeterminism all 1.1.2-1 [13.0 kB] Get: 73 http://cdn-fastly.deb.debian.org/debian buster/main i386 libelf1 i386 0.176-1.1 [166 kB] Get: 74 http://cdn-fastly.deb.debian.org/debian buster/main i386 dwz i386 0.12-3 [81.4 kB] Get: 75 http://cdn-fastly.deb.debian.org/debian buster/main i386 libcroco3 i386 0.6.12-3 [151 kB] Get: 76 http://cdn-fastly.deb.debian.org/debian buster/main i386 libncurses6 i386 6.1+20181013-2 [109 kB] Get: 77 http://cdn-fastly.deb.debian.org/debian buster/main i386 gettext i386 0.19.8.1-9 [1314 kB] Get: 78 http://cdn-fastly.deb.debian.org/debian buster/main i386 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 79 http://cdn-fastly.deb.debian.org/debian buster/main i386 po-debconf all 1.0.21 [248 kB] Get: 80 http://cdn-fastly.deb.debian.org/debian buster/main i386 debhelper all 12.1.1 [1016 kB] Get: 81 http://cdn-fastly.deb.debian.org/debian buster/main i386 dh-buildinfo all 0.11+nmu2 [18.4 kB] Get: 82 http://cdn-fastly.deb.debian.org/debian buster/main i386 libjs-util all 0.10.3-2 [9258 B] Get: 83 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-xtend all 4.0.1-2 [3560 B] Get: 84 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-acorn all 5.5.3+ds3-3 [69.1 kB] Get: 85 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-ansi-regex all 3.0.0-1 [3658 B] Get: 86 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-color-name all 1.1.3-1 [4090 B] Get: 87 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-color-convert all 1.9.0-3 [10.1 kB] Get: 88 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-ansi-styles all 3.2.1-1 [5684 B] Get: 89 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-bytes all 3.0.0-1 [6340 B] Get: 90 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-content-type all 1.0.4-1 [5464 B] Get: 91 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-depd all 1.1.2-1 [11.6 kB] Get: 92 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-setprototypeof all 1.1.0-1 [3068 B] Get: 93 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-statuses all 1.5.0-3 [6164 B] Get: 94 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-toidentifier all 1.0.0-2 [3788 B] Get: 95 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-http-errors all 1.7.1-1 [7952 B] Get: 96 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-iconv i386 2.3.2-1 [13.4 kB] Get: 97 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-on-finished all 2.3.0-1 [8732 B] Get: 98 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-qs all 6.5.2-1 [16.4 kB] Get: 99 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-unpipe all 1.0.0-1 [3582 B] Get: 100 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-raw-body all 2.3.3-3 [10.2 kB] Get: 101 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-mime-types all 2.1.21-1 [16.5 kB] Get: 102 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-media-typer all 0.3.0-2 [5992 B] Get: 103 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-type-is all 1.6.16-1 [7916 B] Get: 104 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-body-parser all 1.18.3-2 [16.4 kB] Get: 105 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-camelcase all 5.0.0-1 [3964 B] Get: 106 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-colors all 1.1.2-1 [8828 B] Get: 107 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-cli-table all 0.3.1-1 [9260 B] Get: 108 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-clone all 2.1.2-1 [7880 B] Get: 109 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-defaults all 1.0.3-1 [3108 B] Get: 110 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-wcwidth.js all 1.0.0-1 [6408 B] Get: 111 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-strip-ansi all 4.0.0-1 [3078 B] Get: 112 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-string-width all 2.1.1-1 [3992 B] Get: 113 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-wrap-ansi all 4.0.0-1 [5444 B] Get: 114 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-cliui all 4.1.0-1 [7832 B] Get: 115 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-co all 4.6.0-1 [7550 B] Get: 116 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-crc all 3.0.0-3 [8350 B] Get: 117 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-yallist all 3.0.3-1 [6052 B] Get: 118 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-lru-cache all 5.1.1-4 [8320 B] Get: 119 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-isexe all 2.0.0-4 [4404 B] Get: 120 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-which all 1.3.0-2 [5804 B] Get: 121 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-shebang-regex all 2.0.0-1 [2742 B] Get: 122 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-shebang-command all 1.2.0-1 [2900 B] Get: 123 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-cross-spawn all 5.1.0-2 [8732 B] Get: 124 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-decamelize all 1.2.0-1 [3044 B] Get: 125 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-encodeurl all 1.0.1-1 [4668 B] Get: 126 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-escape-html all 1.0.3-1 [3600 B] Get: 127 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-etag all 1.4.0-1 [5056 B] Get: 128 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-get-stream all 3.0.0-1 [4724 B] Get: 129 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-is-stream all 1.1.0-1 [2998 B] Get: 130 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-npm-run-path all 2.0.2-2 [4412 B] Get: 131 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-p-finally all 1.0.0-2 [3230 B] Get: 132 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-signal-exit all 3.0.2-1 [5648 B] Get: 133 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-strip-eof all 1.0.0-2 [3010 B] Get: 134 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-execa all 0.10.0+dfsg-1 [8936 B] Get: 135 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-p-limit all 1.1.0-1 [3382 B] Get: 136 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-p-locate all 2.0.0-1 [3986 B] Get: 137 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-path-exists all 3.0.0-1 [3154 B] Get: 138 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-locate-path all 2.0.0-1 [3816 B] Get: 139 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-find-up all 2.1.0-1 [3652 B] Get: 140 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-samsam all 1.2.1-1 [8626 B] Get: 141 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-formatio all 1.2.0-2 [7682 B] Get: 142 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-fresh all 0.2.0-2 [3836 B] Get: 143 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-get-caller-file all 1.0.2-1 [2814 B] Get: 144 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-invert-kv all 1.0.0-1 [2862 B] Get: 145 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-lcid all 1.0.0-1 [4232 B] Get: 146 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-lolex all 2.2.0-1 [15.6 kB] Get: 147 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-mimic-fn all 1.1.0-1 [3070 B] Get: 148 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-mem all 1.1.0-1 [4076 B] Get: 149 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-minimist all 1.2.0-1 [5588 B] Get: 150 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-wordwrap all 1.0.0-1 [5954 B] Get: 151 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-optimist all 0.6.1-1 [11.9 kB] Get: 152 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-os-locale all 2.0.0-1 [3702 B] Get: 153 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-parseurl all 1.3.0-1 [4902 B] Get: 154 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-range-parser all 1.2.0-1 [4252 B] Get: 155 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-require-directory all 2.1.1-1 [5364 B] Get: 156 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-require-main-filename all 1.0.1-1 [3152 B] Get: 157 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-rimraf all 2.6.2-1 [8112 B] Get: 158 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-rx all 4.1.0+dfsg1-1 [337 kB] Get: 159 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-send all 0.16.2-1 [18.0 kB] Get: 160 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-utils-merge all 1.0.0-1 [3314 B] Get: 161 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-serve-static all 1.6.4-3 [7628 B] Get: 162 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-set-blocking all 2.0.0-1 [3806 B] Get: 163 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-util all 0.10.3-2 [2520 B] Get: 164 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-sinon all 1.17.6-1 [41.4 kB] Get: 165 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-which-module all 2.0.0-1 [3792 B] Get: 166 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-y18n all 3.2.1-2 [4708 B] Get: 167 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-yargs-parser all 11.1.1-1 [16.5 kB] Get: 168 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-yargs all 10.0.3-2 [57.1 kB] Get: 169 http://cdn-fastly.deb.debian.org/debian buster/main i386 node-uglify all 2.8.29-6 [118 kB] Fetched 63.4 MB in 34s (1867 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:i386. (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 ... 19231 files and directories currently installed.) Preparing to unpack .../000-libbsd0_0.9.1-2_i386.deb ... Unpacking libbsd0:i386 (0.9.1-2) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../001-bsdmainutils_11.1.2+b1_i386.deb ... Unpacking bsdmainutils (11.1.2+b1) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../002-libuchardet0_0.0.6-3_i386.deb ... Unpacking libuchardet0:i386 (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../003-groff-base_1.22.4-3_i386.deb ... Unpacking groff-base (1.22.4-3) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../004-libpipeline1_1.5.1-2_i386.deb ... Unpacking libpipeline1:i386 (1.5.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../005-man-db_2.8.5-2_i386.deb ... Unpacking man-db (2.8.5-2) ... Selecting previously unselected package libc-ares2:i386. Preparing to unpack .../006-libc-ares2_1.14.0-1_i386.deb ... Unpacking libc-ares2:i386 (1.14.0-1) ... Selecting previously unselected package libicu63:i386. Preparing to unpack .../007-libicu63_63.1-6_i386.deb ... Unpacking libicu63:i386 (63.1-6) ... Selecting previously unselected package libnghttp2-14:i386. Preparing to unpack .../008-libnghttp2-14_1.36.0-2_i386.deb ... Unpacking libnghttp2-14:i386 (1.36.0-2) ... Selecting previously unselected package libssl1.1:i386. Preparing to unpack .../009-libssl1.1_1.1.1c-1_i386.deb ... Unpacking libssl1.1:i386 (1.1.1c-1) ... Selecting previously unselected package libuv1:i386. Preparing to unpack .../010-libuv1_1.24.1-1_i386.deb ... Unpacking libuv1:i386 (1.24.1-1) ... Selecting previously unselected package libnode64:i386. Preparing to unpack .../011-libnode64_10.15.2~dfsg-2_i386.deb ... Unpacking libnode64:i386 (10.15.2~dfsg-2) ... Selecting previously unselected package nodejs. Preparing to unpack .../012-nodejs_10.15.2~dfsg-2_i386.deb ... Unpacking nodejs (10.15.2~dfsg-2) ... Selecting previously unselected package node-browser-stdout. Preparing to unpack .../013-node-browser-stdout_1.3.0-1_all.deb ... Unpacking node-browser-stdout (1.3.0-1) ... Selecting previously unselected package node-commander. Preparing to unpack .../014-node-commander_2.12.2-3_all.deb ... Unpacking node-commander (2.12.2-3) ... Selecting previously unselected package node-ms. Preparing to unpack .../015-node-ms_2.1.1-1_all.deb ... Unpacking node-ms (2.1.1-1) ... Selecting previously unselected package node-debug. Preparing to unpack .../016-node-debug_3.1.0-2_all.deb ... Unpacking node-debug (3.1.0-2) ... Selecting previously unselected package node-diff. Preparing to unpack .../017-node-diff_1.4.0~dfsg-1_all.deb ... Unpacking node-diff (1.4.0~dfsg-1) ... Selecting previously unselected package node-escape-string-regexp. Preparing to unpack .../018-node-escape-string-regexp_1.0.5-1_all.deb ... Unpacking node-escape-string-regexp (1.0.5-1) ... Selecting previously unselected package node-balanced-match. Preparing to unpack .../019-node-balanced-match_0.4.2-1_all.deb ... Unpacking node-balanced-match (0.4.2-1) ... Selecting previously unselected package node-concat-map. Preparing to unpack .../020-node-concat-map_0.0.1-1_all.deb ... Unpacking node-concat-map (0.0.1-1) ... Selecting previously unselected package node-brace-expansion. Preparing to unpack .../021-node-brace-expansion_1.1.8-1_all.deb ... Unpacking node-brace-expansion (1.1.8-1) ... Selecting previously unselected package node-minimatch. Preparing to unpack .../022-node-minimatch_3.0.4-3_all.deb ... Unpacking node-minimatch (3.0.4-3) ... Selecting previously unselected package libjs-inherits. Preparing to unpack .../023-libjs-inherits_2.0.3-1_all.deb ... Unpacking libjs-inherits (2.0.3-1) ... Selecting previously unselected package node-inherits. Preparing to unpack .../024-node-inherits_2.0.3-1_all.deb ... Unpacking node-inherits (2.0.3-1) ... Selecting previously unselected package node-wrappy. Preparing to unpack .../025-node-wrappy_1.0.2-1_all.deb ... Unpacking node-wrappy (1.0.2-1) ... Selecting previously unselected package node-once. Preparing to unpack .../026-node-once_1.4.0-3_all.deb ... Unpacking node-once (1.4.0-3) ... Selecting previously unselected package node-fs.realpath. Preparing to unpack .../027-node-fs.realpath_1.0.0-1_all.deb ... Unpacking node-fs.realpath (1.0.0-1) ... Selecting previously unselected package node-inflight. Preparing to unpack .../028-node-inflight_1.0.6-1_all.deb ... Unpacking node-inflight (1.0.6-1) ... Selecting previously unselected package node-path-is-absolute. Preparing to unpack .../029-node-path-is-absolute_1.0.0-1_all.deb ... Unpacking node-path-is-absolute (1.0.0-1) ... Selecting previously unselected package node-glob. Preparing to unpack .../030-node-glob_7.1.3-2_all.deb ... Unpacking node-glob (7.1.3-2) ... Selecting previously unselected package libglib2.0-0:i386. Preparing to unpack .../031-libglib2.0-0_2.58.3-2_i386.deb ... Unpacking libglib2.0-0:i386 (2.58.3-2) ... Selecting previously unselected package libjpeg62-turbo:i386. Preparing to unpack .../032-libjpeg62-turbo_1%3a1.5.2-2+b1_i386.deb ... Unpacking libjpeg62-turbo:i386 (1:1.5.2-2+b1) ... Selecting previously unselected package libpng16-16:i386. Preparing to unpack .../033-libpng16-16_1.6.36-6_i386.deb ... Unpacking libpng16-16:i386 (1.6.36-6) ... Selecting previously unselected package libjbig0:i386. Preparing to unpack .../034-libjbig0_2.1-3.1+b2_i386.deb ... Unpacking libjbig0:i386 (2.1-3.1+b2) ... Selecting previously unselected package libwebp6:i386. Preparing to unpack .../035-libwebp6_0.6.1-2_i386.deb ... Unpacking libwebp6:i386 (0.6.1-2) ... Selecting previously unselected package libtiff5:i386. Preparing to unpack .../036-libtiff5_4.0.10-4_i386.deb ... Unpacking libtiff5:i386 (4.0.10-4) ... Selecting previously unselected package libxau6:i386. Preparing to unpack .../037-libxau6_1%3a1.0.8-1+b2_i386.deb ... Unpacking libxau6:i386 (1:1.0.8-1+b2) ... Selecting previously unselected package libxdmcp6:i386. Preparing to unpack .../038-libxdmcp6_1%3a1.1.2-3_i386.deb ... Unpacking libxdmcp6:i386 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:i386. Preparing to unpack .../039-libxcb1_1.13.1-2_i386.deb ... Unpacking libxcb1:i386 (1.13.1-2) ... Selecting previously unselected package libx11-data. Preparing to unpack .../040-libx11-data_2%3a1.6.7-1_all.deb ... Unpacking libx11-data (2:1.6.7-1) ... Selecting previously unselected package libx11-6:i386. Preparing to unpack .../041-libx11-6_2%3a1.6.7-1_i386.deb ... Unpacking libx11-6:i386 (2:1.6.7-1) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../042-libxml2_2.9.4+dfsg1-7+b3_i386.deb ... Unpacking libxml2:i386 (2.9.4+dfsg1-7+b3) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../043-shared-mime-info_1.10-1_i386.deb ... Unpacking shared-mime-info (1.10-1) ... Selecting previously unselected package libgdk-pixbuf2.0-common. Preparing to unpack .../044-libgdk-pixbuf2.0-common_2.38.1+dfsg-1_all.deb ... Unpacking libgdk-pixbuf2.0-common (2.38.1+dfsg-1) ... Selecting previously unselected package libgdk-pixbuf2.0-0:i386. Preparing to unpack .../045-libgdk-pixbuf2.0-0_2.38.1+dfsg-1_i386.deb ... Unpacking libgdk-pixbuf2.0-0:i386 (2.38.1+dfsg-1) ... Selecting previously unselected package libnotify4:i386. Preparing to unpack .../046-libnotify4_0.7.7-4_i386.deb ... Unpacking libnotify4:i386 (0.7.7-4) ... Selecting previously unselected package libnotify-bin. Preparing to unpack .../047-libnotify-bin_0.7.7-4_i386.deb ... Unpacking libnotify-bin (0.7.7-4) ... Selecting previously unselected package node-growl. Preparing to unpack .../048-node-growl_1.10.5-2_all.deb ... Unpacking node-growl (1.10.5-2) ... Selecting previously unselected package node-he. Preparing to unpack .../049-node-he_1.1.1-1_all.deb ... Unpacking node-he (1.1.1-1) ... Selecting previously unselected package node-mkdirp. Preparing to unpack .../050-node-mkdirp_0.5.1-1_all.deb ... Unpacking node-mkdirp (0.5.1-1) ... Selecting previously unselected package node-has-flag. Preparing to unpack .../051-node-has-flag_2.0.0-1_all.deb ... Unpacking node-has-flag (2.0.0-1) ... Selecting previously unselected package node-supports-color. Preparing to unpack .../052-node-supports-color_4.4.0-2_all.deb ... Unpacking node-supports-color (4.4.0-2) ... Selecting previously unselected package hicolor-icon-theme. Preparing to unpack .../053-hicolor-icon-theme_0.17-2_all.deb ... Unpacking hicolor-icon-theme (0.17-2) ... Selecting previously unselected package oxygen-icon-theme. Preparing to unpack .../054-oxygen-icon-theme_5%3a5.54.0-1_all.deb ... Unpacking oxygen-icon-theme (5:5.54.0-1) ... Selecting previously unselected package mocha. Preparing to unpack .../055-mocha_4.1.0+ds3-5_all.deb ... Unpacking mocha (4.1.0+ds3-5) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../056-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../057-libmagic-mgc_1%3a5.35-4_i386.deb ... Unpacking libmagic-mgc (1:5.35-4) ... Selecting previously unselected package libmagic1:i386. Preparing to unpack .../058-libmagic1_1%3a5.35-4_i386.deb ... Unpacking libmagic1:i386 (1:5.35-4) ... Selecting previously unselected package file. Preparing to unpack .../059-file_1%3a5.35-4_i386.deb ... Unpacking file (1:5.35-4) ... Selecting previously unselected package gettext-base. Preparing to unpack .../060-gettext-base_0.19.8.1-9_i386.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package libsigsegv2:i386. Preparing to unpack .../061-libsigsegv2_2.12-2_i386.deb ... Unpacking libsigsegv2:i386 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../062-m4_1.4.18-2_i386.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../063-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../064-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../065-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../066-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package libtool. Preparing to unpack .../067-libtool_2.4.6-9_all.deb ... Unpacking libtool (2.4.6-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../068-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../069-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../070-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../071-dh-strip-nondeterminism_1.1.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.2-1) ... Selecting previously unselected package libelf1:i386. Preparing to unpack .../072-libelf1_0.176-1.1_i386.deb ... Unpacking libelf1:i386 (0.176-1.1) ... Selecting previously unselected package dwz. Preparing to unpack .../073-dwz_0.12-3_i386.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package libcroco3:i386. Preparing to unpack .../074-libcroco3_0.6.12-3_i386.deb ... Unpacking libcroco3:i386 (0.6.12-3) ... Selecting previously unselected package libncurses6:i386. Preparing to unpack .../075-libncurses6_6.1+20181013-2_i386.deb ... Unpacking libncurses6:i386 (6.1+20181013-2) ... Selecting previously unselected package gettext. Preparing to unpack .../076-gettext_0.19.8.1-9_i386.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../077-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../078-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../079-debhelper_12.1.1_all.deb ... Unpacking debhelper (12.1.1) ... Selecting previously unselected package dh-buildinfo. Preparing to unpack .../080-dh-buildinfo_0.11+nmu2_all.deb ... Unpacking dh-buildinfo (0.11+nmu2) ... Selecting previously unselected package libjs-util. Preparing to unpack .../081-libjs-util_0.10.3-2_all.deb ... Unpacking libjs-util (0.10.3-2) ... Selecting previously unselected package node-xtend. Preparing to unpack .../082-node-xtend_4.0.1-2_all.deb ... Unpacking node-xtend (4.0.1-2) ... Selecting previously unselected package node-acorn. Preparing to unpack .../083-node-acorn_5.5.3+ds3-3_all.deb ... Unpacking node-acorn (5.5.3+ds3-3) ... Selecting previously unselected package node-ansi-regex. Preparing to unpack .../084-node-ansi-regex_3.0.0-1_all.deb ... Unpacking node-ansi-regex (3.0.0-1) ... Selecting previously unselected package node-color-name. Preparing to unpack .../085-node-color-name_1.1.3-1_all.deb ... Unpacking node-color-name (1.1.3-1) ... Selecting previously unselected package node-color-convert. Preparing to unpack .../086-node-color-convert_1.9.0-3_all.deb ... Unpacking node-color-convert (1.9.0-3) ... Selecting previously unselected package node-ansi-styles. Preparing to unpack .../087-node-ansi-styles_3.2.1-1_all.deb ... Unpacking node-ansi-styles (3.2.1-1) ... Selecting previously unselected package node-bytes. Preparing to unpack .../088-node-bytes_3.0.0-1_all.deb ... Unpacking node-bytes (3.0.0-1) ... Selecting previously unselected package node-content-type. Preparing to unpack .../089-node-content-type_1.0.4-1_all.deb ... Unpacking node-content-type (1.0.4-1) ... Selecting previously unselected package node-depd. Preparing to unpack .../090-node-depd_1.1.2-1_all.deb ... Unpacking node-depd (1.1.2-1) ... Selecting previously unselected package node-setprototypeof. Preparing to unpack .../091-node-setprototypeof_1.1.0-1_all.deb ... Unpacking node-setprototypeof (1.1.0-1) ... Selecting previously unselected package node-statuses. Preparing to unpack .../092-node-statuses_1.5.0-3_all.deb ... Unpacking node-statuses (1.5.0-3) ... Selecting previously unselected package node-toidentifier. Preparing to unpack .../093-node-toidentifier_1.0.0-2_all.deb ... Unpacking node-toidentifier (1.0.0-2) ... Selecting previously unselected package node-http-errors. Preparing to unpack .../094-node-http-errors_1.7.1-1_all.deb ... Unpacking node-http-errors (1.7.1-1) ... Selecting previously unselected package node-iconv. Preparing to unpack .../095-node-iconv_2.3.2-1_i386.deb ... Unpacking node-iconv (2.3.2-1) ... Selecting previously unselected package node-on-finished. Preparing to unpack .../096-node-on-finished_2.3.0-1_all.deb ... Unpacking node-on-finished (2.3.0-1) ... Selecting previously unselected package node-qs. Preparing to unpack .../097-node-qs_6.5.2-1_all.deb ... Unpacking node-qs (6.5.2-1) ... Selecting previously unselected package node-unpipe. Preparing to unpack .../098-node-unpipe_1.0.0-1_all.deb ... Unpacking node-unpipe (1.0.0-1) ... Selecting previously unselected package node-raw-body. Preparing to unpack .../099-node-raw-body_2.3.3-3_all.deb ... Unpacking node-raw-body (2.3.3-3) ... Selecting previously unselected package node-mime-types. Preparing to unpack .../100-node-mime-types_2.1.21-1_all.deb ... Unpacking node-mime-types (2.1.21-1) ... Selecting previously unselected package node-media-typer. Preparing to unpack .../101-node-media-typer_0.3.0-2_all.deb ... Unpacking node-media-typer (0.3.0-2) ... Selecting previously unselected package node-type-is. Preparing to unpack .../102-node-type-is_1.6.16-1_all.deb ... Unpacking node-type-is (1.6.16-1) ... Selecting previously unselected package node-body-parser. Preparing to unpack .../103-node-body-parser_1.18.3-2_all.deb ... Unpacking node-body-parser (1.18.3-2) ... Selecting previously unselected package node-camelcase. Preparing to unpack .../104-node-camelcase_5.0.0-1_all.deb ... Unpacking node-camelcase (5.0.0-1) ... Selecting previously unselected package node-colors. Preparing to unpack .../105-node-colors_1.1.2-1_all.deb ... Unpacking node-colors (1.1.2-1) ... Selecting previously unselected package node-cli-table. Preparing to unpack .../106-node-cli-table_0.3.1-1_all.deb ... Unpacking node-cli-table (0.3.1-1) ... Selecting previously unselected package node-clone. Preparing to unpack .../107-node-clone_2.1.2-1_all.deb ... Unpacking node-clone (2.1.2-1) ... Selecting previously unselected package node-defaults. Preparing to unpack .../108-node-defaults_1.0.3-1_all.deb ... Unpacking node-defaults (1.0.3-1) ... Selecting previously unselected package node-wcwidth.js. Preparing to unpack .../109-node-wcwidth.js_1.0.0-1_all.deb ... Unpacking node-wcwidth.js (1.0.0-1) ... Selecting previously unselected package node-strip-ansi. Preparing to unpack .../110-node-strip-ansi_4.0.0-1_all.deb ... Unpacking node-strip-ansi (4.0.0-1) ... Selecting previously unselected package node-string-width. Preparing to unpack .../111-node-string-width_2.1.1-1_all.deb ... Unpacking node-string-width (2.1.1-1) ... Selecting previously unselected package node-wrap-ansi. Preparing to unpack .../112-node-wrap-ansi_4.0.0-1_all.deb ... Unpacking node-wrap-ansi (4.0.0-1) ... Selecting previously unselected package node-cliui. Preparing to unpack .../113-node-cliui_4.1.0-1_all.deb ... Unpacking node-cliui (4.1.0-1) ... Selecting previously unselected package node-co. Preparing to unpack .../114-node-co_4.6.0-1_all.deb ... Unpacking node-co (4.6.0-1) ... Selecting previously unselected package node-crc. Preparing to unpack .../115-node-crc_3.0.0-3_all.deb ... Unpacking node-crc (3.0.0-3) ... Selecting previously unselected package node-yallist. Preparing to unpack .../116-node-yallist_3.0.3-1_all.deb ... Unpacking node-yallist (3.0.3-1) ... Selecting previously unselected package node-lru-cache. Preparing to unpack .../117-node-lru-cache_5.1.1-4_all.deb ... Unpacking node-lru-cache (5.1.1-4) ... Selecting previously unselected package node-isexe. Preparing to unpack .../118-node-isexe_2.0.0-4_all.deb ... Unpacking node-isexe (2.0.0-4) ... Selecting previously unselected package node-which. Preparing to unpack .../119-node-which_1.3.0-2_all.deb ... Unpacking node-which (1.3.0-2) ... Selecting previously unselected package node-shebang-regex. Preparing to unpack .../120-node-shebang-regex_2.0.0-1_all.deb ... Unpacking node-shebang-regex (2.0.0-1) ... Selecting previously unselected package node-shebang-command. Preparing to unpack .../121-node-shebang-command_1.2.0-1_all.deb ... Unpacking node-shebang-command (1.2.0-1) ... Selecting previously unselected package node-cross-spawn. Preparing to unpack .../122-node-cross-spawn_5.1.0-2_all.deb ... Unpacking node-cross-spawn (5.1.0-2) ... Selecting previously unselected package node-decamelize. Preparing to unpack .../123-node-decamelize_1.2.0-1_all.deb ... Unpacking node-decamelize (1.2.0-1) ... Selecting previously unselected package node-encodeurl. Preparing to unpack .../124-node-encodeurl_1.0.1-1_all.deb ... Unpacking node-encodeurl (1.0.1-1) ... Selecting previously unselected package node-escape-html. Preparing to unpack .../125-node-escape-html_1.0.3-1_all.deb ... Unpacking node-escape-html (1.0.3-1) ... Selecting previously unselected package node-etag. Preparing to unpack .../126-node-etag_1.4.0-1_all.deb ... Unpacking node-etag (1.4.0-1) ... Selecting previously unselected package node-get-stream. Preparing to unpack .../127-node-get-stream_3.0.0-1_all.deb ... Unpacking node-get-stream (3.0.0-1) ... Selecting previously unselected package node-is-stream. Preparing to unpack .../128-node-is-stream_1.1.0-1_all.deb ... Unpacking node-is-stream (1.1.0-1) ... Selecting previously unselected package node-npm-run-path. Preparing to unpack .../129-node-npm-run-path_2.0.2-2_all.deb ... Unpacking node-npm-run-path (2.0.2-2) ... Selecting previously unselected package node-p-finally. Preparing to unpack .../130-node-p-finally_1.0.0-2_all.deb ... Unpacking node-p-finally (1.0.0-2) ... Selecting previously unselected package node-signal-exit. Preparing to unpack .../131-node-signal-exit_3.0.2-1_all.deb ... Unpacking node-signal-exit (3.0.2-1) ... Selecting previously unselected package node-strip-eof. Preparing to unpack .../132-node-strip-eof_1.0.0-2_all.deb ... Unpacking node-strip-eof (1.0.0-2) ... Selecting previously unselected package node-execa. Preparing to unpack .../133-node-execa_0.10.0+dfsg-1_all.deb ... Unpacking node-execa (0.10.0+dfsg-1) ... Selecting previously unselected package node-p-limit. Preparing to unpack .../134-node-p-limit_1.1.0-1_all.deb ... Unpacking node-p-limit (1.1.0-1) ... Selecting previously unselected package node-p-locate. Preparing to unpack .../135-node-p-locate_2.0.0-1_all.deb ... Unpacking node-p-locate (2.0.0-1) ... Selecting previously unselected package node-path-exists. Preparing to unpack .../136-node-path-exists_3.0.0-1_all.deb ... Unpacking node-path-exists (3.0.0-1) ... Selecting previously unselected package node-locate-path. Preparing to unpack .../137-node-locate-path_2.0.0-1_all.deb ... Unpacking node-locate-path (2.0.0-1) ... Selecting previously unselected package node-find-up. Preparing to unpack .../138-node-find-up_2.1.0-1_all.deb ... Unpacking node-find-up (2.1.0-1) ... Selecting previously unselected package node-samsam. Preparing to unpack .../139-node-samsam_1.2.1-1_all.deb ... Unpacking node-samsam (1.2.1-1) ... Selecting previously unselected package node-formatio. Preparing to unpack .../140-node-formatio_1.2.0-2_all.deb ... Unpacking node-formatio (1.2.0-2) ... Selecting previously unselected package node-fresh. Preparing to unpack .../141-node-fresh_0.2.0-2_all.deb ... Unpacking node-fresh (0.2.0-2) ... Selecting previously unselected package node-get-caller-file. Preparing to unpack .../142-node-get-caller-file_1.0.2-1_all.deb ... Unpacking node-get-caller-file (1.0.2-1) ... Selecting previously unselected package node-invert-kv. Preparing to unpack .../143-node-invert-kv_1.0.0-1_all.deb ... Unpacking node-invert-kv (1.0.0-1) ... Selecting previously unselected package node-lcid. Preparing to unpack .../144-node-lcid_1.0.0-1_all.deb ... Unpacking node-lcid (1.0.0-1) ... Selecting previously unselected package node-lolex. Preparing to unpack .../145-node-lolex_2.2.0-1_all.deb ... Unpacking node-lolex (2.2.0-1) ... Selecting previously unselected package node-mimic-fn. Preparing to unpack .../146-node-mimic-fn_1.1.0-1_all.deb ... Unpacking node-mimic-fn (1.1.0-1) ... Selecting previously unselected package node-mem. Preparing to unpack .../147-node-mem_1.1.0-1_all.deb ... Unpacking node-mem (1.1.0-1) ... Selecting previously unselected package node-minimist. Preparing to unpack .../148-node-minimist_1.2.0-1_all.deb ... Unpacking node-minimist (1.2.0-1) ... Selecting previously unselected package node-wordwrap. Preparing to unpack .../149-node-wordwrap_1.0.0-1_all.deb ... Unpacking node-wordwrap (1.0.0-1) ... Selecting previously unselected package node-optimist. Preparing to unpack .../150-node-optimist_0.6.1-1_all.deb ... Unpacking node-optimist (0.6.1-1) ... Selecting previously unselected package node-os-locale. Preparing to unpack .../151-node-os-locale_2.0.0-1_all.deb ... Unpacking node-os-locale (2.0.0-1) ... Selecting previously unselected package node-parseurl. Preparing to unpack .../152-node-parseurl_1.3.0-1_all.deb ... Unpacking node-parseurl (1.3.0-1) ... Selecting previously unselected package node-range-parser. Preparing to unpack .../153-node-range-parser_1.2.0-1_all.deb ... Unpacking node-range-parser (1.2.0-1) ... Selecting previously unselected package node-require-directory. Preparing to unpack .../154-node-require-directory_2.1.1-1_all.deb ... Unpacking node-require-directory (2.1.1-1) ... Selecting previously unselected package node-require-main-filename. Preparing to unpack .../155-node-require-main-filename_1.0.1-1_all.deb ... Unpacking node-require-main-filename (1.0.1-1) ... Selecting previously unselected package node-rimraf. Preparing to unpack .../156-node-rimraf_2.6.2-1_all.deb ... Unpacking node-rimraf (2.6.2-1) ... Selecting previously unselected package node-rx. Preparing to unpack .../157-node-rx_4.1.0+dfsg1-1_all.deb ... Unpacking node-rx (4.1.0+dfsg1-1) ... Selecting previously unselected package node-send. Preparing to unpack .../158-node-send_0.16.2-1_all.deb ... Unpacking node-send (0.16.2-1) ... Selecting previously unselected package node-utils-merge. Preparing to unpack .../159-node-utils-merge_1.0.0-1_all.deb ... Unpacking node-utils-merge (1.0.0-1) ... Selecting previously unselected package node-serve-static. Preparing to unpack .../160-node-serve-static_1.6.4-3_all.deb ... Unpacking node-serve-static (1.6.4-3) ... Selecting previously unselected package node-set-blocking. Preparing to unpack .../161-node-set-blocking_2.0.0-1_all.deb ... Unpacking node-set-blocking (2.0.0-1) ... Selecting previously unselected package node-util. Preparing to unpack .../162-node-util_0.10.3-2_all.deb ... Unpacking node-util (0.10.3-2) ... Selecting previously unselected package node-sinon. Preparing to unpack .../163-node-sinon_1.17.6-1_all.deb ... Unpacking node-sinon (1.17.6-1) ... Selecting previously unselected package node-which-module. Preparing to unpack .../164-node-which-module_2.0.0-1_all.deb ... Unpacking node-which-module (2.0.0-1) ... Selecting previously unselected package node-y18n. Preparing to unpack .../165-node-y18n_3.2.1-2_all.deb ... Unpacking node-y18n (3.2.1-2) ... Selecting previously unselected package node-yargs-parser. Preparing to unpack .../166-node-yargs-parser_11.1.1-1_all.deb ... Unpacking node-yargs-parser (11.1.1-1) ... Selecting previously unselected package node-yargs. Preparing to unpack .../167-node-yargs_10.0.3-2_all.deb ... Unpacking node-yargs (10.0.3-2) ... Selecting previously unselected package node-uglify. Preparing to unpack .../168-node-uglify_2.8.29-6_all.deb ... Unpacking node-uglify (2.8.29-6) ... Setting up libpipeline1:i386 (1.5.1-2) ... Setting up libxau6:i386 (1:1.0.8-1+b2) ... Setting up libjs-inherits (2.0.3-1) ... Setting up hicolor-icon-theme (0.17-2) ... Setting up oxygen-icon-theme (5:5.54.0-1) ... Setting up libmagic-mgc (1:5.35-4) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libglib2.0-0:i386 (2.58.3-2) ... No schema files found: doing nothing. Setting up libssl1.1:i386 (1.1.1c-1) ... Setting up libgdk-pixbuf2.0-common (2.38.1+dfsg-1) ... Setting up libnghttp2-14:i386 (1.36.0-2) ... Setting up libmagic1:i386 (1:5.35-4) ... Setting up gettext-base (0.19.8.1-9) ... Setting up libc-ares2:i386 (1.14.0-1) ... Setting up file (1:5.35-4) ... Setting up libjbig0:i386 (2.1-3.1+b2) ... Setting up libicu63:i386 (63.1-6) ... Setting up autotools-dev (20180224.1) ... Setting up libuv1:i386 (1.24.1-1) ... Setting up libjpeg62-turbo:i386 (1:1.5.2-2+b1) ... Setting up libx11-data (2:1.6.7-1) ... Setting up libncurses6:i386 (6.1+20181013-2) ... Setting up libsigsegv2:i386 (2.12-2) ... Setting up libpng16-16:i386 (1.6.36-6) ... Setting up libnode64:i386 (10.15.2~dfsg-2) ... Setting up autopoint (0.19.8.1-9) ... Setting up libwebp6:i386 (0.6.1-2) ... Setting up sensible-utils (0.0.12) ... Setting up libuchardet0:i386 (0.0.6-3) ... Setting up libtiff5:i386 (4.0.10-4) ... Setting up libbsd0:i386 (0.9.1-2) ... Setting up libelf1:i386 (0.176-1.1) ... Setting up libxml2:i386 (2.9.4+dfsg1-7+b3) ... Setting up libfile-stripnondeterminism-perl (1.1.2-1) ... Setting up libxdmcp6:i386 (1:1.1.2-3) ... Setting up libxcb1:i386 (1.13.1-2) ... Setting up libtool (2.4.6-9) ... Setting up m4 (1.4.18-2) ... Setting up nodejs (10.15.2~dfsg-2) ... update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode Setting up node-minimist (1.2.0-1) ... Setting up node-samsam (1.2.1-1) ... Setting up node-he (1.1.1-1) ... Setting up node-clone (2.1.2-1) ... Setting up node-has-flag (2.0.0-1) ... Setting up node-inherits (2.0.3-1) ... Setting up node-path-is-absolute (1.0.0-1) ... Setting up node-encodeurl (1.0.1-1) ... Setting up node-y18n (3.2.1-2) ... Setting up node-shebang-regex (2.0.0-1) ... Setting up node-mime-types (2.1.21-1) ... Setting up node-balanced-match (0.4.2-1) ... Setting up node-is-stream (1.1.0-1) ... Setting up node-toidentifier (1.0.0-2) ... Setting up node-p-finally (1.0.0-2) ... Setting up node-get-stream (3.0.0-1) ... Setting up shared-mime-info (1.10-1) ... Setting up bsdmainutils (11.1.2+b1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up node-set-blocking (2.0.0-1) ... Setting up libcroco3:i386 (0.6.12-3) ... Setting up node-signal-exit (3.0.2-1) ... Setting up node-media-typer (0.3.0-2) ... Setting up node-wrappy (1.0.2-1) ... Setting up autoconf (2.69-11) ... Setting up node-require-directory (2.1.1-1) ... Setting up node-defaults (1.0.3-1) ... Setting up node-range-parser (1.2.0-1) ... Setting up node-commander (2.12.2-3) ... Setting up dwz (0.12-3) ... Setting up groff-base (1.22.4-3) ... Setting up node-mimic-fn (1.1.0-1) ... Setting up libx11-6:i386 (2:1.6.7-1) ... Setting up node-mkdirp (0.5.1-1) ... Setting up node-statuses (1.5.0-3) ... Setting up node-xtend (4.0.1-2) ... Setting up node-formatio (1.2.0-2) ... Setting up node-bytes (3.0.0-1) ... Setting up node-wordwrap (1.0.0-1) ... Setting up node-on-finished (2.3.0-1) ... Setting up node-npm-run-path (2.0.2-2) ... Setting up node-ms (2.1.1-1) ... Setting up node-shebang-command (1.2.0-1) ... Setting up node-strip-eof (1.0.0-2) ... Setting up node-unpipe (1.0.0-1) ... Setting up node-escape-html (1.0.3-1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up node-qs (6.5.2-1) ... Setting up node-colors (1.1.2-1) ... Setting up node-fs.realpath (1.0.0-1) ... Setting up node-content-type (1.0.4-1) ... Setting up node-iconv (2.3.2-1) ... Setting up node-diff (1.4.0~dfsg-1) ... Setting up node-mem (1.1.0-1) ... Setting up gettext (0.19.8.1-9) ... Setting up node-supports-color (4.4.0-2) ... Setting up node-invert-kv (1.0.0-1) ... Setting up node-p-limit (1.1.0-1) ... Setting up node-yallist (3.0.3-1) ... Setting up node-ansi-regex (3.0.0-1) ... Setting up node-once (1.4.0-3) ... Setting up node-browser-stdout (1.3.0-1) ... Setting up node-lolex (2.2.0-1) ... Setting up node-crc (3.0.0-3) ... Setting up node-get-caller-file (1.0.2-1) ... Setting up node-require-main-filename (1.0.1-1) ... Setting up node-parseurl (1.3.0-1) ... Setting up node-concat-map (0.0.1-1) ... Setting up node-utils-merge (1.0.0-1) ... Setting up node-depd (1.1.2-1) ... Setting up node-co (4.6.0-1) ... Setting up node-isexe (2.0.0-4) ... Setting up node-path-exists (3.0.0-1) ... Setting up node-fresh (0.2.0-2) ... Setting up node-escape-string-regexp (1.0.5-1) ... Setting up node-p-locate (2.0.0-1) ... Setting up node-which-module (2.0.0-1) ... Setting up node-decamelize (1.2.0-1) ... Setting up node-color-name (1.1.3-1) ... Setting up node-debug (3.1.0-2) ... Setting up libjs-util (0.10.3-2) ... Setting up node-camelcase (5.0.0-1) ... Setting up node-rx (4.1.0+dfsg1-1) ... Setting up node-type-is (1.6.16-1) ... Setting up node-setprototypeof (1.1.0-1) ... Setting up man-db (2.8.5-2) ... Not building database; man-db/auto-update is not 'true'. Setting up node-etag (1.4.0-1) ... Setting up node-yargs-parser (11.1.1-1) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up node-wcwidth.js (1.0.0-1) ... Setting up node-locate-path (2.0.0-1) ... Setting up node-brace-expansion (1.1.8-1) ... Setting up libgdk-pixbuf2.0-0:i386 (2.38.1+dfsg-1) ... Setting up node-strip-ansi (4.0.0-1) ... Setting up node-optimist (0.6.1-1) ... Setting up node-acorn (5.5.3+ds3-3) ... Setting up node-which (1.3.0-2) ... Setting up node-lcid (1.0.0-1) ... Setting up node-cli-table (0.3.1-1) ... Setting up node-http-errors (1.7.1-1) ... Setting up node-inflight (1.0.6-1) ... Setting up node-minimatch (3.0.4-3) ... Setting up node-color-convert (1.9.0-3) ... Setting up node-string-width (2.1.1-1) ... Setting up node-send (0.16.2-1) ... Setting up node-lru-cache (5.1.1-4) ... Setting up po-debconf (1.0.21) ... Setting up node-find-up (2.1.0-1) ... Setting up node-serve-static (1.6.4-3) ... Setting up node-util (0.10.3-2) ... Setting up node-cross-spawn (5.1.0-2) ... Setting up node-ansi-styles (3.2.1-1) ... Setting up node-glob (7.1.3-2) ... Setting up libnotify4:i386 (0.7.7-4) ... Setting up node-raw-body (2.3.3-3) ... Setting up libnotify-bin (0.7.7-4) ... Setting up node-body-parser (1.18.3-2) ... Setting up node-sinon (1.17.6-1) ... Setting up node-rimraf (2.6.2-1) ... Setting up node-execa (0.10.0+dfsg-1) ... Setting up node-growl (1.10.5-2) ... Setting up node-os-locale (2.0.0-1) ... Setting up node-wrap-ansi (4.0.0-1) ... Setting up mocha (4.1.0+ds3-5) ... Setting up node-cliui (4.1.0-1) ... Setting up node-yargs (10.0.3-2) ... Setting up node-uglify (2.8.29-6) ... Setting up dh-strip-nondeterminism (1.1.2-1) ... Setting up debhelper (12.1.1) ... Setting up dh-autoreconf (19) ... Setting up dh-buildinfo (0.11+nmu2) ... Processing triggers for libc-bin (2.28-10) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.23-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/node-bluebird-3.5.1+dfsg2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b dpkg-buildpackage: info: source package node-bluebird dpkg-buildpackage: info: source version 3.5.1+dfsg2-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Ross Gammon dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 fakeroot debian/rules clean dh clean debian/rules override_dh_auto_clean make[1]: Entering directory '/build/node-bluebird-3.5.1+dfsg2' dh_auto_clean rm -rf js make[1]: Leaving directory '/build/node-bluebird-3.5.1+dfsg2' dh_clean debian/rules build make: 'build' is up to date. fakeroot debian/rules binary dh binary dh_update_autotools_config dh_autoreconf debian/rules override_dh_auto_build make[1]: Entering directory '/build/node-bluebird-3.5.1+dfsg2' # Bluebird depends on itself to build. Therefore we need to copy a # prebuilt version of Bluebird into place to bootstrap things in # Debian. cp -r /build/node-bluebird-3.5.1+dfsg2/debian/node-modules/ /build/node-bluebird-3.5.1+dfsg2/node_modules/ nodejs tools/build.js --release --no-minify rm -r /build/node-bluebird-3.5.1+dfsg2/node_modules/ make[1]: Leaving directory '/build/node-bluebird-3.5.1+dfsg2' debian/rules override_dh_auto_test make[1]: Entering directory '/build/node-bluebird-3.5.1+dfsg2' # Use the Debian built release of bluebird for tests mkdir -p /build/node-bluebird-3.5.1+dfsg2/node_modules/bluebird/js/release cp /build/node-bluebird-3.5.1+dfsg2/js/release/* /build/node-bluebird-3.5.1+dfsg2/node_modules/bluebird/js/release/ cp /build/node-bluebird-3.5.1+dfsg2/package.json /build/node-bluebird-3.5.1+dfsg2/node_modules/bluebird/ # Some tests are failing/flaky. Therefore the following command # cannot be run for now: #nodejs tools/test --no-js-hint # Here are the failing tests (should try globbing them out to avoid # testing each of the others separately): #nodejs tools/test --run=tapCatch.js #nodejs tools/test --run=generator.js #nodejs tools/test --run=getNewLibraryCopy.js #nodejs tools/test --run=long_stack_traces.js # These tests work: nodejs tools/test --run=2.1.2.js --no-js-hint  2.1.2.1: When fulfilled, a promise: must not transition to any other state. ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ trying to fulfill then immediately reject ✓ trying to fulfill then reject, delayed ✓ trying to fulfill immediately then reject delayed 6 passing (30ms) nodejs tools/test --run=filter.js --no-js-hint  Promise filter should accept eventual booleans ✓ immediately fulfilled ✓ already fulfilled ✓ eventually fulfilled ✓ immediately rejected ✓ already rejected ✓ eventually rejected ✓ immediately fulfilled thenable ✓ eventually fulfilled thenable ✓ immediately rejected thenable ✓ eventually rejected thenable 10 passing (69ms) nodejs tools/test --run=tap.js --no-js-hint  tap ✓ passes through value ✓ passes through value after returned promise is fulfilled ✓ is not called on rejected promise ✓ passes immediate rejection ✓ passes eventual rejection ✓ passes value 6 passing (44ms) nodejs tools/test --run=2.1.3.js --no-js-hint  2.1.3.1: When rejected, a promise: must not transition to any other state. ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected ✓ trying to reject then immediately fulfill ✓ trying to reject then fulfill, delayed ✓ trying to reject immediately then fulfill delayed 6 passing (36ms) nodejs tools/test --run=finally.js --no-js-hint  finally when nothing is passed ✓ should do nothing when the promise is fulfilled ✓ should call the callback ✓ should fulfill with the original value when the callback returns a promise that is fulfilled ✓ should fulfill with the original reason after that promise resolves that is rejected ✓ should reject with this new rejection reason when the callback throws an exception ✓ should reject with this new exception when the promise is rejected ✓ should call the callback ✓ should reject with the original reason when the callback returns a promise that is fulfilled ✓ should reject with the original reason after that promise resolves that is rejected ✓ should reject with the new reason when the callback throws an exception ✓ should reject with this new exception when the callback returns a thenable that will fulfill ✓ should reject with the original reason after that that is rejected ✓ should reject with the new reason ✓ should reject with the new primitive reason 14 passing (57ms) nodejs tools/test --run=2.2.1.js --no-js-hint  2.2.1: Both `onFulfilled` and `onRejected` are optional arguments. 2.2.1.1: If `onFulfilled` is not a function, it must be ignored. ✓ `onFulfilled` is `undefined` ✓ `onFulfilled` is `null` ✓ `onFulfilled` is `false` ✓ `onFulfilled` is `5` ✓ `onFulfilled` is an object 2.2.1.2: If `onRejected` is not a function, it must be ignored. ✓ `onRejected` is `undefined` ✓ `onRejected` is `null` ✓ `onRejected` is `false` ✓ `onRejected` is `5` ✓ `onRejected` is an object 10 passing (39ms) nodejs tools/test --run=following.js --no-js-hint  Using deferreds a promise A that is following a promise B ✓ Must not react to fulfill/reject/ that don't come from promise B ✓ Must not start following another promise C ✓ Must react to fulfill/reject that come from promise B Using static immediate methods a promise A that is following a promise B ✓ Should be instantly fulfilled with Bs fulfillment value if B was fulfilled ✓ Should be instantly fulfilled with Bs parent fulfillment value if B was fulfilled with a parent Rejecting a promise A with promise B ✓ Should reject promise A with B as reason Using constructor a promise A that is following a promise B ✓ Must not react to fulfill/reject that don't come from promise B ✓ Must not start following another promise C 8 passing (46ms) nodejs tools/test --run=timers.js --no-js-hint  timeout ✓ should do nothing if the promise fulfills quickly ✓ should do nothing if the promise rejects quickly ✓ should reject with a timeout error if the promise is too slow ✓ should reject with a custom timeout error if the promise is too slow and msg was provided ✓ should cancel the parent promise once the timeout expires ✓ should not cancel the parent promise if there are multiple consumers Unhandled rejection TimeoutError: operation timed out at afterTimeout (/build/node-bluebird-3.5.1+dfsg2/js/debug/timers.js:46:19) at timeoutTimeout (/build/node-bluebird-3.5.1+dfsg2/js/debug/timers.js:76:13) at checkTimers (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :20:17) at Immediate.timerLoop [as _onImmediate] (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :63:17) From previous event: at Promise.longStackTracesCaptureStackTrace [as _captureStackTrace] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:417:19) at Promise._then (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:235:17) at Promise.timeout (/build/node-bluebird-3.5.1+dfsg2/js/debug/timers.js:82:22) at Context. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/timers.js:82:11) at callFn (/usr/lib/nodejs/mocha/lib/runnable.js:354:21) at Test.Runnable.run (/usr/lib/nodejs/mocha/lib/runnable.js:346:7) at Runner.runTest (/usr/lib/nodejs/mocha/lib/runner.js:442:10) at /usr/lib/nodejs/mocha/lib/runner.js:560:12 at next (/usr/lib/nodejs/mocha/lib/runner.js:356:14) at /usr/lib/nodejs/mocha/lib/runner.js:366:7 at next (/usr/lib/nodejs/mocha/lib/runner.js:290:14) at Immediate. (/usr/lib/nodejs/mocha/lib/runner.js:334:5) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) timer handle clearouts ✓ should clear timeouts with proper handle type when fulfilled ✓ should clear timeouts with proper handle type when rejected delay ✓ should not delay rejection ✓ should delay after resolution ✓ should resolve follower promise's value ✓ should reject with a custom error if an error was provided as a parameter 12 passing (55ms) nodejs tools/test --run=2.2.2.js --no-js-hint  2.2.2: If `onFulfilled` is a function, 2.2.2.1: it must be called after `promise` is fulfilled, with `promise`’s fulfillment value as its first argument. ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled 2.2.2.2: it must not be called before `promise` is fulfilled ✓ fulfilled after a delay ✓ never fulfilled 2.2.2.3: it must not be called more than once. ✓ already-fulfilled ✓ trying to fulfill a pending promise more than once, immediately ✓ trying to fulfill a pending promise more than once, delayed ✓ trying to fulfill a pending promise more than once, immediately then delayed ✓ when multiple `then` calls are made, spaced apart in time ✓ when `then` is interleaved with fulfillment 11 passing (35ms) nodejs tools/test --run=try.js --no-js-hint  Promise.attempt ✓ should reject when the function throws ✓ should reject when the function is not a function ✓ should unwrap returned promise ✓ should unwrap returned thenable 4 passing (37ms) nodejs tools/test --run=2.2.3.js --no-js-hint  2.2.3: If `onRejected` is a function, 2.2.3.1: it must be called after `promise` is rejected, with `promise`’s rejection reason as its first argument. ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 2.2.3.2: it must not be called before `promise` is rejected ✓ rejected after a delay ✓ never rejected 2.2.3.3: it must not be called more than once. ✓ already-rejected ✓ trying to reject a pending promise more than once, immediately ✓ trying to reject a pending promise more than once, delayed ✓ trying to reject a pending promise more than once, immediately then delayed ✓ when multiple `then` calls are made, spaced apart in time ✓ when `then` is interleaved with rejection 11 passing (41ms) nodejs tools/test --run=get.js --no-js-hint  indexed getter ✓ gets positive index ✓ gets negative index identifier getter ✓ gets property ✓ gets same property non identifier getters ✓ get property - overflow cache 5 passing (29ms) 1 pending nodejs tools/test --run=unhandled_rejections.js --no-js-hint  Will report rejections that are not handled in time ✓ Immediately rejected not handled at all ✓ Eventually rejected not handled at all ✓ Immediately rejected handled too late ✓ Eventually rejected handled too late Will report rejections that are code errors ✓ Immediately fulfilled handled with erroneous code ✓ Eventually fulfilled handled with erroneous code ✓ Already fulfilled handled with erroneous code but then recovered and failDeferred again ✓ Immediately fulfilled handled with erroneous code but then recovered and failDeferred again ✓ Eventually fulfilled handled with erroneous code but then recovered and failDeferred again ✓ Already fulfilled handled with erroneous code but then recovered in a parallel handler and failDeferred again Will report rejections that are not instanceof Error ✓ Immediately rejected with non instanceof Error ✓ Eventually rejected with non instanceof Error Will handle hostile rejection reasons like frozen objects ✓ Immediately rejected with non instanceof Error ✓ Eventually rejected with non instanceof Error Will not report rejections that are handled in time ✓ Already rejected handled ✓ Immediately rejected handled ✓ Eventually rejected handled ✓ Already rejected handled in a deep sequence ✓ Immediately rejected handled in a deep sequence ✓ Eventually handled in a deep sequence ✓ Already rejected handled in a middle parallel deep sequence ✓ Immediately rejected handled in a middle parallel deep sequence ✓ Eventually handled in a middle parallel deep sequence immediate assert.failures without .then ✓ Promise.reject ✓ new Promise throw ✓ new Promise reject ✓ Promise.method ✓ Promise.all immediate assert.failures with .then ✓ Promise.reject ✓ new Promise throw ✓ new Promise reject ✓ Promise.method ✓ Promise.all ✓ Promise.all many ✓ Promise.all many, latter async ✓ Promise.all many pending ✓ Already rejected promise for a collection gh-118 ✓ eventually rejected promise ✓ already rejected promise ✓ immediately rejected promise Promise.onUnhandledRejectionHandled ✓ should be called when unhandled promise is later handled global events ✓ are fired ✓ are fired with local events Unhandled rejection when joining chains with common rejected parent ✓ GH 645 No unhandled rejection from async await ✓ gh-1404 45 passing (160ms) nodejs tools/test --run=2.2.4.js --no-js-hint  2.2.4: `onFulfilled` or `onRejected` must not be called until the execution context stack contains only platform code. `then` returns before the promise becomes fulfilled or rejected ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected Clean-stack execution ordering tests (fulfillment case) ✓ when `onFulfilled` is added immediately before the promise is fulfilled ✓ when `onFulfilled` is added immediately after the promise is fulfilled ✓ when one `onFulfilled` is added inside another `onFulfilled` ✓ when `onFulfilled` is added inside an `onRejected` ✓ when the promise is fulfilled asynchronously Clean-stack execution ordering tests (rejection case) ✓ when `onRejected` is added immediately before the promise is rejected ✓ when `onRejected` is added immediately after the promise is rejected ✓ when `onRejected` is added inside an `onFulfilled` ✓ when one `onRejected` is added inside another `onRejected` ✓ when the promise is rejected asynchronously 16 passing (46ms) nodejs tools/test --run=using.js --no-js-hint  Promise.using ✓ simple happy case ✓ simple async happy case ✓ simple unhappy case ✓ calls async disposers sequentially ✓ calls async disposers sequentially when assert.failing ✓ calls promised async disposers sequentially ✓ calls promised async disposers sequentially when assert.failing ✓ mixed promise, promise-for-disposer and disposer ✓ successful transaction ✓ successful async transaction ✓ successful transaction with an immediate promise before disposer creation ✓ successful transaction with an eventual promise before disposer creation ✓ assert.fail transaction ✓ assert.fail async transaction ✓ with using coming from another Promise instance ✓ with using coming from another Promise instance other way around ✓ disposer throwing should throw in node process ✓ Return rejected promise with less than 2 arguments ✓ Throw if disposer is not passed a function ✓ Mixed rejected disposers are not called ✓ Return rejected promise when last argument is not function ✓ Supports an array of 2 items ✓ Supports an empty array ✓ null disposer is called 24 passing (90ms) nodejs tools/test --run=2.2.5.js --no-js-hint  2.2.5 `onFulfilled` and `onRejected` must be called as functions (i.e. with no `this` value). strict mode ✓ fulfilled ✓ rejected sloppy mode ✓ fulfilled ✓ rejected 4 passing (20ms) nodejs tools/test --run=github-2xx-76.js --no-js-hint  github276 - stack trace cleaner ✓ message with newline and a$_b should not be removed 1 passing (23ms) nodejs tools/test --run=2.2.6.js --no-js-hint  2.2.6: `then` may be called multiple times on the same promise. 2.2.6.1: If/when `promise` is fulfilled, all respective `onFulfilled` callbacks must execute in the order of their originating calls to `then`. multiple boring fulfillment handlers ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled multiple fulfillment handlers, one of which throws ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled results in multiple branching chains with their own fulfillment values ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` handlers are called in the original order ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled even when one handler is added inside another handler ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled 2.2.6.2: If/when `promise` is rejected, all respective `onRejected` callbacks must execute in the order of their originating calls to `then`. multiple boring rejection handlers ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected multiple rejection handlers, one of which throws ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected results in multiple branching chains with their own fulfillment values ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` handlers are called in the original order ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected even when one handler is added inside another handler ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 30 passing (151ms) nodejs tools/test --run=github-3.6.4.js --no-js-hint  github-364 ✓ resolve between thens 1 passing (20ms) nodejs tools/test --run=2.2.7.js --no-js-hint  2.2.7: `then` must return a promise: `promise2 = promise1.then(onFulfilled, onRejected)` ✓ is a promise 2.2.7.1: If either `onFulfilled` or `onRejected` returns a value `x`, run the Promise Resolution Procedure `[[Resolve]](promise2, x)` ✓ see separate 3.3 tests 2.2.7.2: If either `onFulfilled` or `onRejected` throws an exception `e`, `promise2` must be rejected with `e` as the reason. The reason is `undefined` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is `null` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is `false` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is `0` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is an error ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is an error without a stack ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is a date ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is an object ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is an always-pending thenable ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is a fulfilled promise ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is a rejected promise ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 2.2.7.3: If `onFulfilled` is not a function and `promise1` is fulfilled, `promise2` must be fulfilled with the same value. `onFulfilled` is `undefined` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is `null` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is `false` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is `5` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is an object ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is an array containing a function ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled 2.2.7.4: If `onRejected` is not a function and `promise1` is rejected, `promise2` must be rejected with the same reason. `onRejected` is `undefined` ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is `null` ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is `false` ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is `5` ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is an object ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is an array containing a function ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 104 passing (230ms) nodejs tools/test --run=github-3.7.3.js --no-js-hint  github-373 ✓ unhandled unsuccessful Promise.join should result in correct error being reported 1 passing (26ms) nodejs tools/test --run=2.3.1.js --no-js-hint  2.3.1: If `promise` and `x` refer to the same object, reject `promise` with a `TypeError' as the reason. ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2 passing (26ms) nodejs tools/test --run=github-4.1.7.js --no-js-hint  Github #417 ✓ minimal repro ✓ original repro 2 passing (18ms) nodejs tools/test --run=2.3.2.js --no-js-hint  2.3.2: If `x` is a promise, adopt its state 2.3.2.1: If `x` is pending, `promise` must remain pending until `x` is fulfilled or rejected. ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.2.2: If/when `x` is fulfilled, fulfill `promise` with the same value. `x` is already-fulfilled ✓ via return from a fulfilled promise ✓ via return from a rejected promise `x` is eventually-fulfilled ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.2.3: If/when `x` is rejected, reject `promise` with the same reason. `x` is already-rejected ✓ via return from a fulfilled promise ✓ via return from a rejected promise `x` is eventually-rejected ✓ via return from a fulfilled promise ✓ via return from a rejected promise 10 passing (45ms) nodejs tools/test --run=github36.js --no-js-hint  github36 ✓ should work 1 passing (25ms) nodejs tools/test --run=2.3.3.js --no-js-hint  2.3.3: Otherwise, if `x` is an object or function, 2.3.3.1: Let `then` be `x.then` `x` is an object with null prototype ✓ via return from a fulfilled promise ✓ via return from a rejected promise `x` is an object with normal Object.prototype ✓ via return from a fulfilled promise ✓ via return from a rejected promise `x` is a function ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.3.2: If retrieving the property `x.then` results in a thrown exception `e`, reject `promise` with `e` as the reason. `e` is `undefined` ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is `null` ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is `false` ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is `0` ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is an error ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is an error without a stack ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is a date ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is an object ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is an always-pending thenable ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is a fulfilled promise ✓ via return from a fulfilled promise ✓ via return from a rejected promise `e` is a rejected promise ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.3.3: If `then` is a function, call it with `x` as `this`, first argument `resolvePromise`, and second argument `rejectPromise` Calls with `x` as `this` and two function arguments ✓ via return from a fulfilled promise ✓ via return from a rejected promise Uses the original value of `then` ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.3.3.1: If/when `resolvePromise` is called with value `y`, run `[[Resolve]](promise, y)` `y` is not a thenable `y` is `undefined` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is `null` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is `false` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is `5` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an object `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an array `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable `y` is a synchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-rejected one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that immediately throws in `then` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an object with a throwing `then` accessor `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable for a thenable `y` is a synchronously-fulfilled custom thenable for a synchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for an asynchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for a synchronously-fulfilled one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for a thenable that tries to fulfill twice `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for a thenable that fulfills but then throws `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for an already-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for an eventually-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for a synchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for an asynchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for a synchronously-rejected one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for a thenable that immediately throws in `then` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for an object with a throwing `then` accessor `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for an already-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled custom thenable for an eventually-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for a synchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for an asynchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for a synchronously-fulfilled one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for a thenable that tries to fulfill twice `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for a thenable that fulfills but then throws `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for an already-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for an eventually-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for a synchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for an asynchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for a synchronously-rejected one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for a thenable that immediately throws in `then` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for an object with a throwing `then` accessor `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for an already-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an asynchronously-fulfilled custom thenable for an eventually-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for a synchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for an asynchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for a synchronously-fulfilled one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for a thenable that tries to fulfill twice `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for a thenable that fulfills but then throws `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for an already-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for an eventually-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for a synchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for an asynchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for a synchronously-rejected one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for a thenable that immediately throws in `then` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for an object with a throwing `then` accessor `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for an already-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a synchronously-fulfilled one-time thenable for an eventually-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for a synchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for an asynchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for a synchronously-fulfilled one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for a thenable that tries to fulfill twice `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for a thenable that fulfills but then throws `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for an already-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for an eventually-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for a synchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for an asynchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for a synchronously-rejected one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for a thenable that immediately throws in `then` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for an object with a throwing `then` accessor `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for an already-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that tries to fulfill twice for an eventually-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for a synchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for an asynchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for a synchronously-fulfilled one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for a thenable that tries to fulfill twice `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for a thenable that fulfills but then throws `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for an already-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for an eventually-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for a synchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for an asynchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for a synchronously-rejected one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for a thenable that immediately throws in `then` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for an object with a throwing `then` accessor `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for an already-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is a thenable that fulfills but then throws for an eventually-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for a synchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for an asynchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for a synchronously-fulfilled one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for a thenable that tries to fulfill twice `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for a thenable that fulfills but then throws `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for an already-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for an eventually-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for a synchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for an asynchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for a synchronously-rejected one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for a thenable that immediately throws in `then` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for an object with a throwing `then` accessor `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for an already-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an already-fulfilled promise for an eventually-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for a synchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for an asynchronously-fulfilled custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for a synchronously-fulfilled one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for a thenable that tries to fulfill twice `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for a thenable that fulfills but then throws `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for an already-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for an eventually-fulfilled promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for a synchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for an asynchronously-rejected custom thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for a synchronously-rejected one-time thenable `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for a thenable that immediately throws in `then` `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for an object with a throwing `then` accessor `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for an already-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `y` is an eventually-fulfilled promise for an eventually-rejected promise `then` calls `resolvePromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.3.3.2: If/when `rejectPromise` is called with reason `r`, reject `promise` with `r` `r` is `undefined` `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is `null` `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is `false` `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is `0` `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is an error `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is an error without a stack `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is a date `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is an object `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is an always-pending thenable `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is a fulfilled promise `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `r` is a rejected promise `then` calls `rejectPromise` synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` calls `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.3.3.3: If both `resolvePromise` and `rejectPromise` are called, or multiple calls to the same argument are made, the first call takes precedence, and any further calls are ignored. calling `resolvePromise` then `rejectPromise`, both synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` synchronously then `rejectPromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` then `rejectPromise`, both asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` with an asynchronously-fulfilled promise, then calling `rejectPromise`, both synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` with an asynchronously-rejected promise, then calling `rejectPromise`, both synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `rejectPromise` then `resolvePromise`, both synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `rejectPromise` synchronously then `resolvePromise` asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `rejectPromise` then `resolvePromise`, both asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` twice synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` twice, first synchronously then asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` twice, both times asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` with an asynchronously-fulfilled promise, then calling it again, both times synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `resolvePromise` with an asynchronously-rejected promise, then calling it again, both times synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `rejectPromise` twice synchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `rejectPromise` twice, first synchronously then asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise calling `rejectPromise` twice, both times asynchronously ✓ via return from a fulfilled promise ✓ via return from a rejected promise saving and abusing `resolvePromise` and `rejectPromise` ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.3.3.4: If calling `then` throws an exception `e`, 2.3.3.3.4.1: If `resolvePromise` or `rejectPromise` have been called, ignore it. `resolvePromise` was called with a non-thenable ✓ via return from a fulfilled promise ✓ via return from a rejected promise `resolvePromise` was called with an asynchronously-fulfilled promise ✓ via return from a fulfilled promise ✓ via return from a rejected promise `resolvePromise` was called with an asynchronously-rejected promise ✓ via return from a fulfilled promise ✓ via return from a rejected promise `rejectPromise` was called ✓ via return from a fulfilled promise ✓ via return from a rejected promise `resolvePromise` then `rejectPromise` were called ✓ via return from a fulfilled promise ✓ via return from a rejected promise `rejectPromise` then `resolvePromise` were called ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.3.3.4.2: Otherwise, reject `promise` with `e` as the reason. straightforward case ✓ via return from a fulfilled promise ✓ via return from a rejected promise `resolvePromise` is called asynchronously before the `throw` ✓ via return from a fulfilled promise ✓ via return from a rejected promise `rejectPromise` is called asynchronously before the `throw` ✓ via return from a fulfilled promise ✓ via return from a rejected promise 2.3.3.4: If `then` is not a function, fulfill promise with `x` `then` is `5` ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` is an object ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` is an array containing a function ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` is a regular expression ✓ via return from a fulfilled promise ✓ via return from a rejected promise `then` is an object inheriting from `Function.prototype` ✓ via return from a fulfilled promise ✓ via return from a rejected promise 610 passing (1s) nodejs tools/test --run=is.js --no-js-hint  Promise.is ✓ should return true for trusted promise ✓ should return false for untrusted promise 2 passing (12ms) nodejs tools/test --run=2.3.4.js --no-js-hint  2.3.4: If `x` is not an object or function, fulfill `promise` with `x` The value is `undefined` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `null` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `false` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `true` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `0` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `true` with `Boolean.prototype` modified to have a `then` method ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `1` with `Number.prototype` modified to have a `then` method ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 42 passing (72ms) nodejs tools/test --run=join.js --no-js-hint  Promise.join-test ✓ should resolve empty input ✓ should join values ✓ should join promises array ✓ should join mixed array ✓ should reject if any input promise rejects ✓ should call last argument as a spread function ✓ gh-227 ✓ should not pass the callback as argument, <5 arguments ✓ should not pass the callback as argument >5 arguments ✓ should ensure asynchronity 10 passing (44ms) nodejs tools/test --run=3.2.1.js --no-js-hint  3.2.1: Both `onFulfilled` and `onRejected` are optional arguments. 3.2.1.1: If `onFulfilled` is not a function, it must be ignored. ✓ `onFulfilled` is `undefined` ✓ `onFulfilled` is `null` ✓ `onFulfilled` is `false` ✓ `onFulfilled` is `5` ✓ `onFulfilled` is an object 3.2.1.2: If `onRejected` is not a function, it must be ignored. ✓ `onRejected` is `undefined` ✓ `onRejected` is `null` ✓ `onRejected` is `false` ✓ `onRejected` is `5` ✓ `onRejected` is an object 10 passing (25ms) nodejs tools/test --run=late_buffer_safety.js --no-js-hint  Late buffer ✓ shouldn't stop at first error but continue consumption until everything is consumed 1 passing (29ms) nodejs tools/test --run=3.2.2.js --no-js-hint  3.2.2: If `onFulfilled` is a function, 3.2.2.1: it must be called after `promise` is fulfilled, with `promise`’s fulfillment value as its first argument. ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled 3.2.2.2: it must not be called more than once. ✓ already-fulfilled ✓ trying to fulfill a pending promise more than once, immediately ✓ trying to fulfill a pending promise more than once, delayed ✓ trying to fulfill a pending promise more than once, immediately then delayed ✓ when multiple `then` calls are made, spaced apart in time ✓ when `then` is interleaved with fulfillment 3.2.2.3: it must not be called if `onRejected` has been called. ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected ✓ trying to reject then immediately fulfill ✓ trying to reject then fulfill, delayed ✓ trying to reject immediately then fulfill delayed 15 passing (63ms) nodejs tools/test --run=3.2.3.js --no-js-hint  3.2.3: If `onRejected` is a function, 3.2.3.1: it must be called after `promise` is rejected, with `promise`’s rejection reason as its first argument. ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 3.2.3.2: it must not be called more than once. ✓ already-rejected ✓ trying to reject a pending promise more than once, immediately ✓ trying to reject a pending promise more than once, delayed ✓ trying to reject a pending promise more than once, immediately then delayed ✓ when multiple `then` calls are made, spaced apart in time ✓ when `then` is interleaved with rejection 3.2.3.3: it must not be called if `onFulfilled` has been called. ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ trying to fulfill then immediately reject ✓ trying to fulfill then reject, delayed ✓ trying to fulfill immediately then reject delayed 15 passing (53ms) nodejs tools/test --run=map.js --no-js-hint  Promise.map-test ✓ should map input values array ✓ should map input promises array ✓ should map mixed input array ✓ should map input when mapper returns a promise ✓ should accept a promise for an array ✓ should throw a TypeError when input promise does not resolve to an array ✓ should map input promises when mapper returns a promise ✓ should reject when input contains rejection ✓ should call mapper asynchronously on values array ✓ should call mapper asynchronously on promises array ✓ should call mapper asynchronously on mixed array Promise.map-test with concurrency ✓ should map input values array with concurrency ✓ should map input promises array with concurrency ✓ should map mixed input array with concurrency ✓ should map input when mapper returns a promise with concurrency ✓ should accept a promise for an array with concurrency ✓ should resolve to empty array when input promise does not resolve to an array with concurrency ✓ should map input promises when mapper returns a promise with concurrency ✓ should reject when input contains rejection with concurrency ✓ should not have more than {concurrency} promises in flight 20 passing (54ms) nodejs tools/test --run=3.2.4.js --no-js-hint  3.2.4: `then` must return before `onFulfilled` or `onRejected` is called ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 6 passing (39ms) nodejs tools/test --run=method.js --no-js-hint  Promise.method ✓ should reject when the function throws ✓ should throw when the function is not a function ✓ should call the function with the given receiver ✓ should call the function with the given value ✓ should apply the function if given value is array ✓ should unwrap returned promise ✓ should unwrap returned thenable ✓ should unwrap a following promise ✓ zero arguments length should remain zero ✓ should retain binding from returned promise 10 passing (96ms) nodejs tools/test --run=3.2.5.js --no-js-hint  3.2.5: `then` may be called multiple times on the same promise. 3.2.5.1: If/when `promise` is fulfilled, respective `onFulfilled` callbacks must execute in the order of their originating calls to `then`. multiple boring fulfillment handlers ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled multiple fulfillment handlers, one of which throws ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled results in multiple branching chains with their own fulfillment values ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` handlers are called in the original order ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled even when one handler is added inside another handler ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled 3.2.5.2: If/when `promise` is rejected, respective `onRejected` callbacks must execute in the order of their originating calls to `then`. multiple boring rejection handlers ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected multiple rejection handlers, one of which throws ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected results in multiple branching chains with their own fulfillment values ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` handlers are called in the original order ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected even when one handler is added inside another handler ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 30 passing (240ms) nodejs tools/test --run=monitoring.js --no-js-hint  monitoring: promise lifecycle events subscriptions simple events API ✓ promiseCreated ✓ promiseChained ✓ promiseRejected ✓ promiseFulfilled 4 passing (30ms) nodejs tools/test --run=3.2.6.js --no-js-hint  3.2.6: `then` must return a promise: `promise2 = promise1.then(onFulfilled, onRejected)` ✓ is a promise 3.2.6.1: If either `onFulfilled` or `onRejected` returns a value that is not a promise, `promise2` must be fulfilled with that value. The value is `undefined` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `null` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `false` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is `0` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is an error ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is a date ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is an object ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The value is an object with a non-function `then` property ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 3.2.6.2: If either `onFulfilled` or `onRejected` throws an exception, `promise2` must be rejected with the thrown exception as the reason. The reason is `undefined` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is `null` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is `false` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is `0` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is an error ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is a date ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is an object ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is a promise-alike ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is a fulfilled promise ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected The reason is a rejected promise ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 3.2.6.3: If either `onFulfilled` or `onRejected` returns a promise (call it `returnedPromise`), `promise2` must assume the state of `returnedPromise` 3.2.6.3.1: If `returnedPromise` is pending, `promise2` must remain pending until `returnedPromise` is fulfilled or rejected. ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 3.2.6.3.2: If/when `returnedPromise` is fulfilled, `promise2` must be fulfilled with the same value. `promise1` is fulfilled, and `returnedPromise` is: ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ a pseudo-promise `promise1` is rejected, and `returnedPromise` is: ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ a pseudo-promise 3.2.6.3.3: If/when `returnedPromise` is rejected, `promise2` must be rejected with the same reason. `promise1` is fulfilled, and `returnedPromise` is: ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected ✓ a pseudo-promise `promise1` is rejected, and `returnedPromise` is: ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected ✓ a pseudo-promise 3.2.6.4: If `onFulfilled` is not a function and `promise1` is fulfilled, `promise2` must be fulfilled with the same value. `onFulfilled` is `undefined` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is `null` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is `false` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is `5` ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is an object ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled `onFulfilled` is an array containing a function ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled 3.2.6.5: If `onRejected` is not a function and `promise1` is rejected, `promise2` must be rejected with the same reason. `onRejected` is `undefined` ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is `null` ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is `false` ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is `5` ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is an object ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected `onRejected` is an array containing a function ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 167 passing (293ms) nodejs tools/test --run=multiple-copies.js --no-js-hint  multiple copies ✓ are being loaded 1 passing (58ms) nodejs tools/test --run=any.js --no-js-hint  Promise.any-test ✓ should reject on empty input array ✓ should resolve with an input value ✓ should resolve with a promised input value ✓ should reject with all rejected input values if all inputs are rejected ✓ should accept a promise for an array ✓ should allow zero handlers ✓ should resolve to empty array when input promise does not resolve to array ✓ should reject when given immediately rejected promise 8 passing (54ms) nodejs tools/test --run=no_conflict.js --no-js-hint  Promise.noConflict ✓ should work 1 passing (10ms) nodejs tools/test --run=api_exceptions.js --no-js-hint  runtime API misuse should result in rejections ✓ returning promises circularly ✓ using illegal catchfilter ✓ non-function to map ✓ non-function to map inside then ✓ non-function to reduce ✓ non-function to reduce inside then ✓ non-integer to some ✓ non-integer to some inside then ✓ non-array to all ✓ non-array to all inside then static API misuse should just throw right away ✓ non-function to promise constructor ✓ non-function to coroutine ✓ non-object to promisifyAll ✓ non-function to promisify When passing non-collection argument to Promise.race() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .race() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When passing non-collection argument to Promise.all() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .all() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When passing non-collection argument to Promise.settle() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .settle() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When passing non-collection argument to Promise.any() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .any() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When passing non-collection argument to Promise.some() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .some() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When passing non-collection argument to Promise.map() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .map() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When passing non-collection argument to Promise.reduce() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .reduce() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When passing non-collection argument to Promise.filter() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .filter() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When passing non-collection argument to Promise.props() it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value When calling .props() on a promise that resolves to a non-collection it should reject ✓ immediate for non-collection value ✓ thenable for non-collection value ✓ promise for non-collection value 68 passing (110ms) nodejs tools/test --run=nodeify.js --no-js-hint  nodeify ✓ calls back with a resolution ✓ calls back with an undefined resolution ✓ calls back with an error ✓ forwards a promise ✓ returns undefined when a callback is passed nodeify ✓ throws normally in the node process if the function throws ✓ always returns promise for now ✓ should spread arguments with spread option ✓ should wrap arguments with spread option ✓ should work then result is not an array ✓ should work if the callback throws when spread ✓ should work if the callback throws when rejected promise rejected with falsy values ✓ no reason ✓ null reason ✓ nodefying a follewer promise ✓ nodefier promise becomes follower 16 passing (46ms) nodejs tools/test --run=async.js --no-js-hint  Async requirement ✓ Basic ✓ Resolve-Before-Then ✓ Resolve-After-Then ✓ Then-Inside-Then Should not grow the stack and cause eventually stack overflow. ✓ Already fulfilled. ✓ Already rejected ✓ Immediately fulfilled ✓ Immediately rejected 8 passing (277ms) nodejs tools/test --run=promise_array.js --no-js-hint  all ✓ fulfills when passed an empty array ✓ supports iterables ✓ rejects after any constituent promise is rejected ✓ resolves foreign thenables ✓ fulfills when passed an sparse array Promise.all-test ✓ should resolve empty input ✓ should resolve values array ✓ should resolve promises array ✓ should not resolve sparse array input ✓ should reject if any input promise rejects ✓ should accept a promise for an array ✓ should reject when input promise does not resolve to array 12 passing (49ms) nodejs tools/test --run=bind.js --no-js-hint  when using .bind with finally this should refer to the bound object ✓ in straight-forward handler ✓ after promise returned from finally resolves with tap this should refer to the bound object ✓ in straight-forward handler ✓ after promise returned from tap resolves with timeout this should refer to the bound object ✓ in straight-forward handler ✓ in rejected handler ✓ in rejected handler after timeout With catch filters this should refer to the bound object ✓ in an immediately trapped catch handler ✓ in a later trapped catch handler With .get promises ✓ this should refer to the bound object With .call promises ✓ this should refer to the bound object With .done promises this should refer to the bound object ✓ when rejected ✓ when fulfilled With .spread promises this should refer to the bound object ✓ when spreading immediate array ✓ when spreading eventual array ✓ when spreading eventual array of eventual values With nodeify this should refer to the bound object ✓ when the callback succeeeds ✓ when the callback errs With map this should refer to the bound object ✓ inside the mapper with immediate values ✓ inside the mapper with eventual values ✓ after the mapper with immediate values ✓ after the mapper with eventual values ✓ after the mapper with immediate values when the map returns promises this should not refer to the bound object ✓ in the promises created within the handler With reduce this should refer to the bound object ✓ inside the reducer with immediate values ✓ inside the reducer with eventual values ✓ after the reducer with immediate values ✓ after the reducer with eventual values ✓ after the reducer with immediate values when the reducer returns promise this should not refer to the bound object ✓ in the promises created within the handler With filter this should refer to the bound object ✓ inside the filterer with immediate values ✓ inside the filterer with eventual values ✓ after the filterer with immediate values ✓ after the filterer with eventual values ✓ after the filterer with immediate values when the filterer returns promises this should not refer to the bound object ✓ in the promises created within the handler With all this should refer to the bound object ✓ after all with immediate values ✓ after all with eventual values this should not refer to the bound object ✓ in the promises created within the handler With any this should refer to the bound object ✓ after any with immediate values ✓ after any with eventual values this should not refer to the bound object ✓ in the promises created within the handler With race this should refer to the bound object ✓ after race with immediate values ✓ after race with eventual values this should not refer to the bound object ✓ in the promises created within the handler With delay this should refer to the bound object ✓ after race with immediate values ✓ after race with eventual values this should not refer to the bound object ✓ in the promises created within the handler With settle this should refer to the bound object ✓ after settle with immediate values ✓ after settle with eventual values this should not refer to the bound object ✓ in the promises created within the handler With some this should refer to the bound object ✓ after some with immediate values ✓ after some with eventual values ✓ after some with eventual array for eventual values this should not refer to the bound object ✓ in the promises created within the handler With props this should refer to the bound object ✓ after props with immediate values ✓ after props with eventual values this should not refer to the bound object ✓ in the promises created within the handler When using .bind to gratuitously rebind ✓ should not get confused immediately ✓ should not get confused immediate thenable ✓ should not get confused immediate promise ✓ should not get confused timed thenable ✓ should not get confused timed promise Promised thisArg ✓ basic case, this first ✓ bound value is not changed by returned promise ✓ basic case, main promise first ✓ both reject, this rejects first ✓ both reject, main promise rejects first ✓ Immediate value waits for deferred this ✓ Immediate error waits for deferred this ✓ if thisArg is rejected timed promise, returned promise is rejected ✓ if thisArg is rejected immediate promise, returned promise is rejected ✓ if thisArg is rejected timed thenable, returned promise is rejected ✓ if thisArg is rejected immediate thenable, returned promise is rejected ✓ if thisArg is rejected timed promise, returned promise is rejected ✓ if thisArg is rejected immediate promise, returned promise is rejected ✓ if thisArg is rejected timed thenable, returned promise is rejected ✓ if thisArg is rejected immediate thenable, returned promise is rejected github issue ✓ gh-426 ✓ gh-702-1 ✓ gh-702-2 promised bind ✓ works after following ✓ works with spread ✓ works with immediate finally ✓ works with delayed finally ✓ works with immediate tap ✓ works with delayed tap 87 passing (166ms) nodejs tools/test --run=promisify.js --no-js-hint  when calling promisified function it should ✓ return a promise that is pending ✓ should use this if no receiver was given ✓ do nothing when called more than 1 times ✓ undefined as receiver ✓ double promisification returns same function back ✓ call future attached handlers later ✓ Reject with the synchronously caught reason ✓ reject with the proper reason multi-args behaviors ✓ successMultiArgsSingleValue ✓ successMultiOptDisabledNoReceiver ✓ syncSuccessMultiOptDisabledNoReceiver ✓ successMultiOptEnabledNoReceiver ✓ syncSuccessMultiOptEnabledNoReceiver ✓ successMultiOptEnabledWithReceiver ✓ syncSccessMultiOptEnabledWithReceiver ✓ successMultiOptDisabledWithReceiver ✓ syncSccessMultiOptDisabledWithReceiver with more than 5 arguments ✓ receiver should still work promisify on objects ✓ should not repromisify ✓ should not repromisify function object ✓ should work on function objects too ✓ should work on prototypes and not mix-up the instances ✓ should work on prototypes and not mix-up the instances with more than 5 arguments ✓ Fails to promisify Async suffixed methods ✓ Calls overridden methods ✓ gh-232 ✓ Should lookup method dynamically if 'this' is given ✓ gh335 ✓ Should not promisify Object.prototype methods ✓ Should not promisify Object.prototype methods ✓ Should promisify non-enumerable methods Promisify with custom suffix ✓ should define methods with the custom suffix ✓ should throw on invalid suffix Module promisification ✓ should promisify module with direct property classes ✓ should promisify module with inherited property classes ✓ should promisify classes that have static methods Promisify from prototype to object ✓ Shouldn't touch the prototype when promisifying instance ✓ Shouldn't touch the method ✓ Should promisify own method even if a promisified method of same name already exists somewhere in proto chain ✓ Shouldn promisify the method closest to the object if method of same name already exists somewhere in proto chain Primitive errors wrapping ✓ when the node function throws it ✓ when the node function throws it inside then ✓ when the node function errbacks it synchronously ✓ when the node function errbacks it synchronously inside then ✓ when the node function errbacks it asynchronously ✓ when the node function errbacks it asynchronously inside then Custom promisifier ✓ getTab ✓ getTabErroneous ✓ Copies custom props promisifyFirst ✓ Copies custom props promisifyAll first ✓ Copies custom props no this ✓ custom promisifier enhancing default promisification ✓ multiArgs option enabled single value ✓ multiArgs option enabled multi value ✓ multiArgs option disabled single value ✓ multiArgs option disabled multi value OperationalError wrapping ✓ should wrap stringback ✓ should wrap errback ✓ should not wrap typeback ✓ should not wrap stringthrow ✓ should not wrap errthrow ✓ should not wrap typethrow nodeback with multiple arguments ✓ spreaded with immediate values ✓ spreaded with thenable values should be unwrapped ✓ spreaded with promise values should be unwrapped filter ✓ gets an argument whether default filter was passed ✓ doesn't fail when allowing non-identifier methods arity ✓ should be original - 1 github 680 ✓ should not try to promisify methods from Function.prototype, native or otherwise github 1063 ✓ should not cause error when called with no arguments github 1023 ✓ promisify triggers custom schedulers 71 passing (178ms) nodejs tools/test --run=bluebird-multiple-instances.js --no-js-hint  Separate instances of bluebird ✓ Should have identical Error types ✓ Should not be identical ✓ Should have different unhandled rejection handlers ✓ Should use fast cast ✓ Should use fast cast with very old version ✓ Should return 2 from very old promise ✓ Should reject primitive from fast cast ✓ Should reject object from fast cast 8 passing (69ms) nodejs tools/test --run=props.js --no-js-hint  Promise.props ✓ should reject undefined ✓ should reject primitive ✓ should resolve to new object ✓ should resolve value properties ✓ should resolve immediate properties ✓ should resolve eventual properties ✓ should reject if any input promise rejects ✓ should accept a promise for an object ✓ should reject a promise for a primitive ✓ should accept thenables in properties ✓ should accept a thenable for thenables in properties ✓ treats arrays for their properties ✓ works with es6 maps ✓ doesn't await promise keys in es6 maps ✓ empty map should resolve to empty map 15 passing (36ms) nodejs tools/test --run=call.js --no-js-hint  call ✓ 0 args ✓ 1 args ✓ 2 args ✓ 3 args ✓ 10 args ✓ method not found 6 passing (39ms) nodejs tools/test --run=race.js --no-js-hint  Promise.race ✓ remains forever pending when passed an empty array ✓ remains forever pending when passed an empty sparse array ✓ fulfills when passed an immediate value ✓ fulfills when passed an immediately fulfilled value ✓ fulfills when passed an eventually fulfilled value ✓ rejects when passed an immediate value ✓ rejects when passed an immediately rejected value ✓ rejects when passed an eventually rejected value ✓ propagates bound value 9 passing (42ms) nodejs tools/test --run=cancel.js --no-js-hint  Cancellation ✓ requires a function ✓ can register multiple on same promise ✓ follower promises' handlers are not called, registered before ✓ follower promises' handlers are not called, registered after ✓ downstream follower promises' handlers are not called, registered before ✓ downstream follower promises' handlers are called, registered after ✓ immediately rejected promise immediately cancelled with then in-between ✓ callback is called asynchronously but fate is sealed synchronously ✓ throws in process if callback throws ✓ cancels the promise chain ✓ calls finally handlers ✓ cancels the followee ✓ cancels the followee, calling all callbacks and finally handlers ✓ can be used for breaking chains early ✓ multiple cancel calls have no effect ✓ throwing in finally turns into a rejection ✓ returning an immediately rejected promise in finally turns into a rejection ✓ returning an eventually rejected promise in finally turns into a rejection ✓ finally handler returned promises are awaited for ✓ finally handler returned promises are skipped if they are cancelled Unhandled rejection (<[function succeed]>, no stack trace) Unhandled rejection (<[function succeed]>, no stack trace) ✓ finally handler returned promises are skipped if they are eventually cancelled Unhandled rejection (<[function succeed]>, no stack trace) Unhandled rejection (<[function succeed]>, no stack trace) Unhandled rejection (<[function succeed]>, no stack trace) ✓ finally handler returned promises are skipped if theiy are eventually cancelled while following Unhandled rejection (<[function succeed]>, no stack trace) ✓ finally handler returned promises are skipped if theiy are immediately cancelled while following Unhandled rejection (<[function succeed]>, no stack trace) Unhandled rejection (<[function succeed]>, no stack trace) ✓ finally handler returned promises target are skipped if their follower is eventually cancelled Unhandled rejection (<[function succeed]>, no stack trace) ✓ finally handler returned promises target are skipped if their follower is immediately cancelled ✓ attaching handler on already cancelled promise ✓ if onCancel callback causes synchronous rejection, it is ignored and cancellation wins ✓ isCancelled() synchronously returns true after calling cancel() on pending promise ✓ isCancelled() synchronously returns true after calling cancel() on promise created from .then() ✓ gh-166 ✓ gh-1187 Cancellation with .all ✓ immediately cancelled input ✓ eventually cancelled input ✓ immediately cancelled input inside array ✓ eventually cancelled input inside array ✓ immediately cancelled output ✓ eventually cancelled output ✓ immediately cancelled output while waiting on promise-for-input ✓ eventually cancelled output while waiting on promise-for-input Cancellation with .props ✓ immediately cancelled input ✓ eventually cancelled input ✓ immediately cancelled input inside array ✓ eventually cancelled input inside array ✓ immediately cancelled output ✓ eventually cancelled output ✓ immediately cancelled output while waiting on promise-for-input ✓ eventually cancelled output while waiting on promise-for-input Cancellation with .some ✓ immediately cancelled input ✓ eventually cancelled input ✓ immediately cancelled output ✓ eventually cancelled output ✓ immediately cancelled output while waiting on promise-for-input ✓ eventually cancelled output while waiting on promise-for-input ✓ some promises are cancelled immediately ✓ some promises are cancelled eventually ✓ promise for some promises that are cancelled immediately ✓ promise for some promises that are cancelled eventually ✓ all promises cancel, not enough for fulfillment - immediately ✓ all promises cancel, not enough for fulfillment - eventually ✓ some promises cancel, some reject, not enough for fulfillment - immediately ✓ some promises cancel, some reject, not enough for fulfillment - eventually Cancellation with .reduce ✓ initialValue immediately cancelled immediate input ✓ initialValue eventually cancelled immediate input ✓ initialValue eventually cancelled eventual input ✓ initialValue immediately cancelled eventual input ✓ returned promise cancels immediately ✓ returned promise cancels eventually ✓ input immediately cancelled while waiting initialValue ✓ input eventually cancelled while waiting initialValue ✓ output immediately cancelled while waiting inputs ✓ output immediately cancelled while waiting initialValue ✓ output immediately cancelled while waiting firstValue ✓ output immediately cancelled while waiting firstValue and secondValue ✓ output immediately cancelled while waiting for a result ✓ output eventually cancelled while waiting inputs ✓ output eventually cancelled while waiting initialValue ✓ output eventually cancelled while waiting firstValue ✓ output eventually cancelled while waiting firstValue and secondValue ✓ output eventually cancelled while waiting for a result Cancellation with .map ✓ immediately cancelled input ✓ eventually cancelled input ✓ immediately cancelled input inside array ✓ eventually cancelled input inside array ✓ immediately cancelled output ✓ eventually cancelled output ✓ immediately cancelled output while waiting on promise-for-input ✓ eventually cancelled output while waiting on promise-for-input ✓ result cancelled immediately while there are in-flight returned promises ✓ result cancelled eventually while there are in-flight returned promises ✓ returned promise cancelled immediately while there are in-flight returned promises ✓ returned promise cancelled eventually while there are in-flight returned promises Cancellation with .bind ✓ immediately cancelled promise passed as ctx ✓ eventually cancelled promise passed as ctx ✓ main promise is immediately cancelled while waiting on binding ✓ main promise is eventually cancelled while waiting on binding ✓ main promise is immediately cancelled with immediate binding ✓ main promise is eventually cancelled with immediate binding ✓ result is immediately cancelled while waiting for binding ✓ result is eventually cancelled while waiting for binding ✓ result is immediately cancelled while waiting for main promise ✓ result is eventually cancelled while waiting for main promise Cancellation with .join ✓ immediately cancelled input inside array ✓ eventually cancelled input inside array ✓ immediately cancelled output ✓ eventually cancelled output Cancellation with .reflect ✓ immediately cancelled ✓ eventually cancelled Cancellation with .using ✓ immediately cancelled input ✓ eventually cancelled input ✓ eventually cancelled input with 1 fulfilled disposer ✓ immediately cancelled output ✓ eventually cancelled output ✓ eventually cancelled output with 1 disposer fulfilled ✓ result immediately cancelled when inside handler ✓ result eventually cancelled when inside handler ✓ promise returned from handler immediately cancelled ✓ promise returned from handler eventually cancelled Multi-branch cancellation ✓ 3 branches, 1 cancels ✓ 3 branches, 3 cancels ✓ 3 branches, root cancels ✓ 3 branches, each have 3 branches, all children of b cancel ✓ 3 branches, each have 3 branches, all grand children cancel issues (node:11513) [DEP0097] DeprecationWarning: Using a domain property in MakeCallback is deprecated. Use the async_context variant of MakeCallback or the AsyncResource class instead. ✓ cancels the promise chain within a domain GH963 GH926 ✓ GH926 GH1000 ✓ delay ✓ delay with value ✓ cancel delay cancels inner promise ✓ cancel inner promise cancels delay 128 passing (342ms) nodejs tools/test --run=reduce.js --no-js-hint  Promise.prototype.reduce ✓ works with no values ✓ works with a single value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable Promise.reduce ✓ should allow returning values ✓ should allow returning promises ✓ should allow returning thenables ✓ propagates error with no initial accumulator or values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable with an initial accumulator value ✓ propagates an initial Error Unhandled rejection Error: BOOM at Object. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/reduce.js:94:13) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at /usr/lib/nodejs/mocha/lib/mocha.js:231:27 at Array.forEach () at Mocha.loadFiles (/usr/lib/nodejs/mocha/lib/mocha.js:228:14) at Mocha.run (/usr/lib/nodejs/mocha/lib/mocha.js:536:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :104:19) at Promise.cancellationExecute [as _execute] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:331:9) at Promise._resolveFromExecutor (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:539:18) at new Promise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:80:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :103:16) at tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Object.gotValue (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:155:18) at Object.gotAccum (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:144:25) at Object.tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Promise._settlePromiseFromHandler (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:568:31) at Promise._settlePromise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:638:18) at Promise._settlePromiseCtx (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:675:10) at Async._drainQueue (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:143:12) at Async._drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:150:10) at Immediate.Async.drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:18:14) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) ✓ propagates a value's Error ✓ propagates an Error from the iterator that is resolved and no values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single resolved value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple resolved values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single deferred Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple deferred Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single thenable ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple thenables ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a blend of values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable as a Promise and no values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single resolved value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple resolved values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single deferred Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple deferred Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single thenable ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple thenables ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a blend of values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable as a deferred Promise and no values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single resolved value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple resolved values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single deferred Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple deferred Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single thenable ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple thenables ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a blend of values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable as a thenable and no values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single resolved value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple resolved values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single deferred Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple deferred Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single thenable ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple thenables ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a blend of values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable with a 0th value acting as an accumulator ✓ acts this way when an accumulator value is provided yet `undefined` ✓ survives an `undefined` 0th value ✓ propagates an initial Error Unhandled rejection Error: BOOM at Object. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/reduce.js:94:13) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at /usr/lib/nodejs/mocha/lib/mocha.js:231:27 at Array.forEach () at Mocha.loadFiles (/usr/lib/nodejs/mocha/lib/mocha.js:228:14) at Mocha.run (/usr/lib/nodejs/mocha/lib/mocha.js:536:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :104:19) at Promise.cancellationExecute [as _execute] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:331:9) at Promise._resolveFromExecutor (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:539:18) at new Promise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:80:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :103:16) at tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Object.gotValue (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:155:18) at Object.gotAccum (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:144:25) at Object.tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Promise._settlePromiseFromHandler (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:568:31) at Promise._settlePromise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:638:18) at Promise._settlePromiseCtx (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:675:10) at Async._drainQueue (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:143:12) at Async._drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:150:10) at Immediate.Async.drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:18:14) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) ✓ propagates a value's Error ✓ propagates an Error from the iterator that is resolved and no values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single resolved value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple resolved values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single deferred Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple deferred Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single thenable ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple thenables ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a blend of values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable as a Promise and no values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single resolved value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple resolved values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single deferred Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple deferred Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single thenable ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple thenables ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a blend of values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable as a deferred Promise and no values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single resolved value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple resolved values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single deferred Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple deferred Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single thenable ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple thenables ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a blend of values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable as a thenable and no values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single resolved value ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple resolved values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single deferred Promise ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple deferred Promises ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a single thenable ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and multiple thenables ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable and a blend of values ✓ works when the iterator returns a value ✓ works when the iterator returns a Promise ✓ works when the iterator returns a thenable Promise.reduce-test ✓ should reduce values without initial value ✓ should reduce values with initial value ✓ should reduce values with initial promise ✓ should reduce promised values without initial value ✓ should reduce promised values with initial value ✓ should reduce promised values with initial promise ✓ should reduce empty input with initial value ✓ should reduce empty input with eventual promise ✓ should reduce empty input with initial promise ✓ should reject Promise input contains rejection ✓ should reduce to undefined with empty array ✓ should reduce to initial value with empty array ✓ should reduce in input order ✓ should accept a promise for an array ✓ should resolve to initialValue Promise input promise does not resolve to an array ✓ should provide correct basis value checks ✓ 16, 16, 16 ✓ 16, 16, 4 ✓ 4, 16, 16 ✓ 16, 4, 16 ✓ 16, 16, 4 ✓ 4, 4, 16 ✓ 16, 4, 4 ✓ 4, 16, 4 ✓ 4, 4, 4 ✓ 16, 16, 16 ✓ 16, 16, 4 ✓ 4, 16, 16 ✓ 16, 4, 16 ✓ 16, 16, 4 ✓ 4, 4, 16 ✓ 16, 4, 4 ✓ 4, 16, 4 ✓ 4, 4, 4 294 passing (498ms) nodejs tools/test --run=catch_filter.js --no-js-hint  A promise handler that throws a TypeError must be caught ✓ in a middle.caught filter ✓ in a generic.caught filter that comes first ✓ in an explicitly generic.caught filter that comes first ✓ in a specific handler after thrown in generic ✓ in a multi-filter handler ✓ in a specific handler after non-matching multi.caught handler A promise handler that throws a custom error ✓ Is filtered if inheritance was done even remotely properly ✓ Is filtered along with built-in errors ✓ Throws after matched type handler throws A promise handler that throws a CustomError must be caught ✓ in a middle.caught filter ✓ in a generic.caught filter that comes first ✓ in an explicitly generic.caught filter that comes first ✓ in a specific handler after thrown in generic ✓ in a multi-filter handler ✓ in a specific handler after non-matching multi.caught handler A promise handler that is caught in a filter ✓ is continued normally after returning a promise in filter ✓ is continued normally after returning a promise in original handler A promise handler with a predicate filter ✓ will catch a thrown thing matching the filter ✓ will NOT catch a thrown thing not matching the filter ✓ will assert.fail when a predicate is a bad error class ✓ will catch a thrown undefiend ✓ will catch a thrown string ✓ will assert.fail when a predicate throws object property predicates ✓ matches 1 property loosely ✓ matches 2 properties loosely ✓ doesn't match inequal properties ✓ doesn't match primitives even if the property matches 27 passing (72ms) nodejs tools/test --run=reflect.js --no-js-hint  .reflect() ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected 6 passing (38ms) nodejs tools/test --run=collections_thenables.js --no-js-hint  Using collection methods with thenables ✓ Promise.race thenables that fulfill synchronously ✓ Promise.race thenables that fulfill asynchronously ✓ Promise.race thenables that reject synchronously ✓ Promise.race thenables that reject asynchronously Using collection methods with thenables ✓ Promise.all thenables that fulfill synchronously ✓ Promise.all thenables that fulfill asynchronously ✓ Promise.all thenables that reject synchronously ✓ Promise.all thenables that reject asynchronously Using collection methods with thenables ✓ Promise.settle thenables that fulfill synchronously ✓ Promise.settle thenables that fulfill asynchronously ✓ Promise.settle thenables that reject synchronously ✓ Promise.settle thenables that reject asynchronously Using collection methods with thenables ✓ Promise.any thenables that fulfill synchronously ✓ Promise.any thenables that fulfill asynchronously ✓ Promise.any thenables that reject synchronously ✓ Promise.any thenables that reject asynchronously Using collection methods with thenables ✓ Promise.some thenables that fulfill synchronously ✓ Promise.some thenables that fulfill asynchronously ✓ Promise.some thenables that reject synchronously ✓ Promise.some thenables that reject asynchronously Using collection methods with thenables ✓ Promise.join thenables that fulfill synchronously ✓ Promise.join thenables that fulfill asynchronously ✓ Promise.join thenables that reject synchronously ✓ Promise.join thenables that reject asynchronously Using collection methods with thenables ✓ Promise.map thenables that fulfill synchronously ✓ Promise.map thenables that fulfill asynchronously ✓ Promise.map thenables that reject synchronously ✓ Promise.map thenables that reject asynchronously Using collection methods with thenables ✓ Promise.reduce thenables that fulfill synchronously ✓ Promise.reduce thenables that fulfill asynchronously ✓ Promise.reduce thenables that reject synchronously ✓ Promise.reduce thenables that reject asynchronously Using collection methods with thenables ✓ Promise.filter thenables that fulfill synchronously ✓ Promise.filter thenables that fulfill asynchronously ✓ Promise.filter thenables that reject synchronously ✓ Promise.filter thenables that reject asynchronously Using collection methods with thenables ✓ Promise.props thenables that fulfill synchronously ✓ Promise.props thenables that fulfill asynchronously ✓ Promise.props thenables that reject synchronously ✓ Promise.props thenables that reject asynchronously 40 passing (162ms) nodejs tools/test --run=regress.js --no-js-hint  regressions ✓ should be able to call .then more than once inside that promise's handler ✓ should be able to nest arbitrary amount of then handlers on already resolved promises ✓ github-682 ✓ gh-1006 github-689 ✓ .return ✓ .throw ✓ .finally long promise chain stack overflow ✓ mapSeries 8 passing (324ms) nodejs tools/test --run=constructor.js --no-js-hint  Promise constructor ✓ should throw type error when called as function ✓ should throw type error when passed non-function ✓ calls the resolver as a function ✓ passes arguments even if parameters are not defined ✓ should reject with any thrown error ✓ should call the resolver function synchronously resolves the promise with the given object value immediate value ✓ immediately-fulfilled ✓ eventually-fulfilled already fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled immediately fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled eventually fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled synchronous thenable for value ✓ immediately-fulfilled ✓ eventually-fulfilled asynchronous thenable for value ✓ immediately-fulfilled ✓ eventually-fulfilled resolves the promise with the given primitive value immediate value ✓ immediately-fulfilled ✓ eventually-fulfilled already fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled immediately fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled eventually fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled synchronous thenable for value ✓ immediately-fulfilled ✓ eventually-fulfilled asynchronous thenable for value ✓ immediately-fulfilled ✓ eventually-fulfilled resolves the promise with the given undefined value immediate value ✓ immediately-fulfilled ✓ eventually-fulfilled already fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled immediately fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled eventually fulfilled promise for value ✓ immediately-fulfilled ✓ eventually-fulfilled synchronous thenable for value ✓ immediately-fulfilled ✓ eventually-fulfilled asynchronous thenable for value ✓ immediately-fulfilled ✓ eventually-fulfilled rejects the promise with the given object reason immediate reason ✓ immediately-rejected ✓ eventually-rejected rejects the promise with the given primitive reason immediate reason ✓ immediately-rejected ✓ eventually-rejected rejects the promise with the given undefined reason immediate reason ✓ immediately-rejected ✓ eventually-rejected 48 passing (91ms) nodejs tools/test --run=rejections.js --no-js-hint  Using as a rejection reason Object.create(null) ✓ directly ✓ through constructor by throw ✓ through constructor immediately ✓ through constructor eventually ✓ through defer immediately ✓ through defer eventually ✓ through thenThrow immediately ✓ through handler throw ✓ through handler-returned-promise immediately ✓ through handler-returned-promise eventually ✓ through handler-returned-thenable throw ✓ through handler-returned-thenable immediately ✓ through handler-returned-thenable eventually ✓ through handler-returned-bluebird-thenable immediately ✓ through handler-returned-bluebird-thenable eventually ✓ through promisified callback immediately ✓ through immediate PromiseArray promise ✓ through eventual PromiseArray promise ✓ through promisified callback eventually 19 passing (50ms) nodejs tools/test --run=cycles.js --no-js-hint  Cyclical promises should throw TypeError when returning from fulfill ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled returning from reject ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected fulfill with itself when using a ✓ deferred ✓ constructor reject with itself when using a ✓ deferred ✓ constructor 10 passing (43ms) nodejs tools/test --run=resolution.js --no-js-hint  Promise.resolve ✓ follows thenables and promises Cast thenable ✓ rejects with itself Implicitly cast thenable ✓ rejects with itself propagation ✓ propagate through then with no callback ✓ propagate through then with modifying callback ✓ errback recovers from exception ✓ rejection propagates through then with no errback ✓ rejection intercepted and rethrown ✓ resolution is forwarded through deferred promise Promise.defer-test ✓ should fulfill with an immediate value ✓ should return a promise for the resolution value ✓ should return a promise for a promised resolution value ✓ should return a promise for a promised rejection value ✓ should invoke newly added callback when already resolved ✓ should reject with an immediate value ✓ should reject with fulfilled promised ✓ should reject with rejected promise ✓ should return a promise for the rejection value ✓ should invoke newly added errback when already rejected Promise.fromNode ✓ rejects thrown errors from resolver ✓ rejects rejections as operational errors ✓ resolves normally ✓ resolves with bound thunk ✓ multiArgs option enabled single value ✓ multiArgs option enabled multi value ✓ multiArgs option disabled single value ✓ multiArgs option disabled multi value 27 passing (81ms) nodejs tools/test --run=direct_resolving.js --no-js-hint  thenReturn primitives null ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled undefined ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled string ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled number ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled boolean ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled objects plain ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled function ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled built-in function ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled built-in object ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled thenables which fulfill immediately ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled eventually ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled which reject immediately ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled eventually ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled promises which fulfill already ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled immediately ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled eventually ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled which reject already ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled immediately ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled eventually ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled doesn't swallow errors ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected thenThrow primitives null ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled undefined ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled string ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled number ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled boolean ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled objects plain ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled function ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled built-in function ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled built-in object ✓ already-fulfilled ✓ immediately-fulfilled ✓ eventually-fulfilled doesn't swallow errors ✓ already-rejected ✓ immediately-rejected ✓ eventually-rejected catchReturn ✓ catches and returns ✓ doesn't catch succesful promise ✓ supports 1 error type catchThrow ✓ catches and throws ✓ doesn't catch succesful promise ✓ supports 1 error type gh-627 ✓ can return undefined ✓ can throw undefined ✓ can catch return undefined ✓ can catch throw undefined 100 passing (194ms) nodejs tools/test --run=schedule.js --no-js-hint  schedule for Node.js ✓ should preserve the active domain Promise.setScheduler ✓ should work with synchronous scheduler ✓ should throw for non function 3 passing (24ms) nodejs tools/test --run=domain.js --no-js-hint  domain (node:12482) [DEP0097] DeprecationWarning: Using a domain property in MakeCallback is deprecated. Use the async_context variant of MakeCallback or the AsyncResource class instead. ✓ gh-148 ✓ gh-521-promisified ✓ gh-521-constructed domain preservation ✓ should preserve empty domain and this function ✓ should preserve empty domain, nodeify ✓ should preserve corresponding state of domain ✓ should preserve corresponding state of domain, complex ✓ should preserve corresponding state of domain in reject ✓ should preserve corresponding state of domain in reject, complex ✓ should preserve domain when using .join ✓ should preserve domain when using .using ✓ should preserve domain when using .map ✓ should preserve domain when using .filter ✓ should preserve domain when using .reduce ✓ should preserve domain when using .each ✓ should not crash with already rejected promise 16 passing (88ms) nodejs tools/test --run=settle.js --no-js-hint  allSettled ✓ works on an empty array ✓ deals with a mix of non-promises and promises ✓ is settled after every constituent promise is settled ✓ does not modify the input array Promise.settle-test ✓ should settle empty array ✓ should reject if promise for input array rejects ✓ should settle values ✓ should settle promises ✓ returned promise should fulfill once all inputs settle 9 passing (33ms) nodejs tools/test --run=done.js --no-js-hint  done when the promise is fulfilled and the callback does not throw ✓ should call the callback and return nothing and the callback throws Fatal Error: safe_error at Suite. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:29:21) at Object.create (/usr/lib/nodejs/mocha/lib/interfaces/common.js:112:19) at context.describe.context.context (/usr/lib/nodejs/mocha/lib/interfaces/bdd.js:44:27) at Object. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:27:1) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at /usr/lib/nodejs/mocha/lib/mocha.js:231:27 at Array.forEach () at Mocha.loadFiles (/usr/lib/nodejs/mocha/lib/mocha.js:228:14) at Mocha.run (/usr/lib/nodejs/mocha/lib/mocha.js:536:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :104:19) at Promise.cancellationExecute [as _execute] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:331:9) at Promise._resolveFromExecutor (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:539:18) at new Promise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:80:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :103:16) at tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Object.gotValue (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:155:18) at Object.gotAccum (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:144:25) at Object.tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Promise._settlePromiseFromHandler (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:568:31) at Promise._settlePromise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:638:18) at Promise._settlePromiseCtx (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:675:10) at Async._drainQueue (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:143:12) at Async._drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:150:10) at Immediate.Async.drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:18:14) From previous event: at Promise.longStackTracesCaptureStackTrace [as _captureStackTrace] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:417:19) at Promise._then (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:235:17) at Promise.done (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:131:14) at Context. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:56:57) at callFn (/usr/lib/nodejs/mocha/lib/runnable.js:354:21) at Test.Runnable.run (/usr/lib/nodejs/mocha/lib/runnable.js:346:7) at Runner.runTest (/usr/lib/nodejs/mocha/lib/runner.js:442:10) at /usr/lib/nodejs/mocha/lib/runner.js:560:12 at next (/usr/lib/nodejs/mocha/lib/runner.js:356:14) at /usr/lib/nodejs/mocha/lib/runner.js:366:7 at next (/usr/lib/nodejs/mocha/lib/runner.js:290:14) at Immediate. (/usr/lib/nodejs/mocha/lib/runner.js:334:5) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) ✓ should rethrow that error in the next turn and return nothing when the promise is rejected and the errback handles it ✓ should call the errback and return nothing and the errback throws Fatal Error: safe_error at Suite. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:29:21) at Object.create (/usr/lib/nodejs/mocha/lib/interfaces/common.js:112:19) at context.describe.context.context (/usr/lib/nodejs/mocha/lib/interfaces/bdd.js:44:27) at Object. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:27:1) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at /usr/lib/nodejs/mocha/lib/mocha.js:231:27 at Array.forEach () at Mocha.loadFiles (/usr/lib/nodejs/mocha/lib/mocha.js:228:14) at Mocha.run (/usr/lib/nodejs/mocha/lib/mocha.js:536:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :104:19) at Promise.cancellationExecute [as _execute] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:331:9) at Promise._resolveFromExecutor (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:539:18) at new Promise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:80:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :103:16) at tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Object.gotValue (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:155:18) at Object.gotAccum (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:144:25) at Object.tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Promise._settlePromiseFromHandler (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:568:31) at Promise._settlePromise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:638:18) at Promise._settlePromiseCtx (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:675:10) at Async._drainQueue (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:143:12) at Async._drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:150:10) at Immediate.Async.drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:18:14) From previous event: at Promise.longStackTracesCaptureStackTrace [as _captureStackTrace] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:417:19) at Promise._then (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:235:17) at Promise.done (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:131:14) at Context. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:56:57) at callFn (/usr/lib/nodejs/mocha/lib/runnable.js:354:21) at Test.Runnable.run (/usr/lib/nodejs/mocha/lib/runnable.js:346:7) at Runner.runTest (/usr/lib/nodejs/mocha/lib/runner.js:442:10) at /usr/lib/nodejs/mocha/lib/runner.js:560:12 at next (/usr/lib/nodejs/mocha/lib/runner.js:356:14) at /usr/lib/nodejs/mocha/lib/runner.js:366:7 at next (/usr/lib/nodejs/mocha/lib/runner.js:290:14) at Immediate. (/usr/lib/nodejs/mocha/lib/runner.js:334:5) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) ✓ should rethrow that error in the next turn and return nothing and there is no errback Fatal Error: safe_error at Suite. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:29:21) at Object.create (/usr/lib/nodejs/mocha/lib/interfaces/common.js:112:19) at context.describe.context.context (/usr/lib/nodejs/mocha/lib/interfaces/bdd.js:44:27) at Object. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:27:1) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at /usr/lib/nodejs/mocha/lib/mocha.js:231:27 at Array.forEach () at Mocha.loadFiles (/usr/lib/nodejs/mocha/lib/mocha.js:228:14) at Mocha.run (/usr/lib/nodejs/mocha/lib/mocha.js:536:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :104:19) at Promise.cancellationExecute [as _execute] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:331:9) at Promise._resolveFromExecutor (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:539:18) at new Promise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:80:10) at eval (eval at getTaskFunction (/build/node-bluebird-3.5.1+dfsg2/tools/job-runner/job-runner.js:414:16), :103:16) at tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Object.gotValue (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:155:18) at Object.gotAccum (/build/node-bluebird-3.5.1+dfsg2/js/debug/reduce.js:144:25) at Object.tryCatcher (/build/node-bluebird-3.5.1+dfsg2/js/debug/util.js:17:23) at Promise._settlePromiseFromHandler (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:568:31) at Promise._settlePromise (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:638:18) at Promise._settlePromiseCtx (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:675:10) at Async._drainQueue (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:143:12) at Async._drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:150:10) at Immediate.Async.drainQueues (/build/node-bluebird-3.5.1+dfsg2/js/debug/async.js:18:14) From previous event: at Promise.longStackTracesCaptureStackTrace [as _captureStackTrace] (/build/node-bluebird-3.5.1+dfsg2/js/debug/debuggability.js:417:19) at Promise._then (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:235:17) at Promise.done (/build/node-bluebird-3.5.1+dfsg2/js/debug/promise.js:131:14) at Context. (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:56:57) at callFn (/usr/lib/nodejs/mocha/lib/runnable.js:354:21) at Test.Runnable.run (/usr/lib/nodejs/mocha/lib/runnable.js:346:7) at Runner.runTest (/usr/lib/nodejs/mocha/lib/runner.js:442:10) at /usr/lib/nodejs/mocha/lib/runner.js:560:12 at next (/usr/lib/nodejs/mocha/lib/runner.js:356:14) at /usr/lib/nodejs/mocha/lib/runner.js:366:7 at next (/usr/lib/nodejs/mocha/lib/runner.js:290:14) at Immediate. (/usr/lib/nodejs/mocha/lib/runner.js:334:5) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) ✓ should throw the original error in the next turn 5 passing (38ms) nodejs tools/test --run=some.js --no-js-hint  Promise.some ✓ should reject on negative number ✓ should reject on NaN ✓ should reject on non-array ✓ should reject with rangeerror when impossible to fulfill ✓ should fulfill with empty array with 0 Promise.some-test ✓ should reject empty input ✓ should resolve values array ✓ should resolve promises array ✓ should not resolve sparse array input ✓ should reject with all rejected input values if resolving howMany becomes impossible ✓ should reject with aggregateError ✓ aggregate error should be caught in .error ✓ should accept a promise for an array ✓ should reject when input promise does not resolve to array ✓ should reject when given immediately rejected promise 15 passing (55ms) nodejs tools/test --run=each.js --no-js-hint  Promise.each ✓ should return the array's values mapped ✓ takes value, index and length ✓ waits for returned promise before proceeding next ✓ waits for returned thenable before proceeding next ✓ doesnt iterate with an empty array ✓ iterates with an array of single item Promise.prototype.each ✓ should return the array's values ✓ takes value, index and length ✓ waits for returned promise before proceeding next ✓ waits for returned thenable before proceeding next ✓ doesnt iterate with an empty array ✓ iterates with an array of single item mapSeries and each ✓ is mixed 13 passing (57ms) nodejs tools/test --run=spread.js --no-js-hint  spread ✓ spreads values across arguments ✓ spreads promises for arrays across arguments ✓ spreads arrays of promises across arguments ✓ spreads arrays of thenables across arguments ✓ should wait for promises in the returned array even when not calling .all ✓ should wait for thenables in the returned array even when not calling .all ✓ should wait for promises in an array that a returned promise resolves to even when not calling .all ✓ should wait for thenables in an array that a returned thenable resolves to even when not calling .all ✓ should reject with error when non array is the ultimate value to be spread ✓ gh-235 ✓ error when passed non-function ✓ error when resolution is non-spredable Promise.spread-test ✓ should return a promise ✓ should apply onFulfilled with array as argument list ✓ should resolve array contents ✓ should reject if any item in array rejects ✓ should apply onFulfilled with array as argument list ✓ should resolve array contents ✓ should reject if input is a rejected promise 19 passing (78ms) nodejs tools/test --run=error.js --no-js-hint  Promise.prototype.error catches stuff originating from explicit rejections ✓ using callback does not catch stuff originating from thrown errors ✓ using constructor ✓ using thenable ✓ using callback Weird errors ✓ unwritable stack Error constructors OperationalError ✓ should work without new ✓ should work with new ✓ should retain custom properties CancellationError ✓ should work without new ✓ should work with new TimeoutError ✓ should work without new ✓ should work with new AggregateError ✓ should work without new ✓ should work with new ✓ should stringify without circular errors ✓ should stringify with circular errors 16 passing (61ms) nodejs tools/test --run=synchronous_inspection.js --no-js-hint  Promise.prototype.toJSON ✓ should match pending state ✓ should match rejected state ✓ should match fulfilled state inspect ✓ for a fulfilled promise ✓ for a rejected promise ✓ for a pending, unresolved promise ✓ for a promise resolved to a rejected promise ✓ for a promise resolved to a fulfilled promise ✓ for a promise resolved to a pending promise .value() ✓ of unfulfilled inspection should throw ✓ of unfulfilled promise should throw .reason() ✓ of unrejected inspection should throw ✓ of unrejected promise should throw 13 passing (47ms) # tools/test.js builds a debug version of bluebird (ovewriting the # release version in dh_auto_build. A quick fix is to build the # release version of bluebird again for dh_install to use. cp -r /build/node-bluebird-3.5.1+dfsg2/debian/node-modules/ /build/node-bluebird-3.5.1+dfsg2/node_modules/ nodejs tools/build.js --release --no-minify rm -r /build/node-bluebird-3.5.1+dfsg2/node_modules/ make[1]: Leaving directory '/build/node-bluebird-3.5.1+dfsg2' create-stamp debian/debhelper-build-stamp dh_testroot dh_prep dh_install dh_installdocs debian/rules override_dh_installchangelogs make[1]: Entering directory '/build/node-bluebird-3.5.1+dfsg2' dh_installchangelogs changelog.md make[1]: Leaving directory '/build/node-bluebird-3.5.1+dfsg2' dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'node-bluebird' in '../node-bluebird_3.5.1+dfsg2-2_all.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../node-bluebird_3.5.1+dfsg2-2_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: copying local configuration 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/18548 and its subdirectories I: Current time: Wed Jun 26 20:03:44 -12 2019 I: pbuilder-time-stamp: 1561622624 Thu Jun 27 08:03:44 UTC 2019 I: 1st build successful. Starting 2nd build on remote node profitbricks-build6-i386.debian.net. Thu Jun 27 08:03:44 UTC 2019 I: Preparing to do remote build '2' on profitbricks-build6-i386.debian.net. Thu Jun 27 08:07:14 UTC 2019 I: Deleting $TMPDIR on profitbricks-build6-i386.debian.net. Thu Jun 27 08:07:14 UTC 2019 I: node-bluebird_3.5.1+dfsg2-2_i386.changes: Format: 1.8 Date: Sun, 06 May 2018 12:05:28 +0200 Source: node-bluebird Binary: node-bluebird Architecture: all Version: 3.5.1+dfsg2-2 Distribution: unstable Urgency: medium Maintainer: Debian Javascript Maintainers Changed-By: Ross Gammon Description: node-bluebird - Fully featured Promises/A+ implementation for Node.js Closes: 897545 Changes: node-bluebird (3.5.1+dfsg2-2) unstable; urgency=medium . [ Hubert Chathi ] * Update location of acorn's walk to the new location for Acorn 5 (Closes: #897545) . [ Ross Gammon ] * Move repository from Alioth to Salsa * Use https: in upstream URL in debian/copyright * Fix spelling error in fix_root_dir.patch Checksums-Sha1: 75b066e8fcfbb07bac2d76c6701facf64d51e6ee 36352 node-bluebird_3.5.1+dfsg2-2_all.deb 611b865eba19fea11c38650c006c9de28b14d9c2 8183 node-bluebird_3.5.1+dfsg2-2_i386.buildinfo Checksums-Sha256: 88ba5166d751cc2ebaefcfbad8d0ef87e2f2d849b2ee06a33a12eac13eb775a0 36352 node-bluebird_3.5.1+dfsg2-2_all.deb 1c53423ffb95b188dc729c65e0d59ea51d17a7767291f90595ac21663cd851ae 8183 node-bluebird_3.5.1+dfsg2-2_i386.buildinfo Files: c020000116c9df8206721881f078a153 36352 javascript optional node-bluebird_3.5.1+dfsg2-2_all.deb 8333d78ff0976784b5609b91f15a6efc 8183 javascript optional node-bluebird_3.5.1+dfsg2-2_i386.buildinfo Thu Jun 27 08:07:16 UTC 2019 I: diffoscope 115 will be used to compare the two builds: # Profiling output for: /usr/bin/diffoscope --html /srv/reproducible-results/rbuild-debian/tmp.EmdCVaxgnC/node-bluebird_3.5.1+dfsg2-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/tmp.EmdCVaxgnC/node-bluebird_3.5.1+dfsg2-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/tmp.EmdCVaxgnC/node-bluebird_3.5.1+dfsg2-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/tmp.EmdCVaxgnC/b1/node-bluebird_3.5.1+dfsg2-2_i386.changes /srv/reproducible-results/rbuild-debian/tmp.EmdCVaxgnC/b2/node-bluebird_3.5.1+dfsg2-2_i386.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.385s) 0.385s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.095s) 0.095s 10 calls diffoscope.comparators.binary.FilesystemFile Thu Jun 27 08:07:18 UTC 2019 I: diffoscope 115 found no differences in the changes files, and a .buildinfo file also exists. Thu Jun 27 08:07:18 UTC 2019 I: node-bluebird from buster built successfully and reproducibly on i386. Thu Jun 27 08:07:25 UTC 2019 I: Submitting .buildinfo files to external archives: Thu Jun 27 08:07:25 UTC 2019 I: Submitting 12K b1/node-bluebird_3.5.1+dfsg2-2_i386.buildinfo.asc Thu Jun 27 08:07:29 UTC 2019 I: Submitting 12K b2/node-bluebird_3.5.1+dfsg2-2_i386.buildinfo.asc Thu Jun 27 08:07:58 UTC 2019 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Thu Jun 27 08:07:58 UTC 2019 I: Done submitting .buildinfo files. Thu Jun 27 08:07:58 UTC 2019 I: Removing signed node-bluebird_3.5.1+dfsg2-2_i386.buildinfo.asc files: removed './b1/node-bluebird_3.5.1+dfsg2-2_i386.buildinfo.asc' removed './b2/node-bluebird_3.5.1+dfsg2-2_i386.buildinfo.asc'