Wed Jun 10 20:13:47 UTC 2020  I: starting to build node-bluebird/buster/armhf on jenkins on '2020-06-10 20:13'
Wed Jun 10 20:13:47 UTC 2020  I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/armhf_3/14/console.log
Wed Jun 10 20:13:47 UTC 2020  I: Downloading source for buster/node-bluebird=3.5.1+dfsg2-2
--2020-06-10 20:13:47--  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... 200 OK
Length: 2272 (2.2K)
Saving to: ‘node-bluebird_3.5.1+dfsg2-2.dsc’

     0K ..                                                    100% 91.0M=0s

2020-06-10 20:13:47 (91.0 MB/s) - ‘node-bluebird_3.5.1+dfsg2-2.dsc’ saved [2272/2272]

Wed Jun 10 20:13:47 UTC 2020  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 <pkg-javascript-devel@lists.alioth.debian.org>
Uploaders: Ross Gammon <rossgammon@debian.org>, Hubert Chathi <uhoreg@debian.org>
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-----
Wed Jun 10 20:13:47 UTC 2020  I: Checking whether the package is not for us
Wed Jun 10 20:13:47 UTC 2020  I: Starting 1st build on remote node cb3a-armhf-rb.debian.net.
Wed Jun 10 20:13:47 UTC 2020  I: Preparing to do remote build '1' on cb3a-armhf-rb.debian.net.
Wed Jun 10 21:21:13 UTC 2020  I: Deleting $TMPDIR on cb3a-armhf-rb.debian.net.
I: pbuilder: network access will be disabled during build
I: Current time: Wed Jun 10 08:14:17 -12 2020
I: pbuilder-time-stamp: 1591820057
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: 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
I: user script /srv/workspace/pbuilder/3779/tmp/hooks/D02_print_environment starting
I: set
  BUILDDIR='/build'
  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
  BUILDUSERNAME='pbuilder1'
  BUILD_ARCH='armhf'
  DEBIAN_FRONTEND='noninteractive'
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3'
  DISTRIBUTION=''
  HOME='/root'
  HOST_ARCH='armhf'
  IFS=' 	
  '
  INVOCATION_ID='9c114475518843db84d2428bbc646879'
  LANG='C'
  LANGUAGE='en_US:en'
  LC_ALL='C'
  MAIL='/var/mail/root'
  OPTIND='1'
  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
  PBCURRENTCOMMANDLINEOPERATION='build'
  PBUILDER_OPERATION='build'
  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
  PBUILDER_SYSCONFDIR='/etc'
  PPID='3779'
  PS1='# '
  PS2='> '
  PS4='+ '
  PWD='/'
  SHELL='/bin/bash'
  SHLVL='2'
  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.ZA8OYmEvt7/pbuilderrc_TU5R --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.ZA8OYmEvt7/b1 --logfile b1/build.log node-bluebird_3.5.1+dfsg2-2.dsc'
  SUDO_GID='115'
  SUDO_UID='110'
  SUDO_USER='jenkins'
  TERM='unknown'
  TZ='/usr/share/zoneinfo/Etc/GMT+12'
  USER='root'
  _='/usr/bin/systemd-run'
  http_proxy='http://10.0.0.15:8000/'
I: uname -a
  Linux cb3a 4.19.0-9-armmp-lpae #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) armv7l GNU/Linux
