Diff of the two buildlogs: -- --- b1/build.log 2020-12-16 03:55:46.581826707 +0000 +++ b2/build.log 2020-12-16 03:56:34.560348541 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Dec 15 15:55:11 -12 2020 -I: pbuilder-time-stamp: 1608090911 +I: Current time: Wed Jan 19 00:18:49 +14 2022 +I: pbuilder-time-stamp: 1642501129 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration @@ -17,7 +17,7 @@ I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error -gpgv: Signature made Fri Dec 7 08:29:39 2018 -12 +gpgv: Signature made Sat Dec 8 10:29:39 2018 +14 gpgv: using RSA key 9B917007AE030E36E4FC248B695B7AE4BF066240 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./emacs-buttercup_1.16-1.dsc @@ -28,136 +28,170 @@ dpkg-source: info: applying debian-changes I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/45123/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/14228/tmp/hooks/D01_modify_environment starting +debug: Running on ionos5-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' +Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' +Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' +Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/14228/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/14228/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='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=15' - DISTRIBUTION='' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="0" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.0.3(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='a2abeb35f21843e48ca693466bf410b3' - 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='45123' - PS1='# ' - PS2='> ' + INVOCATION_ID=30bc192504d94b4d9d1900c69d40b4b2 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=14228 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.7lxmQzV2dt/pbuilderrc_z5pn --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.7lxmQzV2dt/b1 --logfile b1/build.log emacs-buttercup_1.16-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://78.137.99.97:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.7lxmQzV2dt/pbuilderrc_r3eX --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.7lxmQzV2dt/b2 --logfile b2/build.log emacs-buttercup_1.16-1.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://85.184.249.68:3128 I: uname -a - Linux ionos1-amd64 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux + Linux i-capture-the-hostname 5.9.0-0.bpo.2-amd64 #1 SMP Debian 5.9.6-1~bpo10+1 (2020-11-19) x86_64 GNU/Linux I: ls -l /bin total 5116 - -rwxr-xr-x 1 root root 1168776 Apr 17 2019 bash - -rwxr-xr-x 3 root root 38984 Jul 10 2019 bunzip2 - -rwxr-xr-x 3 root root 38984 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 38984 Jul 10 2019 bzip2 - -rwxr-xr-x 1 root root 14328 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 43744 Feb 28 2019 cat - -rwxr-xr-x 1 root root 64320 Feb 28 2019 chgrp - -rwxr-xr-x 1 root root 64288 Feb 28 2019 chmod - -rwxr-xr-x 1 root root 72512 Feb 28 2019 chown - -rwxr-xr-x 1 root root 146880 Feb 28 2019 cp - -rwxr-xr-x 1 root root 121464 Jan 17 2019 dash - -rwxr-xr-x 1 root root 109408 Feb 28 2019 date - -rwxr-xr-x 1 root root 76712 Feb 28 2019 dd - -rwxr-xr-x 1 root root 93744 Feb 28 2019 df - -rwxr-xr-x 1 root root 138856 Feb 28 2019 dir - -rwxr-xr-x 1 root root 84288 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 39520 Feb 28 2019 echo - -rwxr-xr-x 1 root root 28 Jan 7 2019 egrep - -rwxr-xr-x 1 root root 35424 Feb 28 2019 false - -rwxr-xr-x 1 root root 28 Jan 7 2019 fgrep - -rwxr-xr-x 1 root root 68880 Jan 9 2019 findmnt - -rwsr-xr-x 1 root root 34896 Apr 22 2020 fusermount - -rwxr-xr-x 1 root root 198976 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 98048 Jan 5 2019 gzip - -rwxr-xr-x 1 root root 26696 Sep 26 2018 hostname - -rwxr-xr-x 1 root root 68552 Feb 28 2019 ln - -rwxr-xr-x 1 root root 56760 Jul 26 2018 login - -rwxr-xr-x 1 root root 138856 Feb 28 2019 ls - -rwxr-xr-x 1 root root 108624 Jan 9 2019 lsblk - -rwxr-xr-x 1 root root 89088 Feb 28 2019 mkdir - -rwxr-xr-x 1 root root 68544 Feb 28 2019 mknod - -rwxr-xr-x 1 root root 43808 Feb 28 2019 mktemp - -rwxr-xr-x 1 root root 43008 Jan 9 2019 more - -rwsr-xr-x 1 root root 51280 Jan 9 2019 mount - -rwxr-xr-x 1 root root 14408 Jan 9 2019 mountpoint - -rwxr-xr-x 1 root root 138728 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 39616 Feb 28 2019 pwd - lrwxrwxrwx 1 root root 4 Apr 17 2019 rbash -> bash - -rwxr-xr-x 1 root root 47776 Feb 28 2019 readlink - -rwxr-xr-x 1 root root 68416 Feb 28 2019 rm - -rwxr-xr-x 1 root root 47776 Feb 28 2019 rmdir - -rwxr-xr-x 1 root root 23312 Jan 21 2019 run-parts - -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Dec 6 20:26 sh -> dash - -rwxr-xr-x 1 root root 39552 Feb 28 2019 sleep - -rwxr-xr-x 1 root root 80672 Feb 28 2019 stty - -rwsr-xr-x 1 root root 63568 Jan 9 2019 su - -rwxr-xr-x 1 root root 35488 Feb 28 2019 sync - -rwxr-xr-x 1 root root 445560 Apr 23 2019 tar - -rwxr-xr-x 1 root root 14440 Jan 21 2019 tempfile - -rwxr-xr-x 1 root root 97152 Feb 28 2019 touch - -rwxr-xr-x 1 root root 35424 Feb 28 2019 true - -rwxr-xr-x 1 root root 14328 Apr 22 2020 ulockmgr_server - -rwsr-xr-x 1 root root 34888 Jan 9 2019 umount - -rwxr-xr-x 1 root root 39584 Feb 28 2019 uname - -rwxr-xr-x 2 root root 2345 Jan 5 2019 uncompress - -rwxr-xr-x 1 root root 138856 Feb 28 2019 vdir - -rwxr-xr-x 1 root root 34896 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/45123/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1168776 Apr 18 2019 bash + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bunzip2 + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bzcat + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2227 Jul 11 2019 bzdiff + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Jun 25 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3641 Jul 11 2019 bzgrep + -rwxr-xr-x 3 root root 38984 Jul 11 2019 bzip2 + -rwxr-xr-x 1 root root 14328 Jul 11 2019 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 11 2019 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 11 2019 bzmore + -rwxr-xr-x 1 root root 43744 Mar 1 2019 cat + -rwxr-xr-x 1 root root 64320 Mar 1 2019 chgrp + -rwxr-xr-x 1 root root 64288 Mar 1 2019 chmod + -rwxr-xr-x 1 root root 72512 Mar 1 2019 chown + -rwxr-xr-x 1 root root 146880 Mar 1 2019 cp + -rwxr-xr-x 1 root root 121464 Jan 18 2019 dash + -rwxr-xr-x 1 root root 109408 Mar 1 2019 date + -rwxr-xr-x 1 root root 76712 Mar 1 2019 dd + -rwxr-xr-x 1 root root 93744 Mar 1 2019 df + -rwxr-xr-x 1 root root 138856 Mar 1 2019 dir + -rwxr-xr-x 1 root root 84288 Jan 10 2019 dmesg + lrwxrwxrwx 1 root root 8 Sep 27 2018 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Sep 27 2018 domainname -> hostname + -rwxr-xr-x 1 root root 39520 Mar 1 2019 echo + -rwxr-xr-x 1 root root 28 Jan 8 2019 egrep + -rwxr-xr-x 1 root root 35424 Mar 1 2019 false + -rwxr-xr-x 1 root root 28 Jan 8 2019 fgrep + -rwxr-xr-x 1 root root 68880 Jan 10 2019 findmnt + -rwsr-xr-x 1 root root 34896 Apr 23 2020 fusermount + -rwxr-xr-x 1 root root 198976 Jan 8 2019 grep + -rwxr-xr-x 2 root root 2345 Jan 6 2019 gunzip + -rwxr-xr-x 1 root root 6375 Jan 6 2019 gzexe + -rwxr-xr-x 1 root root 98048 Jan 6 2019 gzip + -rwxr-xr-x 1 root root 26696 Sep 27 2018 hostname + -rwxr-xr-x 1 root root 68552 Mar 1 2019 ln + -rwxr-xr-x 1 root root 56760 Jul 27 2018 login + -rwxr-xr-x 1 root root 138856 Mar 1 2019 ls + -rwxr-xr-x 1 root root 108624 Jan 10 2019 lsblk + -rwxr-xr-x 1 root root 89088 Mar 1 2019 mkdir + -rwxr-xr-x 1 root root 68544 Mar 1 2019 mknod + -rwxr-xr-x 1 root root 43808 Mar 1 2019 mktemp + -rwxr-xr-x 1 root root 43008 Jan 10 2019 more + -rwsr-xr-x 1 root root 51280 Jan 10 2019 mount + -rwxr-xr-x 1 root root 14408 Jan 10 2019 mountpoint + -rwxr-xr-x 1 root root 138728 Mar 1 2019 mv + lrwxrwxrwx 1 root root 8 Sep 27 2018 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Feb 15 2019 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 39616 Mar 1 2019 pwd + lrwxrwxrwx 1 root root 4 Apr 18 2019 rbash -> bash + -rwxr-xr-x 1 root root 47776 Mar 1 2019 readlink + -rwxr-xr-x 1 root root 68416 Mar 1 2019 rm + -rwxr-xr-x 1 root root 47776 Mar 1 2019 rmdir + -rwxr-xr-x 1 root root 23312 Jan 22 2019 run-parts + -rwxr-xr-x 1 root root 122224 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Jan 19 00:18 sh -> bash + lrwxrwxrwx 1 root root 4 Jan 10 04:46 sh.distrib -> dash + -rwxr-xr-x 1 root root 39552 Mar 1 2019 sleep + -rwxr-xr-x 1 root root 80672 Mar 1 2019 stty + -rwsr-xr-x 1 root root 63568 Jan 10 2019 su + -rwxr-xr-x 1 root root 35488 Mar 1 2019 sync + -rwxr-xr-x 1 root root 445560 Apr 24 2019 tar + -rwxr-xr-x 1 root root 14440 Jan 22 2019 tempfile + -rwxr-xr-x 1 root root 97152 Mar 1 2019 touch + -rwxr-xr-x 1 root root 35424 Mar 1 2019 true + -rwxr-xr-x 1 root root 14328 Apr 23 2020 ulockmgr_server + -rwsr-xr-x 1 root root 34888 Jan 10 2019 umount + -rwxr-xr-x 1 root root 39584 Mar 1 2019 uname + -rwxr-xr-x 2 root root 2345 Jan 6 2019 uncompress + -rwxr-xr-x 1 root root 138856 Mar 1 2019 vdir + -rwxr-xr-x 1 root root 34896 Jan 10 2019 wdctl + -rwxr-xr-x 1 root root 946 Jan 22 2019 which + lrwxrwxrwx 1 root root 8 Sep 27 2018 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1983 Jan 6 2019 zcat + -rwxr-xr-x 1 root root 1677 Jan 6 2019 zcmp + -rwxr-xr-x 1 root root 5879 Jan 6 2019 zdiff + -rwxr-xr-x 1 root root 29 Jan 6 2019 zegrep + -rwxr-xr-x 1 root root 29 Jan 6 2019 zfgrep + -rwxr-xr-x 1 root root 2080 Jan 6 2019 zforce + -rwxr-xr-x 1 root root 7584 Jan 6 2019 zgrep + -rwxr-xr-x 1 root root 2205 Jan 6 2019 zless + -rwxr-xr-x 1 root root 1841 Jan 6 2019 zmore + -rwxr-xr-x 1 root root 4552 Jan 6 2019 znew +I: user script /srv/workspace/pbuilder/14228/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -288,7 +322,7 @@ Get: 91 http://deb.debian.org/debian buster/main amd64 libtext-glob-perl all 0.10-1 [8362 B] Get: 92 http://deb.debian.org/debian buster/main amd64 libfile-find-rule-perl all 0.34-1 [30.6 kB] Get: 93 http://deb.debian.org/debian buster/main amd64 dh-elpa all 1.16 [32.8 kB] -Fetched 41.9 MB in 1s (43.0 MB/s) +Fetched 41.9 MB in 1s (53.2 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package install-info. (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 ... 19195 files and directories currently installed.) @@ -700,7 +734,7 @@ 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/emacs-buttercup-1.16/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b +I: Running cd /build/emacs-buttercup-1.16/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b dpkg-buildpackage: info: source package emacs-buttercup dpkg-buildpackage: info: source version 1.16-1 dpkg-buildpackage: info: source distribution unstable @@ -711,7 +745,7 @@ fakeroot debian/rules clean dh clean --with elpa dh_auto_clean - make -j15 clean + make -j16 clean make[1]: Entering directory '/build/emacs-buttercup-1.16' rm -f *.elc make[1]: Leaving directory '/build/emacs-buttercup-1.16' @@ -722,7 +756,7 @@ dh_autoreconf dh_auto_configure dh_auto_build - make -j15 + make -j16 make[1]: Entering directory '/build/emacs-buttercup-1.16' emacs -batch -L . -f batch-byte-compile buttercup-compat.el emacs -batch -L . -f batch-byte-compile buttercup.el @@ -736,318 +770,318 @@ Running 110 specs. The buttercup-failed signal - can be raised can be raised (4.56ms) + can be raised can be raised (4.24ms) The buttercup-pending signal - can be raised can be raised (0.41ms) + can be raised can be raised (0.18ms) The `expect' form - with a matcher should translate to the function call with closures with a matcher should translate to the function call with closures (0.57ms) - with no matcher should use `:to-be-truthy' as the matcher with no matcher should use `:to-be-truthy' as the matcher (0.45ms) + with a matcher should translate to the function call with closures with a matcher should translate to the function call with closures (0.39ms) + with no matcher should use `:to-be-truthy' as the matcher with no matcher should use `:to-be-truthy' as the matcher (0.31ms) The `buttercup-expect' function with a function as a matcher argument - should not raise an error if the function returns true should not raise an error if the function returns true (0.30ms) - should raise an error if the function returns false should raise an error if the function returns false (0.40ms) + should not raise an error if the function returns true should not raise an error if the function returns true (0.20ms) + should raise an error if the function returns false should raise an error if the function returns false (0.23ms) with a matcher argument - should not raise an error if the matcher returns true should not raise an error if the matcher returns true (0.28ms) - should raise an error if the matcher returns false should raise an error if the matcher returns false (0.35ms) + should not raise an error if the matcher returns true should not raise an error if the matcher returns true (0.18ms) + should raise an error if the matcher returns false should raise an error if the matcher returns false (0.21ms) The `buttercup-fail' function - should raise a signal with its arguments should raise a signal with its arguments (0.30ms) + should raise a signal with its arguments should raise a signal with its arguments (0.20ms) The `assume' form - should raise a signal if the condition is nil should raise a signal if the condition is nil (0.36ms) - should show the format if no message is given should show the format if no message is given (0.36ms) - should not raise a signal if the condition is non-nil should not raise a signal if the condition is non-nil (0.27ms) + should raise a signal if the condition is nil should raise a signal if the condition is nil (0.20ms) + should show the format if no message is given should show the format if no message is given (0.20ms) + should not raise a signal if the condition is non-nil should not raise a signal if the condition is non-nil (0.16ms) The `buttercup-skip' function - should raise a signal with its arguments should raise a signal with its arguments (0.36ms) + should raise a signal with its arguments should raise a signal with its arguments (0.20ms) The `buttercup-define-matcher' macro - should create a matcher usable by apply-matcher should create a matcher usable by apply-matcher (0.23ms) + should create a matcher usable by apply-matcher should create a matcher usable by apply-matcher (0.13ms) The `buttercup--apply-matcher' function - should work with functions should work with functions (0.21ms) - should work with matchers should work with matchers (0.22ms) - should fail if the matcher is not defined should fail if the matcher is not defined (0.29ms) + should work with functions should work with functions (0.16ms) + should work with matchers should work with matchers (0.12ms) + should fail if the matcher is not defined should fail if the matcher is not defined (0.21ms) The :buttercup-define-matcher-for-unary-function helper - should not modify match data should not modify match data (0.31ms) + should not modify match data should not modify match data (0.22ms) The :buttercup-define-matcher-for-binary-function helper - should not modify match data should not modify match data (0.35ms) + should not modify match data should not modify match data (0.20ms) The `buttercup-suite-add-child' function - should add an element at the end of the list should add an element at the end of the list (0.34ms) - should add an element even if the list is empty should add an element even if the list is empty (0.22ms) - should add the parent to the child should add the parent to the child (0.22ms) + should add an element at the end of the list should add an element at the end of the list (0.16ms) + should add an element even if the list is empty should add an element even if the list is empty (0.13ms) + should add the parent to the child should add the parent to the child (0.14ms) The `buttercup-suite-parents' function - should return the list of parents for a suite should return the list of parents for a suite (0.24ms) + should return the list of parents for a suite should return the list of parents for a suite (0.13ms) The `buttercup-spec-parents' function - should return the list of parents for a spec should return the list of parents for a spec (0.29ms) + should return the list of parents for a spec should return the list of parents for a spec (0.14ms) The `buttercup-suites-total-specs-defined' function - should return the number of specs in a list of suites should return the number of specs in a list of suites (0.21ms) + should return the number of specs in a list of suites should return the number of specs in a list of suites (0.10ms) The `buttercup-suites-total-specs-failed' function - should return the number of failed specs in a list of suites should return the number of failed specs in a list of suites (0.22ms) + should return the number of failed specs in a list of suites should return the number of failed specs in a list of suites (0.11ms) The `buttercup-suite-full-name' function - should return the full name of a suite without parents should return the full name of a suite without parents (0.22ms) - should return the full name of a suite with parents should return the full name of a suite with parents (0.22ms) + should return the full name of a suite without parents should return the full name of a suite without parents (0.12ms) + should return the full name of a suite with parents should return the full name of a suite with parents (0.13ms) The `buttercup-spec-full-name' function - should return the full name of a spec without parents should return the full name of a spec without parents (0.22ms) - should return the full name of a spec with parents should return the full name of a spec with parents (0.22ms) + should return the full name of a spec without parents should return the full name of a spec without parents (0.13ms) + should return the full name of a spec with parents should return the full name of a spec with parents (0.13ms) The `buttercup-elapsed-time' function - should report elapsed time for suites should report elapsed time for suites (0.37ms) - should report elapsed time for specs should report elapsed time for specs (0.27ms) + should report elapsed time for suites should report elapsed time for suites (0.21ms) + should report elapsed time for specs should report elapsed time for specs (0.18ms) The `buttercup--run-suite' function - should set start and end time of the suite should set start and end time of the suite (0.38ms) + should set start and end time of the suite should set start and end time of the suite (0.30ms) The `buttercup--run-spec' function - should set start and end time of the spec should set start and end time of the spec (0.46ms) + should set start and end time of the spec should set start and end time of the spec (0.30ms) The `describe' macro - should expand to a simple call to the buttercup-describe function should expand to a simple call to the buttercup-describe function (0.23ms) - should support the :var argument should support the :var argument (0.20ms) + should expand to a simple call to the buttercup-describe function should expand to a simple call to the buttercup-describe function (0.13ms) + should support the :var argument should support the :var argument (0.13ms) The `buttercup-describe' function - should run the enclosing body should run the enclosing body (0.21ms) - should set the `buttercup-suites' variable should set the `buttercup-suites' variable (0.19ms) - should add child suites when called nested should add child suites when called nested (0.28ms) + should run the enclosing body should run the enclosing body (0.08ms) + should set the `buttercup-suites' variable should set the `buttercup-suites' variable (0.10ms) + should add child suites when called nested should add child suites when called nested (0.17ms) The `it' macro - should expand to a call to the `buttercup-it' function should expand to a call to the `buttercup-it' function (0.23ms) - without argument should expand to xit. without argument should expand to xit. (0.19ms) + should expand to a call to the `buttercup-it' function should expand to a call to the `buttercup-it' function (0.11ms) + without argument should expand to xit. without argument should expand to xit. (0.10ms) The `buttercup-it' function - should fail if not called from within a describe form should fail if not called from within a describe form (0.32ms) - should add a spec to the current suite should add a spec to the current suite (0.33ms) + should fail if not called from within a describe form should fail if not called from within a describe form (0.15ms) + should add a spec to the current suite should add a spec to the current suite (0.17ms) The `before-each' macro - expands to a function call expands to a function call (0.27ms) + expands to a function call expands to a function call (0.11ms) The `buttercup-before-each' function - adds its argument to the before-each list of the current suite adds its argument to the before-each list of the current suite (0.27ms) + adds its argument to the before-each list of the current suite adds its argument to the before-each list of the current suite (0.12ms) The `after-each' macro - expands to a function call expands to a function call (0.25ms) + expands to a function call expands to a function call (0.11ms) The `buttercup-after-each' function - adds its argument to the after-each list of the current suite adds its argument to the after-each list of the current suite (0.26ms) + adds its argument to the after-each list of the current suite adds its argument to the after-each list of the current suite (0.13ms) The `before-all' macro - expands to a function call expands to a function call (0.29ms) + expands to a function call expands to a function call (0.10ms) The `buttercup-before-all' function - adds its argument to the before-all list of the current suite adds its argument to the before-all list of the current suite (0.27ms) + adds its argument to the before-all list of the current suite adds its argument to the before-all list of the current suite (0.10ms) The `after-all' macro - expands to a function call expands to a function call (0.21ms) + expands to a function call expands to a function call (0.10ms) The `buttercup-after-all' function - adds its argument to the after-all list of the current suite adds its argument to the after-all list of the current suite (0.21ms) + adds its argument to the after-all list of the current suite adds its argument to the after-all list of the current suite (0.09ms) The `xdescribe' macro - expands directly to a function call expands directly to a function call (0.22ms) - changes contained it-specs to pending specs changes contained it-specs to pending specs (0.38ms) - should add a pending suite should add a pending suite (0.25ms) + expands directly to a function call expands directly to a function call (0.11ms) + changes contained it-specs to pending specs changes contained it-specs to pending specs (0.20ms) + should add a pending suite should add a pending suite (0.10ms) The `xit' macro - expands directly to a function call expands directly to a function call (0.26ms) + expands directly to a function call expands directly to a function call (0.10ms) The `buttercup-xit' function - should be a no-op should be a no-op (0.24ms) - should add a function that raises a pending signal should add a function that raises a pending signal (0.29ms) - should mark the suite as pending should mark the suite as pending (0.22ms) - should set the failure description to PENDING should set the failure description to PENDING (0.26ms) + should be a no-op should be a no-op (0.08ms) + should add a function that raises a pending signal should add a function that raises a pending signal (0.15ms) + should mark the suite as pending should mark the suite as pending (0.10ms) + should set the failure description to PENDING should set the failure description to PENDING (0.14ms) The Spy `spy-on' function - replaces a symbol's function slot replaces a symbol's function slot (0.25ms) - restores the old value after a spec run restores the old value after a spec run (0.21ms) - allows a spied-on command to be executed as a command allows a spied-on command to be executed as a command (0.37ms) - can spy on autoloaded functions can spy on autoloaded functions (2.16ms) - only accepts ARG for keywords that use it only accepts ARG for keywords that use it (0.85ms) + replaces a symbol's function slot replaces a symbol's function slot (0.12ms) + restores the old value after a spec run restores the old value after a spec run (0.13ms) + allows a spied-on command to be executed as a command allows a spied-on command to be executed as a command (0.31ms) + can spy on autoloaded functions can spy on autoloaded functions (1.84ms) + only accepts ARG for keywords that use it only accepts ARG for keywords that use it (0.57ms) :to-have-been-called matcher - returns false if the spy was not called returns false if the spy was not called (0.23ms) - returns true if the spy was called at all returns true if the spy was called at all (0.29ms) + returns false if the spy was not called returns false if the spy was not called (0.11ms) + returns true if the spy was called at all returns true if the spy was called at all (0.11ms) :to-have-been-called-with matcher - returns false if the spy was not called at all returns false if the spy was not called at all (0.32ms) - returns false if the spy was called with different arguments returns false if the spy was called with different arguments (0.30ms) - returns true if the spy was called with those arguments returns true if the spy was called with those arguments (0.24ms) + returns false if the spy was not called at all returns false if the spy was not called at all (0.15ms) + returns false if the spy was called with different arguments returns false if the spy was called with different arguments (0.14ms) + returns true if the spy was called with those arguments returns true if the spy was called with those arguments (0.12ms) :to-have-been-called-times matcher - returns error if the spy was called less than expected returns error if the spy was called less than expected (0.53ms) - returns error if the spy was called more than expected returns error if the spy was called more than expected (0.43ms) - returns true if the spy was called the expected number of times returns true if the spy was called the expected number of times (0.38ms) - use plural words in error message use plural words in error message (0.40ms) - use singular expected word in error message use singular expected word in error message (0.36ms) - use singular actual word in error message use singular actual word in error message (0.38ms) + returns error if the spy was called less than expected returns error if the spy was called less than expected (0.12ms) + returns error if the spy was called more than expected returns error if the spy was called more than expected (0.13ms) + returns true if the spy was called the expected number of times returns true if the spy was called the expected number of times (0.11ms) + use plural words in error message use plural words in error message (0.14ms) + use singular expected word in error message use singular expected word in error message (0.13ms) + use singular actual word in error message use singular actual word in error message (0.17ms) :and-call-through keyword functionality - tracks calls to the function tracks calls to the function (0.11ms) - passes the arguments to the original function passes the arguments to the original function (0.32ms) + tracks calls to the function tracks calls to the function (0.04ms) + passes the arguments to the original function passes the arguments to the original function (0.10ms) :and-return-value keyword functionality - tracks calls to the function tracks calls to the function (0.09ms) - returns the specified value returns the specified value (0.25ms) - works with strings works with strings (0.24ms) - works with vectors works with vectors (0.23ms) - works with symbols works with symbols (0.22ms) - works with conses works with conses (0.23ms) - works with lists works with lists (0.26ms) - works with alists works with alists (0.24ms) + tracks calls to the function tracks calls to the function (0.04ms) + returns the specified value returns the specified value (0.10ms) + works with strings works with strings (0.11ms) + works with vectors works with vectors (0.11ms) + works with symbols works with symbols (0.12ms) + works with conses works with conses (0.11ms) + works with lists works with lists (0.11ms) + works with alists works with alists (0.11ms) :and-call-fake keyword functionality - tracks calls to the function tracks calls to the function (0.11ms) - returns the specified value returns the specified value (0.22ms) + tracks calls to the function tracks calls to the function (0.04ms) + returns the specified value returns the specified value (0.10ms) :and-throw-error keyword functionality - throws an error when called throws an error when called (0.34ms) + throws an error when called throws an error when called (0.16ms) The batch reporter on the buttercup-started event - should emit the number of specs should emit the number of specs (0.15ms) + should emit the number of specs should emit the number of specs (0.06ms) on the suite-started event - should emit an indented suite description should emit an indented suite description (0.12ms) + should emit an indented suite description should emit an indented suite description (0.05ms) on the spec-started event - should emit an indented spec description should emit an indented spec description (0.12ms) + should emit an indented spec description should emit an indented spec description (0.06ms) on the spec-done event - should print no status tag for a passed spec should print no status tag for a passed spec (0.39ms) - should say FAILED for a failed spec should say FAILED for a failed spec (0.43ms) - should output the failure-description for a pending spec should output the failure-description for a pending spec (0.41ms) - should throw an error for an unknown spec status should throw an error for an unknown spec status (0.43ms) - should print the elapsed time for all specs should print the elapsed time for all specs (1.00ms) + should print no status tag for a passed spec should print no status tag for a passed spec (0.17ms) + should say FAILED for a failed spec should say FAILED for a failed spec (0.15ms) + should output the failure-description for a pending spec should output the failure-description for a pending spec (0.16ms) + should throw an error for an unknown spec status should throw an error for an unknown spec status (0.16ms) + should print the elapsed time for all specs should print the elapsed time for all specs (0.38ms) on the suite-done event - should emit a newline at the end of the top-level suite should emit a newline at the end of the top-level suite (0.15ms) - should not emit anything at the end of other suites should not emit anything at the end of other suites (0.14ms) + should emit a newline at the end of the top-level suite should emit a newline at the end of the top-level suite (0.05ms) + should not emit anything at the end of other suites should not emit anything at the end of other suites (0.05ms) on the buttercup-done event - should handle the end event should handle the end event (0.13ms) - should not raise any error even if a spec failed should not raise any error even if a spec failed (0.46ms) + should handle the end event should handle the end event (0.04ms) + should not raise any error even if a spec failed should not raise any error even if a spec failed (0.18ms) on an unknown event - should raise an error should raise an error (0.45ms) + should raise an error should raise an error (0.16ms) The `buttercup-run' function - should raise an error if at least one spec failed should raise an error if at least one spec failed (0.53ms) - should call the reporter twice with events buttercup-started and -done should call the reporter twice with events buttercup-started and -done (0.54ms) - should call `buttercup--run-suite once per suite should call `buttercup--run-suite once per suite (0.50ms) + should raise an error if at least one spec failed should raise an error if at least one spec failed (0.17ms) + should call the reporter twice with events buttercup-started and -done should call the reporter twice with events buttercup-started and -done (0.22ms) + should call `buttercup--run-suite once per suite should call `buttercup--run-suite once per suite (0.20ms) The `buttercup--print' function - should send a formatted string to the terminal should send a formatted string to the terminal (0.19ms) + should send a formatted string to the terminal should send a formatted string to the terminal (0.07ms) Buttercup's ERT compatibility wrapper - should convert `ert-test-failed' into `buttercup-failed should convert `ert-test-failed' into `buttercup-failed (20.23ms) - should convert `ert-test-skipped' into `buttercup-pending should convert `ert-test-skipped' into `buttercup-pending (0.34ms) + should convert `ert-test-failed' into `buttercup-failed should convert `ert-test-failed' into `buttercup-failed (12.72ms) + should convert `ert-test-skipped' into `buttercup-pending should convert `ert-test-skipped' into `buttercup-pending (0.16ms) butter-minor-mode - should fontify `describe' special form should fontify `describe' special form (0.90ms) - should fontify `it' special form should fontify `it' special form (0.75ms) - should add special forms to `imenu' should add special forms to `imenu' (3.92ms) + should fontify `describe' special form should fontify `describe' special form (0.54ms) + should fontify `it' special form should fontify `it' special form (0.39ms) + should add special forms to `imenu' should add special forms to `imenu' (2.49ms) -Ran 1 specs, 0 failed, in 0.1 seconds. +Ran 1 specs, 0 failed, in 0.0 seconds. emacs -batch -L . -l buttercup.el -f buttercup-run-markdown docs/writing-tests.md Loading /etc/emacs/site-start.d/00debian.el (source)... Loading /etc/emacs/site-start.d/50autoconf.el (source)... Running 50 out of 53 specs. A suite - contains a spec with an expectation contains a spec with an expectation (6.71ms) + contains a spec with an expectation contains a spec with an expectation (5.06ms) A suite is just a function - and so is a spec and so is a spec (0.25ms) + and so is a spec and so is a spec (0.17ms) The :to-be matcher compares with `eq' - and has a positive case and has a positive case (0.23ms) - and can have a negative case and can have a negative case (0.29ms) + and has a positive case and has a positive case (0.16ms) + and can have a negative case and can have a negative case (0.18ms) Included matchers: - The :to-be matcher compares with `eq' The :to-be matcher compares with `eq' (0.43ms) + The :to-be matcher compares with `eq' The :to-be matcher compares with `eq' (0.28ms) The :to-equal matcher - works for simple literals and variables works for simple literals and variables (0.25ms) - should work for compound objects should work for compound objects (0.24ms) - The :to-have-same-items-as matcher compares two lists as sets The :to-have-same-items-as matcher compares two lists as sets (1.39ms) - The :to-match matcher is for regular expressions The :to-match matcher is for regular expressions (0.71ms) - The :to-be-truthy matcher is for boolean casting testing The :to-be-truthy matcher is for boolean casting testing (0.32ms) - The :to-contain matcher is for finding an item in a list The :to-contain matcher is for finding an item in a list (0.44ms) - The :to-be-less-than matcher is for mathematical comparisons The :to-be-less-than matcher is for mathematical comparisons (0.47ms) - The :to-be-greater-than matcher is for mathematical comparisons The :to-be-greater-than matcher is for mathematical comparisons (0.45ms) - The :to-be-close-to matcher is for precision math comparison The :to-be-close-to matcher is for precision math comparison (0.46ms) + works for simple literals and variables works for simple literals and variables (0.16ms) + should work for compound objects should work for compound objects (0.15ms) + The :to-have-same-items-as matcher compares two lists as sets The :to-have-same-items-as matcher compares two lists as sets (0.91ms) + The :to-match matcher is for regular expressions The :to-match matcher is for regular expressions (0.44ms) + The :to-be-truthy matcher is for boolean casting testing The :to-be-truthy matcher is for boolean casting testing (0.20ms) + The :to-contain matcher is for finding an item in a list The :to-contain matcher is for finding an item in a list (0.29ms) + The :to-be-less-than matcher is for mathematical comparisons The :to-be-less-than matcher is for mathematical comparisons (0.29ms) + The :to-be-greater-than matcher is for mathematical comparisons The :to-be-greater-than matcher is for mathematical comparisons (0.28ms) + The :to-be-close-to matcher is for precision math comparison The :to-be-close-to matcher is for precision math comparison (0.33ms) The :to-throw matcher - is for testing if an expression throws an exception is for testing if an expression throws an exception (0.52ms) - accepts a symbol to check for the signal thrown accepts a symbol to check for the signal thrown (0.56ms) - optionally matches arguments to signals optionally matches arguments to signals (0.69ms) + is for testing if an expression throws an exception is for testing if an expression throws an exception (0.35ms) + accepts a symbol to check for the signal thrown accepts a symbol to check for the signal thrown (0.37ms) + optionally matches arguments to signals optionally matches arguments to signals (0.41ms) ERT support - allows you to use ERT macros in tests allows you to use ERT macros in tests (0.16ms) + allows you to use ERT macros in tests allows you to use ERT macros in tests (0.10ms) A spec - is just a function, so it can contain any code is just a function, so it can contain any code (0.27ms) - can have more than one expectation can have more than one expectation (0.42ms) + is just a function, so it can contain any code is just a function, so it can contain any code (0.17ms) + can have more than one expectation can have more than one expectation (0.28ms) A spec using `before-each' and `after-each' - is just a function, so it can contain any code is just a function, so it can contain any code (0.27ms) - can have more than one expectation can have more than one expectation (0.43ms) + is just a function, so it can contain any code is just a function, so it can contain any code (0.17ms) + can have more than one expectation can have more than one expectation (0.28ms) A spec using `before-all' and `after-all' - sets the initial value of foo before specs run sets the initial value of foo before specs run (0.25ms) - does not reset foo between specs does not reset foo between specs (0.30ms) + sets the initial value of foo before specs run sets the initial value of foo before specs run (0.15ms) + does not reset foo between specs does not reset foo between specs (0.17ms) A spec - is just a function, so it can contain any code is just a function, so it can contain any code (0.27ms) - can have more than one expectation can have more than one expectation (0.46ms) + is just a function, so it can contain any code is just a function, so it can contain any code (0.16ms) + can have more than one expectation can have more than one expectation (0.29ms) nested inside a second describe - can reference both scopes as needed can reference both scopes as needed (0.30ms) + can reference both scopes as needed can reference both scopes as needed (0.23ms) A spec - is just a function, so it can contain any code is just a function, so it can contain any code PENDING (0.26ms) + is just a function, so it can contain any code is just a function, so it can contain any code PENDING (0.19ms) Pending specs - can be declared using `xit' can be declared using `xit' PENDING (0.18ms) - can be declared with `it' but without a body can be declared with `it' but without a body PENDING (0.17ms) + can be declared using `xit' can be declared using `xit' PENDING (0.15ms) + can be declared with `it' but without a body can be declared with `it' but without a body PENDING (0.13ms) A spy - tracks that the spy was called tracks that the spy was called (0.15ms) - tracks all arguments of its calls tracks all arguments of its calls (0.27ms) - stops all execution on a function stops all execution on a function (0.29ms) + tracks that the spy was called tracks that the spy was called (0.13ms) + tracks all arguments of its calls tracks all arguments of its calls (0.23ms) + stops all execution on a function stops all execution on a function (0.24ms) A spy - tracks that the spy was called twice tracks that the spy was called twice (0.20ms) + tracks that the spy was called twice tracks that the spy was called twice (0.16ms) A spy, when configured to call through - tracks that the spy was called tracks that the spy was called (0.14ms) - should not affect other functions should not affect other functions (0.31ms) - when called returns the requested value when called returns the requested value (0.28ms) + tracks that the spy was called tracks that the spy was called (0.12ms) + should not affect other functions should not affect other functions (0.24ms) + when called returns the requested value when called returns the requested value (0.18ms) A spy, when configured to fake a return value - tracks that the spy was called tracks that the spy was called (0.16ms) - should not affect other functions should not affect other functions (0.28ms) - when called returns the requested value when called returns the requested value (0.32ms) + tracks that the spy was called tracks that the spy was called (0.10ms) + should not affect other functions should not affect other functions (0.18ms) + when called returns the requested value when called returns the requested value (0.20ms) A spy, when configured with an alternate implementation - tracks that the spy was called tracks that the spy was called (0.15ms) - should not affect other functions should not affect other functions (0.29ms) - when called returns the requested value when called returns the requested value (0.28ms) + tracks that the spy was called tracks that the spy was called (0.09ms) + should not affect other functions should not affect other functions (0.19ms) + when called returns the requested value when called returns the requested value (0.18ms) A spy, when configured to throw an error - throws the error throws the error (0.36ms) + throws the error throws the error (0.24ms) A spy - tracks if it was called at all tracks if it was called at all (0.45ms) - tracks the number of times it was called tracks the number of times it was called (0.44ms) - tracks the arguments of each call tracks the arguments of each call (0.44ms) - tracks the arguments of all calls tracks the arguments of all calls (0.35ms) - can provide the context and arguments to all calls can provide the context and arguments to all calls (0.29ms) - has a shortcut to the most recent call has a shortcut to the most recent call (0.37ms) - has a shortcut to the first call has a shortcut to the first call (0.34ms) - can be reset can be reset (15.63ms) + tracks if it was called at all tracks if it was called at all (0.30ms) + tracks the number of times it was called tracks the number of times it was called (0.37ms) + tracks the arguments of each call tracks the arguments of each call (0.30ms) + tracks the arguments of all calls tracks the arguments of all calls (0.21ms) + can provide the context and arguments to all calls can provide the context and arguments to all calls (0.20ms) + has a shortcut to the most recent call has a shortcut to the most recent call (0.22ms) + has a shortcut to the first call has a shortcut to the first call (0.21ms) + can be reset can be reset (12.41ms) A test - can issue warnings while running can issue warnings while running (0.57ms) + can issue warnings while running can issue warnings while running (0.41ms) Warning (buttercup): This warning should be visible after the test report.  -Ran 50 out of 53 specs, 0 failed, in 0.1 seconds. +Ran 50 out of 53 specs, 0 failed, in 0.0 seconds. make[1]: Leaving directory '/build/emacs-buttercup-1.16' dh_elpa_test create-stamp debian/debhelper-build-stamp @@ -1085,12 +1119,14 @@ dpkg-source: info: using options from emacs-buttercup-1.16/debian/source/options: --single-debian-patch --auto-commit dpkg-buildpackage: info: binary-only upload (no source included) I: copying local configuration +I: user script /srv/workspace/pbuilder/14228/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/14228/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/45123 and its subdirectories -I: Current time: Tue Dec 15 15:55:46 -12 2020 -I: pbuilder-time-stamp: 1608090946 +I: removing directory /srv/workspace/pbuilder/14228 and its subdirectories +I: Current time: Wed Jan 19 00:19:35 +14 2022 +I: pbuilder-time-stamp: 1642501175