I: ls -l /bin
  total 3328
  -rwxr-xr-x 1 root root 767656 Apr 17  2019 bash
  -rwxr-xr-x 3 root root  26052 Jul 10  2019 bunzip2
  -rwxr-xr-x 3 root root  26052 Jul 10  2019 bzcat
  lrwxrwxrwx 1 root root      6 Jul 10  2019 bzcmp -> bzdiff
  -rwxr-xr-x 1 root root   2227 Jul 10  2019 bzdiff
  lrwxrwxrwx 1 root root      6 Jul 10  2019 bzegrep -> bzgrep
  -rwxr-xr-x 1 root root   4877 Jun 24  2019 bzexe
  lrwxrwxrwx 1 root root      6 Jul 10  2019 bzfgrep -> bzgrep
  -rwxr-xr-x 1 root root   3641 Jul 10  2019 bzgrep
  -rwxr-xr-x 3 root root  26052 Jul 10  2019 bzip2
  -rwxr-xr-x 1 root root   9636 Jul 10  2019 bzip2recover
  lrwxrwxrwx 1 root root      6 Jul 10  2019 bzless -> bzmore
  -rwxr-xr-x 1 root root   1297 Jul 10  2019 bzmore
  -rwxr-xr-x 1 root root  22432 Feb 28  2019 cat
  -rwxr-xr-x 1 root root  38868 Feb 28  2019 chgrp
  -rwxr-xr-x 1 root root  38836 Feb 28  2019 chmod
  -rwxr-xr-x 1 root root  42972 Feb 28  2019 chown
  -rwxr-xr-x 1 root root  88376 Feb 28  2019 cp
  -rwxr-xr-x 1 root root  75516 Jan 17  2019 dash
  -rwxr-xr-x 1 root root  71648 Feb 28  2019 date
  -rwxr-xr-x 1 root root  51212 Feb 28  2019 dd
  -rwxr-xr-x 1 root root  55672 Feb 28  2019 df
  -rwxr-xr-x 1 root root  88444 Feb 28  2019 dir
  -rwxr-xr-x 1 root root  54872 Jan  9  2019 dmesg
  lrwxrwxrwx 1 root root      8 Sep 26  2018 dnsdomainname -> hostname
  lrwxrwxrwx 1 root root      8 Sep 26  2018 domainname -> hostname
  -rwxr-xr-x 1 root root  22364 Feb 28  2019 echo
  -rwxr-xr-x 1 root root     28 Jan  7  2019 egrep
  -rwxr-xr-x 1 root root  18260 Feb 28  2019 false
  -rwxr-xr-x 1 root root     28 Jan  7  2019 fgrep
  -rwxr-xr-x 1 root root  47356 Jan  9  2019 findmnt
  -rwsr-xr-x 1 root root  21980 Apr 22 07:38 fusermount
  -rwxr-xr-x 1 root root 124508 Jan  7  2019 grep
  -rwxr-xr-x 2 root root   2345 Jan  5  2019 gunzip
  -rwxr-xr-x 1 root root   6375 Jan  5  2019 gzexe
  -rwxr-xr-x 1 root root  64232 Jan  5  2019 gzip
  -rwxr-xr-x 1 root root  13784 Sep 26  2018 hostname
  -rwxr-xr-x 1 root root  43044 Feb 28  2019 ln
  -rwxr-xr-x 1 root root  34932 Jul 26  2018 login
  -rwxr-xr-x 1 root root  88444 Feb 28  2019 ls
  -rwxr-xr-x 1 root root  67036 Jan  9  2019 lsblk
  -rwxr-xr-x 1 root root  47168 Feb 28  2019 mkdir
  -rwxr-xr-x 1 root root  43040 Feb 28  2019 mknod
  -rwxr-xr-x 1 root root  26552 Feb 28  2019 mktemp
  -rwxr-xr-x 1 root root  26024 Jan  9  2019 more
  -rwsr-xr-x 1 root root  34268 Jan  9  2019 mount
  -rwxr-xr-x 1 root root   9688 Jan  9  2019 mountpoint
  -rwxr-xr-x 1 root root  84284 Feb 28  2019 mv
  lrwxrwxrwx 1 root root      8 Sep 26  2018 nisdomainname -> hostname
  lrwxrwxrwx 1 root root     14 Feb 14  2019 pidof -> /sbin/killall5
  -rwxr-xr-x 1 root root  22416 Feb 28  2019 pwd
  lrwxrwxrwx 1 root root      4 Apr 17  2019 rbash -> bash
  -rwxr-xr-x 1 root root  26504 Feb 28  2019 readlink
  -rwxr-xr-x 1 root root  42968 Feb 28  2019 rm
  -rwxr-xr-x 1 root root  26496 Feb 28  2019 rmdir
  -rwxr-xr-x 1 root root  14136 Jan 21  2019 run-parts
  -rwxr-xr-x 1 root root  76012 Dec 22  2018 sed
  lrwxrwxrwx 1 root root      4 Jun  7 20:30 sh -> dash
  -rwxr-xr-x 1 root root  22384 Feb 28  2019 sleep
  -rwxr-xr-x 1 root root  51124 Feb 28  2019 stty
  -rwsr-xr-x 1 root root  42472 Jan  9  2019 su
  -rwxr-xr-x 1 root root  22392 Feb 28  2019 sync
  -rwxr-xr-x 1 root root 283324 Apr 23  2019 tar
  -rwxr-xr-x 1 root root   9808 Jan 21  2019 tempfile
  -rwxr-xr-x 1 root root  63464 Feb 28  2019 touch
  -rwxr-xr-x 1 root root  18260 Feb 28  2019 true
  -rwxr-xr-x 1 root root   9636 Apr 22 07:38 ulockmgr_server
  -rwsr-xr-x 1 root root  21976 Jan  9  2019 umount
  -rwxr-xr-x 1 root root  22380 Feb 28  2019 uname
  -rwxr-xr-x 2 root root   2345 Jan  5  2019 uncompress
  -rwxr-xr-x 1 root root  88444 Feb 28  2019 vdir
  -rwxr-xr-x 1 root root  21980 Jan  9  2019 wdctl
  -rwxr-xr-x 1 root root    946 Jan 21  2019 which
  lrwxrwxrwx 1 root root      8 Sep 26  2018 ypdomainname -> hostname
  -rwxr-xr-x 1 root root   1983 Jan  5  2019 zcat
  -rwxr-xr-x 1 root root   1677 Jan  5  2019 zcmp
  -rwxr-xr-x 1 root root   5879 Jan  5  2019 zdiff
  -rwxr-xr-x 1 root root     29 Jan  5  2019 zegrep
  -rwxr-xr-x 1 root root     29 Jan  5  2019 zfgrep
  -rwxr-xr-x 1 root root   2080 Jan  5  2019 zforce
  -rwxr-xr-x 1 root root   7584 Jan  5  2019 zgrep
  -rwxr-xr-x 1 root root   2205 Jan  5  2019 zless
  -rwxr-xr-x 1 root root   1841 Jan  5  2019 zmore
  -rwxr-xr-x 1 root root   4552 Jan  5  2019 znew
I: user script /srv/workspace/pbuilder/3779/tmp/hooks/D02_print_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: armhf
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
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 ... 18932 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} libbrotli1{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} 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 61.2 MB of archives. After unpacking 150 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian buster/main armhf libbsd0 armhf 0.9.1-2 [103 kB]
Get: 2 http://deb.debian.org/debian buster/main armhf bsdmainutils armhf 11.1.2+b1 [186 kB]
Get: 3 http://deb.debian.org/debian buster/main armhf libuchardet0 armhf 0.0.6-3 [62.2 kB]
Get: 4 http://deb.debian.org/debian buster/main armhf groff-base armhf 1.22.4-3 [828 kB]
Get: 5 http://deb.debian.org/debian buster/main armhf libpipeline1 armhf 1.5.1-2 [26.8 kB]
Get: 6 http://deb.debian.org/debian buster/main armhf man-db armhf 2.8.5-2 [1240 kB]
Get: 7 http://deb.debian.org/debian buster/main armhf libbrotli1 armhf 1.0.7-2 [259 kB]
Get: 8 http://deb.debian.org/debian buster/main armhf libc-ares2 armhf 1.14.0-1 [80.6 kB]
Get: 9 http://deb.debian.org/debian buster/main armhf libicu63 armhf 63.1-6+deb10u1 [8005 kB]
Get: 10 http://deb.debian.org/debian buster/main armhf libssl1.1 armhf 1.1.1d-0+deb10u3 [1299 kB]
Get: 11 http://deb.debian.org/debian buster/main armhf libuv1 armhf 1.24.1-1 [98.0 kB]
Get: 12 http://deb.debian.org/debian buster/main armhf libnode64 armhf 10.19.0~dfsg1-1 [4894 kB]
Get: 13 http://deb.debian.org/debian buster/main armhf nodejs armhf 10.19.0~dfsg1-1 [86.7 kB]
Get: 14 http://deb.debian.org/debian buster/main armhf node-browser-stdout all 1.3.0-1 [2932 B]
Get: 15 http://deb.debian.org/debian buster/main armhf node-commander all 2.12.2-3 [20.7 kB]
Get: 16 http://deb.debian.org/debian buster/main armhf node-ms all 2.1.1-1 [4548 B]
Get: 17 http://deb.debian.org/debian buster/main armhf node-debug all 3.1.0-2 [20.4 kB]
Get: 18 http://deb.debian.org/debian buster/main armhf node-diff all 1.4.0~dfsg-1 [14.8 kB]
Get: 19 http://deb.debian.org/debian buster/main armhf node-escape-string-regexp all 1.0.5-1 [3218 B]
Get: 20 http://deb.debian.org/debian buster/main armhf node-balanced-match all 0.4.2-1 [3982 B]
Get: 21 http://deb.debian.org/debian buster/main armhf node-concat-map all 0.0.1-1 [3462 B]
Get: 22 http://deb.debian.org/debian buster/main armhf node-brace-expansion all 1.1.8-1 [5798 B]
Get: 23 http://deb.debian.org/debian buster/main armhf node-minimatch all 3.0.4-3 [13.4 kB]
Get: 24 http://deb.debian.org/debian buster/main armhf libjs-inherits all 2.0.3-1 [2762 B]
Get: 25 http://deb.debian.org/debian buster/main armhf node-inherits all 2.0.3-1 [3744 B]
Get: 26 http://deb.debian.org/debian buster/main armhf node-wrappy all 1.0.2-1 [3114 B]
Get: 27 http://deb.debian.org/debian buster/main armhf node-once all 1.4.0-3 [4344 B]
Get: 28 http://deb.debian.org/debian buster/main armhf node-fs.realpath all 1.0.0-1 [5522 B]
Get: 29 http://deb.debian.org/debian buster/main armhf node-inflight all 1.0.6-1 [3334 B]
Get: 30 http://deb.debian.org/debian buster/main armhf node-path-is-absolute all 1.0.0-1 [3266 B]
Get: 31 http://deb.debian.org/debian buster/main armhf node-glob all 7.1.3-2 [19.1 kB]
Get: 32 http://deb.debian.org/debian buster/main armhf libglib2.0-0 armhf 2.58.3-2+deb10u2 [1101 kB]
Get: 33 http://deb.debian.org/debian buster/main armhf libjpeg62-turbo armhf 1:1.5.2-2+b1 [112 kB]
Get: 34 http://deb.debian.org/debian buster/main armhf libpng16-16 armhf 1.6.36-6 [275 kB]
Get: 35 http://deb.debian.org/debian buster/main armhf libjbig0 armhf 2.1-3.1+b2 [28.4 kB]
Get: 36 http://deb.debian.org/debian buster/main armhf libwebp6 armhf 0.6.1-2 [229 kB]
Get: 37 http://deb.debian.org/debian buster/main armhf libtiff5 armhf 4.1.0+git191117-2~deb10u1 [252 kB]
Get: 38 http://deb.debian.org/debian buster/main armhf libxau6 armhf 1:1.0.8-1+b2 [19.1 kB]
Get: 39 http://deb.debian.org/debian buster/main armhf libxdmcp6 armhf 1:1.1.2-3 [24.9 kB]
Get: 40 http://deb.debian.org/debian buster/main armhf libxcb1 armhf 1.13.1-2 [132 kB]
Get: 41 http://deb.debian.org/debian buster/main armhf libx11-data all 2:1.6.7-1 [298 kB]
Get: 42 http://deb.debian.org/debian buster/main armhf libx11-6 armhf 2:1.6.7-1 [698 kB]
Get: 43 http://deb.debian.org/debian buster/main armhf libxml2 armhf 2.9.4+dfsg1-7+b3 [595 kB]
Get: 44 http://deb.debian.org/debian buster/main armhf shared-mime-info armhf 1.10-1 [763 kB]
Get: 45 http://deb.debian.org/debian buster/main armhf libgdk-pixbuf2.0-common all 2.38.1+dfsg-1 [316 kB]
Get: 46 http://deb.debian.org/debian buster/main armhf libgdk-pixbuf2.0-0 armhf 2.38.1+dfsg-1 [161 kB]
Get: 47 http://deb.debian.org/debian buster/main armhf libnotify4 armhf 0.7.7-4 [27.1 kB]
Get: 48 http://deb.debian.org/debian buster/main armhf libnotify-bin armhf 0.7.7-4 [19.6 kB]
Get: 49 http://deb.debian.org/debian buster/main armhf node-growl all 1.10.5-2 [7356 B]
Get: 50 http://deb.debian.org/debian buster/main armhf node-he all 1.1.1-1 [61.8 kB]
Get: 51 http://deb.debian.org/debian buster/main armhf node-mkdirp all 0.5.1-1 [4708 B]
Get: 52 http://deb.debian.org/debian buster/main armhf node-has-flag all 2.0.0-1 [3172 B]
Get: 53 http://deb.debian.org/debian buster/main armhf node-supports-color all 4.4.0-2 [4742 B]
Get: 54 http://deb.debian.org/debian buster/main armhf hicolor-icon-theme all 0.17-2 [11.4 kB]
Get: 55 http://deb.debian.org/debian buster/main armhf oxygen-icon-theme all 5:5.54.0-1 [31.3 MB]
Get: 56 http://deb.debian.org/debian buster/main armhf mocha all 4.1.0+ds3-5 [241 kB]
Get: 57 http://deb.debian.org/debian buster/main armhf sensible-utils all 0.0.12 [15.8 kB]
Get: 58 http://deb.debian.org/debian buster/main armhf libmagic-mgc armhf 1:5.35-4+deb10u1 [242 kB]
Get: 59 http://deb.debian.org/debian buster/main armhf libmagic1 armhf 1:5.35-4+deb10u1 [110 kB]
Get: 60 http://deb.debian.org/debian buster/main armhf file armhf 1:5.35-4+deb10u1 [65.5 kB]
Get: 61 http://deb.debian.org/debian buster/main armhf gettext-base armhf 0.19.8.1-9 [118 kB]
Get: 62 http://deb.debian.org/debian buster/main armhf libsigsegv2 armhf 2.12-2 [32.1 kB]
Get: 63 http://deb.debian.org/debian buster/main armhf m4 armhf 1.4.18-2 [190 kB]
Get: 64 http://deb.debian.org/debian buster/main armhf autoconf all 2.69-11 [341 kB]
Get: 65 http://deb.debian.org/debian buster/main armhf autotools-dev all 20180224.1 [77.0 kB]
Get: 66 http://deb.debian.org/debian buster/main armhf automake all 1:1.16.1-4 [771 kB]
Get: 67 http://deb.debian.org/debian buster/main armhf autopoint all 0.19.8.1-9 [434 kB]
Get: 68 http://deb.debian.org/debian buster/main armhf libtool all 2.4.6-9 [547 kB]
Get: 69 http://deb.debian.org/debian buster/main armhf dh-autoreconf all 19 [16.9 kB]
Get: 70 http://deb.debian.org/debian buster/main armhf libarchive-zip-perl all 1.64-1 [96.8 kB]
Get: 71 http://deb.debian.org/debian buster/main armhf libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB]
Get: 72 http://deb.debian.org/debian buster/main armhf dh-strip-nondeterminism all 1.1.2-1 [13.0 kB]
Get: 73 http://deb.debian.org/debian buster/main armhf libelf1 armhf 0.176-1.1 [158 kB]
Get: 74 http://deb.debian.org/debian buster/main armhf dwz armhf 0.12-3 [72.0 kB]
Get: 75 http://deb.debian.org/debian buster/main armhf libcroco3 armhf 0.6.12-3 [133 kB]
Get: 76 http://deb.debian.org/debian buster/main armhf libncurses6 armhf 6.1+20181013-2+deb10u2 [79.8 kB]
Get: 77 http://deb.debian.org/debian buster/main armhf gettext armhf 0.19.8.1-9 [1242 kB]
Get: 78 http://deb.debian.org/debian buster/main armhf intltool-debian all 0.35.0+20060710.5 [26.8 kB]
Get: 79 http://deb.debian.org/debian buster/main armhf po-debconf all 1.0.21 [248 kB]
Get: 80 http://deb.debian.org/debian buster/main armhf debhelper all 12.1.1 [1016 kB]
Get: 81 http://deb.debian.org/debian buster/main armhf dh-buildinfo all 0.11+nmu2 [18.4 kB]
Get: 82 http://deb.debian.org/debian buster/main armhf libjs-util all 0.10.3-2 [9258 B]
Get: 83 http://deb.debian.org/debian buster/main armhf node-xtend all 4.0.1-2 [3560 B]
Get: 84 http://deb.debian.org/debian buster/main armhf node-acorn all 5.5.3+ds3-3 [69.1 kB]
Get: 85 http://deb.debian.org/debian buster/main armhf node-ansi-regex all 3.0.0-1 [3658 B]
Get: 86 http://deb.debian.org/debian buster/main armhf node-color-name all 1.1.3-1 [4090 B]
Get: 87 http://deb.debian.org/debian buster/main armhf node-color-convert all 1.9.0-3 [10.1 kB]
Get: 88 http://deb.debian.org/debian buster/main armhf node-ansi-styles all 3.2.1-1 [5684 B]
Get: 89 http://deb.debian.org/debian buster/main armhf node-bytes all 3.0.0-1 [6340 B]
Get: 90 http://deb.debian.org/debian buster/main armhf node-content-type all 1.0.4-1 [5464 B]
Get: 91 http://deb.debian.org/debian buster/main armhf node-depd all 1.1.2-1 [11.6 kB]
Get: 92 http://deb.debian.org/debian buster/main armhf node-setprototypeof all 1.1.0-1 [3068 B]
Get: 93 http://deb.debian.org/debian buster/main armhf node-statuses all 1.5.0-3 [6164 B]
Get: 94 http://deb.debian.org/debian buster/main armhf node-toidentifier all 1.0.0-2 [3788 B]
Get: 95 http://deb.debian.org/debian buster/main armhf node-http-errors all 1.7.1-1 [7952 B]
Get: 96 http://deb.debian.org/debian buster/main armhf node-iconv armhf 2.3.2-1 [12.3 kB]
Get: 97 http://deb.debian.org/debian buster/main armhf node-on-finished all 2.3.0-1 [8732 B]
Get: 98 http://deb.debian.org/debian buster/main armhf node-qs all 6.5.2-1 [16.4 kB]
Get: 99 http://deb.debian.org/debian buster/main armhf node-unpipe all 1.0.0-1 [3582 B]
Get: 100 http://deb.debian.org/debian buster/main armhf node-raw-body all 2.3.3-3 [10.2 kB]
Get: 101 http://deb.debian.org/debian buster/main armhf node-mime-types all 2.1.21-1 [16.5 kB]
Get: 102 http://deb.debian.org/debian buster/main armhf node-media-typer all 0.3.0-2 [5992 B]
Get: 103 http://deb.debian.org/debian buster/main armhf node-type-is all 1.6.16-1 [7916 B]
Get: 104 http://deb.debian.org/debian buster/main armhf node-body-parser all 1.18.3-2 [16.4 kB]
Get: 105 http://deb.debian.org/debian buster/main armhf node-camelcase all 5.0.0-1 [3964 B]
Get: 106 http://deb.debian.org/debian buster/main armhf node-colors all 1.1.2-1 [8828 B]
Get: 107 http://deb.debian.org/debian buster/main armhf node-cli-table all 0.3.1-1 [9260 B]
Get: 108 http://deb.debian.org/debian buster/main armhf node-clone all 2.1.2-1 [7880 B]
Get: 109 http://deb.debian.org/debian buster/main armhf node-defaults all 1.0.3-1 [3108 B]
Get: 110 http://deb.debian.org/debian buster/main armhf node-wcwidth.js all 1.0.0-1 [6408 B]
Get: 111 http://deb.debian.org/debian buster/main armhf node-strip-ansi all 4.0.0-1 [3078 B]
Get: 112 http://deb.debian.org/debian buster/main armhf node-string-width all 2.1.1-1 [3992 B]
Get: 113 http://deb.debian.org/debian buster/main armhf node-wrap-ansi all 4.0.0-1 [5444 B]
Get: 114 http://deb.debian.org/debian buster/main armhf node-cliui all 4.1.0-1 [7832 B]
Get: 115 http://deb.debian.org/debian buster/main armhf node-co all 4.6.0-1 [7550 B]
Get: 116 http://deb.debian.org/debian buster/main armhf node-crc all 3.0.0-3 [8350 B]
Get: 117 http://deb.debian.org/debian buster/main armhf node-yallist all 3.0.3-1 [6052 B]
Get: 118 http://deb.debian.org/debian buster/main armhf node-lru-cache all 5.1.1-4 [8320 B]
Get: 119 http://deb.debian.org/debian buster/main armhf node-isexe all 2.0.0-4 [4404 B]
Get: 120 http://deb.debian.org/debian buster/main armhf node-which all 1.3.0-2 [5804 B]
Get: 121 http://deb.debian.org/debian buster/main armhf node-shebang-regex all 2.0.0-1 [2742 B]
Get: 122 http://deb.debian.org/debian buster/main armhf node-shebang-command all 1.2.0-1 [2900 B]
Get: 123 http://deb.debian.org/debian buster/main armhf node-cross-spawn all 5.1.0-2 [8732 B]
Get: 124 http://deb.debian.org/debian buster/main armhf node-decamelize all 1.2.0-1 [3044 B]
Get: 125 http://deb.debian.org/debian buster/main armhf node-encodeurl all 1.0.1-1 [4668 B]
Get: 126 http://deb.debian.org/debian buster/main armhf node-escape-html all 1.0.3-1 [3600 B]
Get: 127 http://deb.debian.org/debian buster/main armhf node-etag all 1.4.0-1 [5056 B]
Get: 128 http://deb.debian.org/debian buster/main armhf node-get-stream all 3.0.0-1 [4724 B]
Get: 129 http://deb.debian.org/debian buster/main armhf node-is-stream all 1.1.0-1 [2998 B]
Get: 130 http://deb.debian.org/debian buster/main armhf node-npm-run-path all 2.0.2-2 [4412 B]
Get: 131 http://deb.debian.org/debian buster/main armhf node-p-finally all 1.0.0-2 [3230 B]
Get: 132 http://deb.debian.org/debian buster/main armhf node-signal-exit all 3.0.2-1 [5648 B]
Get: 133 http://deb.debian.org/debian buster/main armhf node-strip-eof all 1.0.0-2 [3010 B]
Get: 134 http://deb.debian.org/debian buster/main armhf node-execa all 0.10.0+dfsg-1 [8936 B]
Get: 135 http://deb.debian.org/debian buster/main armhf node-p-limit all 1.1.0-1 [3382 B]
Get: 136 http://deb.debian.org/debian buster/main armhf node-p-locate all 2.0.0-1 [3986 B]
Get: 137 http://deb.debian.org/debian buster/main armhf node-path-exists all 3.0.0-1 [3154 B]
Get: 138 http://deb.debian.org/debian buster/main armhf node-locate-path all 2.0.0-1 [3816 B]
Get: 139 http://deb.debian.org/debian buster/main armhf node-find-up all 2.1.0-1 [3652 B]
Get: 140 http://deb.debian.org/debian buster/main armhf node-samsam all 1.2.1-1 [8626 B]
Get: 141 http://deb.debian.org/debian buster/main armhf node-formatio all 1.2.0-2 [7682 B]
Get: 142 http://deb.debian.org/debian buster/main armhf node-fresh all 0.2.0-2 [3836 B]
Get: 143 http://deb.debian.org/debian buster/main armhf node-get-caller-file all 1.0.2-1 [2814 B]
Get: 144 http://deb.debian.org/debian buster/main armhf node-invert-kv all 1.0.0-1 [2862 B]
Get: 145 http://deb.debian.org/debian buster/main armhf node-lcid all 1.0.0-1 [4232 B]
Get: 146 http://deb.debian.org/debian buster/main armhf node-lolex all 2.2.0-1 [15.6 kB]
Get: 147 http://deb.debian.org/debian buster/main armhf node-mimic-fn all 1.1.0-1 [3070 B]
Get: 148 http://deb.debian.org/debian buster/main armhf node-mem all 1.1.0-1 [4076 B]
Get: 149 http://deb.debian.org/debian buster/main armhf node-minimist all 1.2.0-1 [5588 B]
Get: 150 http://deb.debian.org/debian buster/main armhf node-wordwrap all 1.0.0-1 [5954 B]
Get: 151 http://deb.debian.org/debian buster/main armhf node-optimist all 0.6.1-1 [11.9 kB]
Get: 152 http://deb.debian.org/debian buster/main armhf node-os-locale all 2.0.0-1 [3702 B]
Get: 153 http://deb.debian.org/debian buster/main armhf node-parseurl all 1.3.0-1 [4902 B]
Get: 154 http://deb.debian.org/debian buster/main armhf node-range-parser all 1.2.0-1 [4252 B]
Get: 155 http://deb.debian.org/debian buster/main armhf node-require-directory all 2.1.1-1 [5364 B]
Get: 156 http://deb.debian.org/debian buster/main armhf node-require-main-filename all 1.0.1-1 [3152 B]
Get: 157 http://deb.debian.org/debian buster/main armhf node-rimraf all 2.6.2-1 [8112 B]
Get: 158 http://deb.debian.org/debian buster/main armhf node-rx all 4.1.0+dfsg1-1 [337 kB]
Get: 159 http://deb.debian.org/debian buster/main armhf node-send all 0.16.2-1 [18.0 kB]
Get: 160 http://deb.debian.org/debian buster/main armhf node-utils-merge all 1.0.0-1 [3314 B]
Get: 161 http://deb.debian.org/debian buster/main armhf node-serve-static all 1.6.4-3 [7628 B]
Get: 162 http://deb.debian.org/debian buster/main armhf node-set-blocking all 2.0.0-1 [3806 B]
Get: 163 http://deb.debian.org/debian buster/main armhf node-util all 0.10.3-2 [2520 B]
Get: 164 http://deb.debian.org/debian buster/main armhf node-sinon all 1.17.6-1 [41.4 kB]
Get: 165 http://deb.debian.org/debian buster/main armhf node-which-module all 2.0.0-1 [3792 B]
Get: 166 http://deb.debian.org/debian buster/main armhf node-y18n all 3.2.1-2 [4708 B]
Get: 167 http://deb.debian.org/debian buster/main armhf node-yargs-parser all 11.1.1-1+deb10u1 [16.7 kB]
Get: 168 http://deb.debian.org/debian buster/main armhf node-yargs all 10.0.3-2 [57.1 kB]
Get: 169 http://deb.debian.org/debian buster/main armhf node-uglify all 2.8.29-6 [118 kB]
Fetched 61.2 MB in 10s (5852 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libbsd0:armhf.
(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 ... 18932 files and directories currently installed.)
Preparing to unpack .../000-libbsd0_0.9.1-2_armhf.deb ...
Unpacking libbsd0:armhf (0.9.1-2) ...
Selecting previously unselected package bsdmainutils.
Preparing to unpack .../001-bsdmainutils_11.1.2+b1_armhf.deb ...
Unpacking bsdmainutils (11.1.2+b1) ...
Selecting previously unselected package libuchardet0:armhf.
Preparing to unpack .../002-libuchardet0_0.0.6-3_armhf.deb ...
Unpacking libuchardet0:armhf (0.0.6-3) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../003-groff-base_1.22.4-3_armhf.deb ...
Unpacking groff-base (1.22.4-3) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../004-libpipeline1_1.5.1-2_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.1-2) ...
Selecting previously unselected package man-db.
Preparing to unpack .../005-man-db_2.8.5-2_armhf.deb ...
Unpacking man-db (2.8.5-2) ...
Selecting previously unselected package libbrotli1:armhf.
Preparing to unpack .../006-libbrotli1_1.0.7-2_armhf.deb ...
Unpacking libbrotli1:armhf (1.0.7-2) ...
Selecting previously unselected package libc-ares2:armhf.
Preparing to unpack .../007-libc-ares2_1.14.0-1_armhf.deb ...
Unpacking libc-ares2:armhf (1.14.0-1) ...
Selecting previously unselected package libicu63:armhf.
Preparing to unpack .../008-libicu63_63.1-6+deb10u1_armhf.deb ...
Unpacking libicu63:armhf (63.1-6+deb10u1) ...
Selecting previously unselected package libssl1.1:armhf.
Preparing to unpack .../009-libssl1.1_1.1.1d-0+deb10u3_armhf.deb ...
Unpacking libssl1.1:armhf (1.1.1d-0+deb10u3) ...
Selecting previously unselected package libuv1:armhf.
Preparing to unpack .../010-libuv1_1.24.1-1_armhf.deb ...
Unpacking libuv1:armhf (1.24.1-1) ...
Selecting previously unselected package libnode64:armhf.
Preparing to unpack .../011-libnode64_10.19.0~dfsg1-1_armhf.deb ...
Unpacking libnode64:armhf (10.19.0~dfsg1-1) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../012-nodejs_10.19.0~dfsg1-1_armhf.deb ...
Unpacking nodejs (10.19.0~dfsg1-1) ...
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:armhf.
Preparing to unpack .../031-libglib2.0-0_2.58.3-2+deb10u2_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.58.3-2+deb10u2) ...
Selecting previously unselected package libjpeg62-turbo:armhf.
Preparing to unpack .../032-libjpeg62-turbo_1%3a1.5.2-2+b1_armhf.deb ...
Unpacking libjpeg62-turbo:armhf (1:1.5.2-2+b1) ...
Selecting previously unselected package libpng16-16:armhf.
Preparing to unpack .../033-libpng16-16_1.6.36-6_armhf.deb ...
Unpacking libpng16-16:armhf (1.6.36-6) ...
Selecting previously unselected package libjbig0:armhf.
Preparing to unpack .../034-libjbig0_2.1-3.1+b2_armhf.deb ...
Unpacking libjbig0:armhf (2.1-3.1+b2) ...
Selecting previously unselected package libwebp6:armhf.
Preparing to unpack .../035-libwebp6_0.6.1-2_armhf.deb ...
Unpacking libwebp6:armhf (0.6.1-2) ...
Selecting previously unselected package libtiff5:armhf.
Preparing to unpack .../036-libtiff5_4.1.0+git191117-2~deb10u1_armhf.deb ...
Unpacking libtiff5:armhf (4.1.0+git191117-2~deb10u1) ...
Selecting previously unselected package libxau6:armhf.
Preparing to unpack .../037-libxau6_1%3a1.0.8-1+b2_armhf.deb ...
Unpacking libxau6:armhf (1:1.0.8-1+b2) ...
Selecting previously unselected package libxdmcp6:armhf.
Preparing to unpack .../038-libxdmcp6_1%3a1.1.2-3_armhf.deb ...
Unpacking libxdmcp6:armhf (1:1.1.2-3) ...
Selecting previously unselected package libxcb1:armhf.
Preparing to unpack .../039-libxcb1_1.13.1-2_armhf.deb ...
Unpacking libxcb1:armhf (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:armhf.
Preparing to unpack .../041-libx11-6_2%3a1.6.7-1_armhf.deb ...
Unpacking libx11-6:armhf (2:1.6.7-1) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../042-libxml2_2.9.4+dfsg1-7+b3_armhf.deb ...
Unpacking libxml2:armhf (2.9.4+dfsg1-7+b3) ...
Selecting previously unselected package shared-mime-info.
Preparing to unpack .../043-shared-mime-info_1.10-1_armhf.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:armhf.
Preparing to unpack .../045-libgdk-pixbuf2.0-0_2.38.1+dfsg-1_armhf.deb ...
Unpacking libgdk-pixbuf2.0-0:armhf (2.38.1+dfsg-1) ...
Selecting previously unselected package libnotify4:armhf.
Preparing to unpack .../046-libnotify4_0.7.7-4_armhf.deb ...
Unpacking libnotify4:armhf (0.7.7-4) ...
Selecting previously unselected package libnotify-bin.
Preparing to unpack .../047-libnotify-bin_0.7.7-4_armhf.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+deb10u1_armhf.deb ...
Unpacking libmagic-mgc (1:5.35-4+deb10u1) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../058-libmagic1_1%3a5.35-4+deb10u1_armhf.deb ...
Unpacking libmagic1:armhf (1:5.35-4+deb10u1) ...
Selecting previously unselected package file.
Preparing to unpack .../059-file_1%3a5.35-4+deb10u1_armhf.deb ...
Unpacking file (1:5.35-4+deb10u1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../060-gettext-base_0.19.8.1-9_armhf.deb ...
Unpacking gettext-base (0.19.8.1-9) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../061-libsigsegv2_2.12-2_armhf.deb ...
Unpacking libsigsegv2:armhf (2.12-2) ...
Selecting previously unselected package m4.
Preparing to unpack .../062-m4_1.4.18-2_armhf.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:armhf.
Preparing to unpack .../072-libelf1_0.176-1.1_armhf.deb ...
Unpacking libelf1:armhf (0.176-1.1) ...
Selecting previously unselected package dwz.
Preparing to unpack .../073-dwz_0.12-3_armhf.deb ...
Unpacking dwz (0.12-3) ...
Selecting previously unselected package libcroco3:armhf.
Preparing to unpack .../074-libcroco3_0.6.12-3_armhf.deb ...
Unpacking libcroco3:armhf (0.6.12-3) ...
Selecting previously unselected package libncurses6:armhf.
Preparing to unpack .../075-libncurses6_6.1+20181013-2+deb10u2_armhf.deb ...
Unpacking libncurses6:armhf (6.1+20181013-2+deb10u2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../076-gettext_0.19.8.1-9_armhf.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_armhf.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+deb10u1_all.deb ...
Unpacking node-yargs-parser (11.1.1-1+deb10u1) ...
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:armhf (1.5.1-2) ...
Setting up libxau6:armhf (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+deb10u1) ...
Setting up libarchive-zip-perl (1.64-1) ...
Setting up libglib2.0-0:armhf (2.58.3-2+deb10u2) ...
No schema files found: doing nothing.
Setting up libssl1.1:armhf (1.1.1d-0+deb10u3) ...
Setting up libbrotli1:armhf (1.0.7-2) ...
Setting up libgdk-pixbuf2.0-common (2.38.1+dfsg-1) ...
Setting up libmagic1:armhf (1:5.35-4+deb10u1) ...
Setting up gettext-base (0.19.8.1-9) ...
Setting up libc-ares2:armhf (1.14.0-1) ...
Setting up file (1:5.35-4+deb10u1) ...
Setting up libjbig0:armhf (2.1-3.1+b2) ...
Setting up libicu63:armhf (63.1-6+deb10u1) ...
Setting up autotools-dev (20180224.1) ...
Setting up libuv1:armhf (1.24.1-1) ...
Setting up libjpeg62-turbo:armhf (1:1.5.2-2+b1) ...
Setting up libx11-data (2:1.6.7-1) ...
Setting up libncurses6:armhf (6.1+20181013-2+deb10u2) ...
Setting up libsigsegv2:armhf (2.12-2) ...
Setting up libpng16-16:armhf (1.6.36-6) ...
Setting up libnode64:armhf (10.19.0~dfsg1-1) ...
Setting up autopoint (0.19.8.1-9) ...
Setting up libwebp6:armhf (0.6.1-2) ...
Setting up sensible-utils (0.0.12) ...
Setting up libuchardet0:armhf (0.0.6-3) ...
Setting up libtiff5:armhf (4.1.0+git191117-2~deb10u1) ...
Setting up libbsd0:armhf (0.9.1-2) ...
Setting up libelf1:armhf (0.176-1.1) ...
Setting up libxml2:armhf (2.9.4+dfsg1-7+b3) ...
Setting up libfile-stripnondeterminism-perl (1.1.2-1) ...
Setting up libxdmcp6:armhf (1:1.1.2-3) ...
Setting up libxcb1:armhf (1.13.1-2) ...
Setting up libtool (2.4.6-9) ...
Setting up m4 (1.4.18-2) ...
Setting up nodejs (10.19.0~dfsg1-1) ...
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:armhf (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:armhf (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+deb10u1) ...
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:armhf (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:armhf (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 <rossgammon@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
 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 (228ms)

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 (409ms)

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 (348ms)

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 (252ms)

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 (529ms)

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 (239ms)

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 (284ms)

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), <anonymous>: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), <anonymous>: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.<anonymous> (/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.<anonymous> (/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 (385ms)

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 (243ms)

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 (211ms)

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 (333ms)

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 (267ms)
  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 (1s)

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 (414ms)

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 (743ms)

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 (192ms)

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 (156ms)

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 (1s)

nodejs tools/test --run=github-3.6.4.js --no-js-hint


  github-364
    ✓ resolve between thens


  1 passing (145ms)

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 (2s)

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 (192ms)

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 (182ms)

nodejs tools/test --run=github-4.1.7.js --no-js-hint


  Github #417
    ✓ minimal repro
    ✓ original repro


  2 passing (228ms)

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 (350ms)

nodejs tools/test --run=github36.js --no-js-hint


  github36
    ✓ should work


  1 passing (195ms)

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 (10s)

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 (106ms)

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 (647ms)

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 (309ms)

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 (331ms)

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 (216ms)

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 (352ms)

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 (375ms)

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 (528ms)

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 (223ms)

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 (544ms)

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 (980ms)

nodejs tools/test --run=monitoring.js --no-js-hint


  monitoring: promise lifecycle events subscriptions
    simple events API
      ✓ promiseCreated
      ✓ promiseChained
      ✓ promiseRejected
      ✓ promiseFulfilled


  4 passing (232ms)

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 (2s)

nodejs tools/test --run=multiple-copies.js --no-js-hint


  multiple copies
    ✓ are being loaded


  1 passing (569ms)

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 (303ms)

nodejs tools/test --run=no_conflict.js --no-js-hint


  Promise.noConflict
    ✓ should work


  1 passing (101ms)

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 (2s)

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 (649ms)

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 (1s)

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 (405ms)

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 (2s)

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 (1s)

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 (368ms)

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 (370ms)

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 (326ms)

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 (294ms)

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:13144) [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 (3s)

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.<anonymous> (/build/node-bluebird-3.5.1+dfsg2/test/mocha/reduce.js:94:13)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at /usr/lib/nodejs/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    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), <anonymous>: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), <anonymous>: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.<anonymous> (/build/node-bluebird-3.5.1+dfsg2/test/mocha/reduce.js:94:13)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at /usr/lib/nodejs/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    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), <anonymous>: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), <anonymous>: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 (4s)

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 (588ms)

nodejs tools/test --run=reflect.js --no-js-hint


  .reflect()
    ✓ already-fulfilled
    ✓ immediately-fulfilled
    ✓ eventually-fulfilled
    ✓ already-rejected
    ✓ immediately-rejected
    ✓ eventually-rejected


  6 passing (326ms)

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 (1s)

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 (2s)

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 (683ms)

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 (555ms)

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 (411ms)

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 (533ms)

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 (1s)

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 (231ms)

nodejs tools/test --run=domain.js --no-js-hint


  domain
(node:14273) [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 (787ms)

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 (449ms)

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.<anonymous> (/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.<anonymous> (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:27:1)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at /usr/lib/nodejs/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    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), <anonymous>: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), <anonymous>: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.<anonymous> (/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.<anonymous> (/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.<anonymous> (/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.<anonymous> (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:27:1)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at /usr/lib/nodejs/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    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), <anonymous>: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), <anonymous>: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.<anonymous> (/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.<anonymous> (/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.<anonymous> (/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.<anonymous> (/build/node-bluebird-3.5.1+dfsg2/test/mocha/done.js:27:1)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at /usr/lib/nodejs/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    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), <anonymous>: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), <anonymous>: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.<anonymous> (/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.<anonymous> (/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 (345ms)

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 (423ms)

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 (482ms)

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 (477ms)

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 (383ms)

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 (290ms)

# 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_armhf.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/3779 and its subdirectories
I: Current time: Wed Jun 10 09:21:00 -12 2020
I: pbuilder-time-stamp: 1591824060
Wed Jun 10 21:21:18 UTC 2020  I: 1st build successful. Starting 2nd build on remote node jtx1a-armhf-rb.debian.net.
Wed Jun 10 21:21:18 UTC 2020  I: Preparing to do remote build '2' on jtx1a-armhf-rb.debian.net.
Wed Jun 10 21:54:01 UTC 2020  I: Deleting $TMPDIR on jtx1a-armhf-rb.debian.net.
Wed Jun 10 21:54:03 UTC 2020  I: node-bluebird_3.5.1+dfsg2-2_armhf.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 <pkg-javascript-devel@lists.alioth.debian.org>
Changed-By: Ross Gammon <rossgammon@debian.org>
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
 b6526eb8811a39ac2fade141f2998cc14bba1409 8242 node-bluebird_3.5.1+dfsg2-2_armhf.buildinfo
Checksums-Sha256:
 88ba5166d751cc2ebaefcfbad8d0ef87e2f2d849b2ee06a33a12eac13eb775a0 36352 node-bluebird_3.5.1+dfsg2-2_all.deb
 3e2b2c553ae65d7ef67737e4ffaca21ab5365655bdc0b6ae961b51376fbb704b 8242 node-bluebird_3.5.1+dfsg2-2_armhf.buildinfo
Files:
 c020000116c9df8206721881f078a153 36352 javascript optional node-bluebird_3.5.1+dfsg2-2_all.deb
 49f788267a36729367c7efc0bf1d152d 8242 javascript optional node-bluebird_3.5.1+dfsg2-2_armhf.buildinfo
Wed Jun 10 21:54:04 UTC 2020  I: diffoscope 146 will be used to compare the two builds:
# Profiling output for: /usr/bin/diffoscope --html /srv/reproducible-results/rbuild-debian/tmp.ZA8OYmEvt7/node-bluebird_3.5.1+dfsg2-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/tmp.ZA8OYmEvt7/node-bluebird_3.5.1+dfsg2-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/tmp.ZA8OYmEvt7/node-bluebird_3.5.1+dfsg2-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/tmp.ZA8OYmEvt7/b1/node-bluebird_3.5.1+dfsg2-2_armhf.changes /srv/reproducible-results/rbuild-debian/tmp.ZA8OYmEvt7/b2/node-bluebird_3.5.1+dfsg2-2_armhf.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.189s)
       0.189s      2 calls    outputs
       0.000s      1 call     cleanup

## recognizes (total time: 0.020s)
       0.020s     10 calls    diffoscope.comparators.binary.FilesystemFile
       0.000s      8 calls    abc.DotChangesFile
Wed Jun 10 21:54:07 UTC 2020  I: diffoscope 146 found no differences in the changes files, and a .buildinfo file also exists.
Wed Jun 10 21:54:07 UTC 2020  I: node-bluebird from buster built successfully and reproducibly on armhf.
Wed Jun 10 21:54:08 UTC 2020  I: Submitting .buildinfo files to external archives:
Wed Jun 10 21:54:08 UTC 2020  I: Submitting 12K	b1/node-bluebird_3.5.1+dfsg2-2_armhf.buildinfo.asc
Wed Jun 10 21:54:09 UTC 2020  I: Submitting 12K	b2/node-bluebird_3.5.1+dfsg2-2_armhf.buildinfo.asc
Wed Jun 10 21:54:10 UTC 2020  I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit.
Wed Jun 10 21:54:10 UTC 2020  I: Done submitting .buildinfo files.
Wed Jun 10 21:54:10 UTC 2020  I: Removing signed node-bluebird_3.5.1+dfsg2-2_armhf.buildinfo.asc files:
removed './b1/node-bluebird_3.5.1+dfsg2-2_armhf.buildinfo.asc'
removed './b2/node-bluebird_3.5.1+dfsg2-2_armhf.buildinfo.asc'