Diff of the two buildlogs: -- --- b1/build.log 2024-04-19 06:34:39.477180273 +0000 +++ b2/build.log 2024-04-19 06:35:16.159623465 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Apr 18 18:33:51 -12 2024 -I: pbuilder-time-stamp: 1713508431 +I: Current time: Fri May 23 02:57:42 +14 2025 +I: pbuilder-time-stamp: 1747918662 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -26,54 +26,86 @@ dpkg-source: info: unpacking emacs-buttercup_1.35-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/46369/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/78030/tmp/hooks/D01_modify_environment starting +debug: Running on ionos16-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 May 22 12:57 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/78030/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/78030/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=21 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='f67909d86635427a872f7ee2dfaeba5a' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='46369' - PS1='# ' - PS2='> ' + INVOCATION_ID=f96e3e5b8c554af282accbbf4fc2ba1b + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-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=78030 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.fG1zM4mC/pbuilderrc_7RMz --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.fG1zM4mC/b1 --logfile b1/build.log emacs-buttercup_1.35-1.dsc' - SUDO_GID='112' - SUDO_UID='107' - 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/r-b-build.fG1zM4mC/pbuilderrc_FJGX --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.fG1zM4mC/b2 --logfile b2/build.log emacs-buttercup_1.35-1.dsc' + SUDO_GID=112 + SUDO_UID=107 + 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 ionos2-i386 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Apr 16 11:24 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/46369/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 21 17:46 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/78030/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -232,7 +264,7 @@ Get: 117 http://deb.debian.org/debian trixie/main i386 libtext-glob-perl all 0.11-3 [7676 B] Get: 118 http://deb.debian.org/debian trixie/main i386 libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 119 http://deb.debian.org/debian trixie/main i386 dh-elpa all 2.0.17 [31.0 kB] -Fetched 90.9 MB in 2s (57.4 MB/s) +Fetched 90.9 MB in 3s (34.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libapparmor1:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19874 files and directories currently installed.) @@ -751,7 +783,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/emacs-buttercup-1.35/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../emacs-buttercup_1.35-1_source.changes +I: user script /srv/workspace/pbuilder/78030/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/78030/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/emacs-buttercup-1.35/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../emacs-buttercup_1.35-1_source.changes dpkg-buildpackage: info: source package emacs-buttercup dpkg-buildpackage: info: source version 1.35-1 dpkg-buildpackage: info: source distribution unstable @@ -762,7 +798,7 @@ debian/rules clean dh clean --with elpa dh_auto_clean - make -j11 clean + make -j21 clean make[1]: Entering directory '/build/reproducible-path/emacs-buttercup-1.35' rm -f *.elc tests/*.elc make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.35' @@ -773,7 +809,7 @@ dh_autoreconf dh_auto_configure dh_auto_build - make -j11 "INSTALL=install --strip-program=true" + make -j21 "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/reproducible-path/emacs-buttercup-1.35' emacs -batch -L . -f batch-byte-compile buttercup-compat.el emacs -batch -L . -f batch-byte-compile buttercup.el @@ -784,564 +820,564 @@ ./bin/buttercup -L . tests 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)... Loading /etc/emacs/site-start.d/00debian.el (source)... Loading /etc/emacs/site-start.d/50autoconf.el (source)... +Loading /etc/emacs/site-start.d/50autoconf.el (source)... +Package autoload is deprecated Running 60 out of 63 specs. A suite - contains a spec with an expectation  contains a spec with an expectation (14.16ms) + contains a spec with an expectation  contains a spec with an expectation (8.13ms) A suite is just a function - and so is a spec  and so is a spec (0.27ms) + and so is a spec  and so is a spec (0.21ms) The :to-be matcher compares with `eq' - and has a positive case  and has a positive case (0.24ms) - and can have a negative case  and can have a negative case (0.28ms) + and has a positive case  and has a positive case (0.21ms) + and can have a negative case  and can have a negative case (0.22ms) Included matchers: - The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.41ms) + The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.32ms) 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.26ms) - 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.13ms) - The :to-match matcher is for regular expressions  The :to-match matcher is for regular expressions (0.60ms) - The :to-be-truthy matcher is for boolean casting testing  The :to-be-truthy matcher is for boolean casting testing (0.34ms) - 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.43ms) - The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (0.42ms) - The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (0.40ms) + works for simple literals and variables  works for simple literals and variables (0.22ms) + should work for compound objects  should work for compound objects (0.22ms) + 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.78ms) + The :to-match matcher is for regular expressions  The :to-match matcher is for regular expressions (0.40ms) + The :to-be-truthy matcher is for boolean casting testing  The :to-be-truthy matcher is for boolean casting testing (0.24ms) + 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.30ms) + The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (0.30ms) + The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (0.27ms) The :to-throw matcher - is for testing if an expression throws an exceptionPackage autoload is deprecated -  is for testing if an expression throws an exception (0.50ms) - 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.63ms) - matches inherited signals  matches inherited signals (1.34ms) + is for testing if an expression throws an exception  is for testing if an expression throws an exception (0.36ms) + accepts a symbol to check for the signal thrown  accepts a symbol to check for the signal thrown (0.39ms) + optionally matches arguments to signals  optionally matches arguments to signals (0.41ms) + matches inherited signals  matches inherited signals (0.82ms) ERT support - allows you to use ERT macros in tests  allows you to use ERT macros in tests (0.17ms) + allows you to use ERT macros in tests  allows you to use ERT macros in tests (0.12ms) A spec - is just a function, so it can contain any code  is just a function, so it can contain any code (0.24ms) - can have more than one expectation  can have more than one expectation (0.38ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (0.22ms) + can have more than one expectation  can have more than one expectation (0.30ms) A spec using :VAR - has access to the variables bound in :VAR  has access to the variables bound in :VAR (0.24ms) + has access to the variables bound in :VAR  has access to the variables bound in :VAR (0.20ms) A spec using :VAR* - has access to the variables bound in :VAR* which can refer to symbols already bound  has access to the variables bound in :VAR* which can refer to symbols already bound (0.25ms) + has access to the variables bound in :VAR* which can refer to symbols already bound  has access to the variables bound in :VAR* which can refer to symbols already bound (0.22ms) 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.41ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (0.26ms) + can have more than one expectation  can have more than one expectation (0.33ms) 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.27ms) - does not reset foo between specs  does not reset foo between specs (0.24ms) + sets the initial value of foo before specs run  sets the initial value of foo before specs run (0.21ms) + does not reset foo between specs  does not reset foo between specs (0.19ms) A spec - is just a function, so it can contain any code  is just a function, so it can contain any code (0.29ms) - can have more than one expectation  can have more than one expectation (0.37ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (0.23ms) + can have more than one expectation  can have more than one expectation (0.28ms) nested inside a second describe - can reference both scopes as needed  can reference both scopes as needed (0.28ms) + can reference both scopes as needed  can reference both scopes as needed (0.24ms) A spec - is just a function, so it can contain any code  is just a function, so it can contain any code PENDING (0.18ms) + is just a function, so it can contain any code  is just a function, so it can contain any code PENDING (0.13ms) Pending specs - can be declared using `xit'  can be declared using `xit' PENDING (0.16ms) - can be declared with `it' but without a body  can be declared with `it' but without a body PENDING (0.16ms) + can be declared using `xit'  can be declared using `xit' PENDING (0.10ms) + can be declared with `it' but without a body  can be declared with `it' but without a body PENDING (0.10ms) Conditionally skip specs - with the `assume' macro  with the `assume' macro !! CANCELLED !! `new-function' not availeble (0.17ms) + with the `assume' macro  with the `assume' macro !! CANCELLED !! `new-function' not availeble (0.10ms) A spy - tracks that the spy was called  tracks that the spy was called (0.30ms) - resets tracking after each spec  resets tracking after each spec (0.47ms) + tracks that the spy was called  tracks that the spy was called (0.27ms) + resets tracking after each spec  resets tracking after each spec (0.33ms) that is defined in a nested `describe' - will override any outer spy  will override any outer spy (0.56ms) - will not be active outside it's scope  will not be active outside it's scope (0.37ms) - tracks all arguments of its calls  tracks all arguments of its calls (0.35ms) - stops all execution on a function  stops all execution on a function (0.34ms) + will override any outer spy  will override any outer spy (0.41ms) + will not be active outside it's scope  will not be active outside it's scope (0.27ms) + tracks all arguments of its calls  tracks all arguments of its calls (0.26ms) + stops all execution on a function  stops all execution on a function (0.26ms) A spy - tracks that the spy was called twice  tracks that the spy was called twice (0.30ms) + tracks that the spy was called twice  tracks that the spy was called twice (0.25ms) A spy, when configured to call through - tracks that the spy was called  tracks that the spy was called (0.25ms) - should not affect other functions  should not affect other functions (0.34ms) - when called returns the requested value  when called returns the requested value (0.36ms) + tracks that the spy was called  tracks that the spy was called (0.22ms) + 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.29ms) A spy, when configured to fake a return value - tracks that the spy was called  tracks that the spy was called (0.27ms) - should not affect other functions  should not affect other functions (0.35ms) - when called returns the requested value  when called returns the requested value (0.35ms) + tracks that the spy was called  tracks that the spy was called (0.20ms) + should not affect other functions  should not affect other functions (0.27ms) + when called returns the requested value  when called returns the requested value (0.29ms) A spy, when configured with an alternate implementation - tracks that the spy was called  tracks that the spy was called (0.28ms) - should not affect other functions  should not affect other functions (0.35ms) - when called returns the requested value  when called returns the requested value (0.37ms) + tracks that the spy was called  tracks that the spy was called (0.24ms) + should not affect other functions  should not affect other functions (0.33ms) + when called returns the requested value  when called returns the requested value (0.30ms) A spy, when configured to throw an error - throws the error  throws the error (0.42ms) + throws the error  throws the error (0.33ms) A spy - tracks if it was called at all  tracks if it was called at all (0.48ms) - tracks the number of times it was called  tracks the number of times it was called (0.49ms) - tracks the arguments of each call  tracks the arguments of each call (0.50ms) - tracks the arguments of all calls  tracks the arguments of all calls (0.38ms) - can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.36ms) - has a shortcut to the most recent call  has a shortcut to the most recent call (0.39ms) - has a shortcut to the first call  has a shortcut to the first call (0.37ms) - tracks the return values and error signals of each call  tracks the return values and error signals of each call (1.60ms) - counts the number of successful and failed calls  counts the number of successful and failed calls (1.97ms) - can be reset  can be reset (0.50ms) + tracks if it was called at all  tracks if it was called at all (0.37ms) + tracks the number of times it was called  tracks the number of times it was called (0.36ms) + tracks the arguments of each call  tracks the arguments of each call (0.34ms) + tracks the arguments of all calls  tracks the arguments of all calls (0.28ms) + can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.27ms) + has a shortcut to the most recent call  has a shortcut to the most recent call (0.29ms) + has a shortcut to the first call  has a shortcut to the first call (0.38ms) + tracks the return values and error signals of each call  tracks the return values and error signals of each call (1.04ms) + counts the number of successful and failed calls  counts the number of successful and failed calls (1.17ms) + can be reset  can be reset (0.38ms) A test - can issue warnings while running  can issue warnings while running (0.31ms) + can issue warnings while running  can issue warnings while running (0.24ms) Warning (buttercup): This warning should be visible after the test report. - can capture its own warnings as part of the test  can capture its own warnings as part of the test (0.43ms) + can capture its own warnings as part of the test  can capture its own warnings as part of the test (0.29ms) -Ran 59 out of 63 specs, 0 failed, in 47.28ms. +Ran 59 out of 63 specs, 0 failed, in 31.72ms. Running 284 specs. The buttercup--enclosed-expr function should handle - expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (5.89ms) - a closure with expression copy?  a closure with expression copy? (0.30ms) - a lambda with expression copy?  a lambda with expression copy? (0.21ms) + expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (2.94ms) + a closure with expression copy?  a closure with expression copy? (0.20ms) + a lambda with expression copy?  a lambda with expression copy? (0.14ms) byte compiled - lambda objects  lambda objects (0.35ms) - wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.15ms) + lambda objects  lambda objects (0.21ms) + wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.06ms) should error - on a simple closure  on a simple closure (0.30ms) - on a closure with stackframe marker but no quoted expression  on a closure with stackframe marker but no quoted expression (0.29ms) - for multi-statement closures  for multi-statement closures (0.30ms) - for closures with non-empty argument lists  for closures with non-empty argument lists (0.29ms) - on simple lambda objects  on simple lambda objects (0.21ms) - on a lambda with stackframe marker but no quoted expression  on a lambda with stackframe marker but no quoted expression (0.26ms) - for multi-statement lambdas  for multi-statement lambdas (0.25ms) - for lambdas with non-empty argument lists  for lambdas with non-empty argument lists (0.26ms) - on byte-compiled functions with arguments  on byte-compiled functions with arguments (0.42ms) + on a simple closure  on a simple closure (0.20ms) + on a closure with stackframe marker but no quoted expression  on a closure with stackframe marker but no quoted expression (0.20ms) + for multi-statement closures  for multi-statement closures (0.19ms) + for closures with non-empty argument lists  for closures with non-empty argument lists (0.19ms) + on simple lambda objects  on simple lambda objects (0.15ms) + on a lambda with stackframe marker but no quoted expression  on a lambda with stackframe marker but no quoted expression (0.17ms) + for multi-statement lambdas  for multi-statement lambdas (0.16ms) + for lambdas with non-empty argument lists  for lambdas with non-empty argument lists (0.17ms) + on byte-compiled functions with arguments  on byte-compiled functions with arguments (0.27ms) The buttercup-failed signal - can be raised  can be raised (0.25ms) + can be raised  can be raised (0.16ms) The buttercup-pending signal - can be raised  can be raised (0.23ms) + can be raised  can be raised (0.15ms) 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 (1.07ms) - with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (0.67ms) + with a matcher should translate to the function call with closures  with a matcher should translate to the function call with closures (0.55ms) + with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (0.33ms) 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.35ms) - should raise an error if the function returns false  should raise an error if the function returns false (0.37ms) + should not raise an error if the function returns true  should not raise an error if the function returns true (0.19ms) + should raise an error if the function returns false  should raise an error if the function returns false (0.20ms) 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.32ms) - 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.20ms) The `buttercup-fail' function - should raise a signal with its arguments  should raise a signal with its arguments (0.32ms) + should raise a signal with its arguments  should raise a signal with its arguments (0.18ms) The `assume' form - should raise a signal if the condition is nil  should raise a signal if the condition is nil (0.34ms) - should show the format if no message is given  should show the format if no message is given (0.37ms) - should not raise a signal if the condition is non-nil  should not raise a signal if the condition is non-nil (0.28ms) + should raise a signal if the condition is nil  should raise a signal if the condition is nil (0.19ms) + should show the format if no message is given  should show the format if no message is given (0.19ms) + should not raise a signal if the condition is non-nil  should not raise a signal if the condition is non-nil (0.15ms) The `buttercup-skip' function - should raise a signal with its arguments  should raise a signal with its arguments (0.29ms) + should raise a signal with its arguments  should raise a signal with its arguments (0.18ms) The `buttercup-define-matcher' macro - should create a matcher usable by apply-matcher  should create a matcher usable by apply-matcher (0.33ms) + should create a matcher usable by apply-matcher  should create a matcher usable by apply-matcher (0.22ms) The `buttercup--apply-matcher' function - should work with functions  should work with functions (0.35ms) - should work with matchers  should work with matchers (0.34ms) - should fail if the matcher is not defined  should fail if the matcher is not defined (0.30ms) + 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.20ms) The :buttercup-define-matcher-for-unary-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.24ms) The :buttercup-define-matcher-for-binary-function helper - should not modify match data  should not modify match data (0.39ms) + should not modify match data  should not modify match data (0.26ms) The included matcher :to-be-truthy - should match for a truthy expression  should match for a truthy expression (0.40ms) - should not match for an untruthy expression  should not match for an untruthy expression (0.35ms) + should match for a truthy expression  should match for a truthy expression (0.25ms) + should not match for an untruthy expression  should not match for an untruthy expression (0.24ms) :to-be - should match if the args are `eq'  should match if the args are `eq' (0.57ms) - should not match if the args are not `eq'  should not match if the args are not `eq' (0.84ms) + should match if the args are `eq'  should match if the args are `eq' (0.36ms) + should not match if the args are not `eq'  should not match if the args are not `eq' (0.34ms) :to-equal - should match if the args are `equal'  should match if the args are `equal' (0.53ms) - should not match if the args are not `equal'  should not match if the args are not `equal' (0.55ms) + should match if the args are `equal'  should match if the args are `equal' (0.29ms) + should not match if the args are not `equal'  should not match if the args are not `equal' (0.30ms) :not - should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (0.70ms) + should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (0.37ms) :to-have-same-items-as - should match equal sets  should match equal sets (0.58ms) - should notice missing elements in the second argument  should notice missing elements in the second argument (0.63ms) - should notice extra items in the second argument  should notice extra items in the second argument (0.67ms) - should notice extra items in both arguments  should notice extra items in both arguments (0.65ms) + should match equal sets  should match equal sets (0.32ms) + should notice missing elements in the second argument  should notice missing elements in the second argument (0.34ms) + should notice extra items in the second argument  should notice extra items in the second argument (0.34ms) + should notice extra items in both arguments  should notice extra items in both arguments (0.33ms) :to-match - should match the first argument against a regex  should match the first argument against a regex (0.44ms) - should show regex mismatches  should show regex mismatches (0.44ms) + should match the first argument against a regex  should match the first argument against a regex (0.23ms) + should show regex mismatches  should show regex mismatches (0.23ms) :to-be-in - should match when the first argument is a member of the second argument  should match when the first argument is a member of the second argument (0.65ms) - should not match when the first argument is not a member of the second argument  should not match when the first argument is not a member of the second argument (0.70ms) + should match when the first argument is a member of the second argument  should match when the first argument is a member of the second argument (0.30ms) + should not match when the first argument is not a member of the second argument  should not match when the first argument is not a member of the second argument (0.31ms) :to-contain - should match when the second argument is a member of the first argument  should match when the second argument is a member of the first argument (0.60ms) - should not match when the second argument is not a member of the first argument  should not match when the second argument is not a member of the first argument (0.57ms) + should match when the second argument is a member of the first argument  should match when the second argument is a member of the first argument (0.30ms) + should not match when the second argument is not a member of the first argument  should not match when the second argument is not a member of the first argument (0.29ms) :to-be-less-than - should match when the first argument is less than the second argument  should match when the first argument is less than the second argument (0.42ms) - should not match when the first argument is equal to the second argument  should not match when the first argument is equal to the second argument (0.43ms) - should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.42ms) + should match when the first argument is less than the second argument  should match when the first argument is less than the second argument (0.23ms) + should not match when the first argument is equal to the second argument  should not match when the first argument is equal to the second argument (0.24ms) + should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.25ms) :to-be-greater-than - should match when the first argument is greater than the second argument  should match when the first argument is greater than the second argument (0.42ms) - should not match when the first argument is equal to the second argument  should not match when the first argument is equal to the second argument (0.43ms) - should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.46ms) + should match when the first argument is greater than the second argument  should match when the first argument is greater than the second argument (0.25ms) + should not match when the first argument is equal to the second argument  should not match when the first argument is equal to the second argument (0.29ms) + should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.29ms) :to-be-weakly-less-than - should match when the first argument is less than the second argument  should match when the first argument is less than the second argument (0.43ms) - should match when the first argument is equal to the second argument  should match when the first argument is equal to the second argument (0.43ms) - should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.43ms) + should match when the first argument is less than the second argument  should match when the first argument is less than the second argument (0.29ms) + should match when the first argument is equal to the second argument  should match when the first argument is equal to the second argument (0.28ms) + should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.29ms) :to-be-weakly-greater-than - should match when the first argument is greater than the second argument  should match when the first argument is greater than the second argument (0.42ms) - should match when the first argument is equal to the second argument  should match when the first argument is equal to the second argument (0.45ms) - should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.43ms) + should match when the first argument is greater than the second argument  should match when the first argument is greater than the second argument (0.29ms) + should match when the first argument is equal to the second argument  should match when the first argument is equal to the second argument (0.28ms) + should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.30ms) :to-be-close-to - should match when value difference is less than precision  should match when value difference is less than precision (0.70ms) - should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.60ms) + should match when value difference is less than precision  should match when value difference is less than precision (0.38ms) + should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.32ms) :to-throw - should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (0.37ms) - should match the error symbol without args  should match the error symbol without args (0.34ms) - should match the with no error signal specified  should match the with no error signal specified (0.33ms) - should match a child signal  should match a child signal (0.35ms) - should match child signals and equal arguments  should match child signals and equal arguments (0.38ms) - should not match with different arguments  should not match with different arguments (0.40ms) - should not match an unrelated symbol  should not match an unrelated symbol (0.37ms) - should not match a parent signal  should not match a parent signal (0.36ms) + should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (0.23ms) + should match the error symbol without args  should match the error symbol without args (0.22ms) + should match the with no error signal specified  should match the with no error signal specified (0.21ms) + should match a child signal  should match a child signal (0.22ms) + should match child signals and equal arguments  should match child signals and equal arguments (0.25ms) + should not match with different arguments  should not match with different arguments (0.27ms) + should not match an unrelated symbol  should not match an unrelated symbol (0.27ms) + should not match a parent signal  should not match a parent signal (0.23ms) should not match when no signal is raised - and not mention unspecified signal  and not mention unspecified signal (0.37ms) - and mention any specified signal  and mention any specified signal (0.44ms) + and not mention unspecified signal  and not mention unspecified signal (0.26ms) + and mention any specified signal  and mention any specified signal (0.29ms) :to-have-been-called - should not match if the spy has not been called  should not match if the spy has not been called (0.27ms) - should match if the spy has been called once  should match if the spy has been called once (0.26ms) - should match if the spy has been called multiple times  should match if the spy has been called multiple times (35.54ms) + should not match if the spy has not been called  should not match if the spy has not been called (0.18ms) + should match if the spy has been called once  should match if the spy has been called once (0.20ms) + should match if the spy has been called multiple times  should match if the spy has been called multiple times (20.66ms) :to-have-been-called-with - should not match if the spy has not been called at all  should not match if the spy has not been called at all (0.30ms) - should not match if the spy has not been called with the specified arguments  should not match if the spy has not been called with the specified arguments (0.34ms) - should match if the spy has been called once with the specified arguments  should match if the spy has been called once with the specified arguments (0.29ms) - should match if the spy has been called multiple times with the specified arguments  should match if the spy has been called multiple times with the specified arguments (0.27ms) + should not match if the spy has not been called at all  should not match if the spy has not been called at all (0.23ms) + should not match if the spy has not been called with the specified arguments  should not match if the spy has not been called with the specified arguments (0.27ms) + should match if the spy has been called once with the specified arguments  should match if the spy has been called once with the specified arguments (0.24ms) + should match if the spy has been called multiple times with the specified arguments  should match if the spy has been called multiple times with the specified arguments (0.24ms) :to-have-been-called-times - should not match if the spy has been called less times  should not match if the spy has been called less times (0.28ms) - should not match if the spy has been called more times  should not match if the spy has been called more times (0.29ms) - should match if the spy has been called the correct number of times  should match if the spy has been called the correct number of times (0.29ms) - should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.29ms) + should not match if the spy has been called less times  should not match if the spy has been called less times (0.25ms) + should not match if the spy has been called more times  should not match if the spy has been called more times (0.27ms) + should match if the spy has been called the correct number of times  should match if the spy has been called the correct number of times (0.26ms) + should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.24ms) The `buttercup-suite-add-child' function - should add an element at the end of the list and return it  should add an element at the end of the list and return it (0.37ms) - should add an element even if the list is empty and return it  should add an element even if the list is empty and return it (0.33ms) - should add the parent to the child  should add the parent to the child (0.23ms) + should add an element at the end of the list and return it  should add an element at the end of the list and return it (0.32ms) + should add an element even if the list is empty and return it  should add an element even if the list is empty and return it (0.25ms) + should add the parent to the child  should add the parent to the child (0.19ms) The `buttercup-suite-parents' function - should return the list of parents for a suite  should return the list of parents for a suite (0.22ms) + should return the list of parents for a suite  should return the list of parents for a suite (0.19ms) The `buttercup-spec-parents' function - should return the list of parents for a spec  should return the list of parents for a spec (0.25ms) + should return the list of parents for a spec  should return the list of parents for a spec (0.19ms) 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.20ms) + should return the number of specs in a list of suites  should return the number of specs in a list of suites (0.18ms) The `buttercup-suites-total-specs-pending' function - should return the number of pending specs in a list of suites  should return the number of pending specs in a list of suites (0.42ms) - should also count skipped specs  should also count skipped specs (0.41ms) + should return the number of pending specs in a list of suites  should return the number of pending specs in a list of suites (0.34ms) + should also count skipped specs  should also count skipped specs (0.30ms) 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.21ms) + 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.16ms) 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.20ms) - should return the full name of a suite with parents  should return the full name of a suite with parents (0.24ms) + should return the full name of a suite without parents  should return the full name of a suite without parents (0.15ms) + should return the full name of a suite with parents  should return the full name of a suite with parents (0.16ms) 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.27ms) - should return the full name of a spec with parents  should return the full name of a spec with parents (0.29ms) + should return the full name of a spec without parents  should return the full name of a spec without parents (0.16ms) + should return the full name of a spec with parents  should return the full name of a spec with parents (0.17ms) The `buttercup-elapsed-time' function - should report elapsed time for suites  should report elapsed time for suites (0.33ms) - should report elapsed time for specs  should report elapsed time for specs (0.29ms) + 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.21ms) The `buttercup--run-suite' function - should set start and end time of the suite  should set start and end time of the suite (0.68ms) + should set start and end time of the suite  should set start and end time of the suite (0.40ms) The `buttercup--run-spec' function - should set start and end time of the spec  should set start and end time of the spec (0.75ms) - should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.44ms) + should set start and end time of the spec  should set start and end time of the spec (0.36ms) + should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.25ms) should set status to pending - for assume in `before-each'  for assume in `before-each' (0.52ms) - for assume in spec  for assume in spec (0.38ms) - for assume in `after-each'  for assume in `after-each' (0.51ms) + for assume in `before-each'  for assume in `before-each' (0.30ms) + for assume in spec  for assume in spec (0.24ms) + for assume in `after-each'  for assume in `after-each' (0.33ms) 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.26ms) - should support the :var argument  should support the :var argument (0.27ms) - should support the :var* argument  should support the :var* argument (0.26ms) + should expand to a simple call to the buttercup-describe function  should expand to a simple call to the buttercup-describe function (0.17ms) + should support the :var argument  should support the :var argument (0.17ms) + should support the :var* argument  should support the :var* argument (0.17ms) should error when - :var is not first  :var is not first (0.26ms) - :var* is not first  :var* is not first (0.27ms) - is expanded with `lexical-binding' nil  is expanded with `lexical-binding' nil (0.26ms) + :var is not first  :var is not first (0.17ms) + :var* is not first  :var* is not first (0.17ms) + is expanded with `lexical-binding' nil  is expanded with `lexical-binding' nil (0.16ms) The `buttercup-describe' function - should run the enclosing body  should run the enclosing body (0.25ms) - should set the `buttercup-suites' variable  should set the `buttercup-suites' variable (0.29ms) - should add child suites when called nested  should add child suites when called nested (0.48ms) + should run the enclosing body  should run the enclosing body (0.14ms) + 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.31ms) The `it' macro - should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.27ms) - without argument should expand to xit.  without argument should expand to xit. (0.25ms) + should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.17ms) + without argument should expand to xit.  without argument should expand to xit. (0.16ms) 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.23ms) - should add a spec to the current suite and return the spec  should add a spec to the current suite and return the spec (0.62ms) + should fail if not called from within a describe form  should fail if not called from within a describe form (0.16ms) + should add a spec to the current suite and return the spec  should add a spec to the current suite and return the spec (0.33ms) The `before-each' macro - expands to a function call  expands to a function call (0.26ms) + expands to a function call  expands to a function call (0.17ms) 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.28ms) + 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.18ms) 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.16ms) 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.32ms) + 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.18ms) The `before-all' macro - expands to a function call  expands to a function call (0.27ms) + expands to a function call  expands to a function call (0.17ms) 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.29ms) + 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.18ms) The `after-all' macro - expands to a function call  expands to a function call (0.26ms) + expands to a function call  expands to a function call (0.16ms) 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.28ms) + 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.18ms) The `xdescribe' macro - expands directly to a function call  expands directly to a function call (0.26ms) - changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.34ms) - should add a pending suite  should add a pending suite (0.28ms) + expands directly to a function call  expands directly to a function call (0.17ms) + changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.22ms) + should add a pending suite  should add a pending suite (0.19ms) 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.17ms) The `buttercup-xit' function - should be a no-op  should be a no-op (0.25ms) - should add a function that raises a pending signal  should add a function that raises a pending signal (0.38ms) - should mark the suite as pending  should mark the suite as pending (0.39ms) - should set the failure description to PENDING  should set the failure description to PENDING (0.52ms) + should be a no-op  should be a no-op (0.17ms) + should add a function that raises a pending signal  should add a function that raises a pending signal (0.23ms) + should mark the suite as pending  should mark the suite as pending (0.23ms) + should set the failure description to PENDING  should set the failure description to PENDING (0.29ms) The Spy `spy-on' function - replaces a symbol's function slot  replaces a symbol's function slot (0.30ms) - restores the old value after a spec run  restores the old value after a spec run (0.29ms) - allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.44ms) - can spy on autoloaded functions  can spy on autoloaded functions (2.10ms) - can spy on non-existing functions  can spy on non-existing functions (0.15ms) - only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (0.59ms) - works on native-compilation primitives  works on native-compilation primitives (0.54ms) + replaces a symbol's function slot  replaces a symbol's function slot (0.15ms) + restores the old value after a spec run  restores the old value after a spec run (0.17ms) + allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.22ms) + can spy on autoloaded functions  can spy on autoloaded functions (1.06ms) + can spy on non-existing functions  can spy on non-existing functions (0.08ms) + only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (0.31ms) + works on native-compilation primitives  works on native-compilation primitives (0.28ms) will signal en error if - used in before-all  used in before-all (0.28ms) - used directly in describe  used directly in describe (0.28ms) + used in before-all  used in before-all (0.19ms) + used directly in describe  used directly in describe (0.19ms) :to-have-been-called matcher - returns false if the spy was not called  returns false if the spy was not called (0.32ms) - returns true if the spy was called at all  returns true if the spy was called at all (0.32ms) + returns false if the spy was not called  returns false if the spy was not called (0.21ms) + returns true if the spy was called at all  returns true if the spy was called at all (0.21ms) :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.48ms) - returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.47ms) - returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.43ms) + returns false if the spy was not called at all  returns false if the spy was not called at all (0.27ms) + returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.31ms) + returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.31ms) :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.39ms) - 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.45ms) - use plural words in error message  use plural words in error message (0.43ms) - use singular expected word in error message  use singular expected word in error message (0.44ms) - use singular actual word in error message  use singular actual word in error message (0.46ms) + returns error if the spy was called less than expected  returns error if the spy was called less than expected (0.26ms) + returns error if the spy was called more than expected  returns error if the spy was called more than expected (0.26ms) + 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.26ms) + use plural words in error message  use plural words in error message (0.26ms) + use singular expected word in error message  use singular expected word in error message (0.26ms) + use singular actual word in error message  use singular actual word in error message (0.26ms) :and-call-through keyword functionality - tracks calls to the function  tracks calls to the function (0.17ms) - passes the arguments to the original function  passes the arguments to the original function (0.28ms) + tracks calls to the function  tracks calls to the function (0.08ms) + passes the arguments to the original function  passes the arguments to the original function (0.18ms) :and-return-value keyword functionality - tracks calls to the function  tracks calls to the function (0.15ms) - returns the specified value  returns the specified value (0.26ms) - works with strings  works with strings (0.27ms) - works with vectors  works with vectors (0.27ms) - works with symbols  works with symbols (0.32ms) - works with conses  works with conses (0.27ms) - works with lists  works with lists (0.26ms) - works with alists  works with alists (0.27ms) + tracks calls to the function  tracks calls to the function (0.09ms) + returns the specified value  returns the specified value (0.17ms) + works with strings  works with strings (0.18ms) + works with vectors  works with vectors (0.17ms) + works with symbols  works with symbols (0.18ms) + works with conses  works with conses (0.18ms) + works with lists  works with lists (0.18ms) + works with alists  works with alists (0.18ms) :and-call-fake keyword functionality - tracks calls to the function  tracks calls to the function (0.15ms) - returns the specified value  returns the specified value (0.31ms) + tracks calls to the function  tracks calls to the function (0.08ms) + returns the specified value  returns the specified value (0.19ms) :and-throw-error keyword functionality - throws an error when called  throws an error when called (0.30ms) + throws an error when called  throws an error when called (0.20ms) error-recording functionality - records the function as called even if it throws an error  records the function as called even if it throws an error (0.42ms) - counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (0.59ms) - records args to the function whether it throw an error or not  records args to the function whether it throw an error or not (0.78ms) - records the signal thrown by a call to the function  records the signal thrown by a call to the function (0.59ms) + records the function as called even if it throws an error  records the function as called even if it throws an error (0.30ms) + counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (0.27ms) + records args to the function whether it throw an error or not  records args to the function whether it throw an error or not (0.35ms) + records the signal thrown by a call to the function  records the signal thrown by a call to the function (0.29ms) The batch reporters on the buttercup-started event - should print the number of specs  should print the number of specs (0.65ms) - should color-print the number of specs with the default color  should color-print the number of specs with the default color (0.51ms) - should print the number of skipped specs  should print the number of skipped specs (0.53ms) - should color-print the number of skipped specs with the default color  should color-print the number of skipped specs with the default color (0.52ms) + should print the number of specs  should print the number of specs (0.34ms) + should color-print the number of specs with the default color  should color-print the number of specs with the default color (0.31ms) + should print the number of skipped specs  should print the number of skipped specs (0.32ms) + should color-print the number of skipped specs with the default color  should color-print the number of skipped specs with the default color (0.32ms) on the suite-started event - should emit an indented suite description  should emit an indented suite description (0.47ms) - should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.49ms) + should emit an indented suite description  should emit an indented suite description (0.30ms) + should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.32ms) on the spec-started event - should emit an indented spec description  should emit an indented spec description (0.46ms) - should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.51ms) + should emit an indented spec description  should emit an indented spec description (0.34ms) + should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.29ms) on the spec-done event for a passed spec - should print no status tag  should print no status tag (0.63ms) - should color-print the description in green and no status tag  should color-print the description in green and no status tag (0.82ms) - should print multiline specs cleanly  should print multiline specs cleanly (0.66ms) - should color-print multiline specs cleanly  should color-print multiline specs cleanly (0.75ms) + should print no status tag  should print no status tag (0.36ms) + should color-print the description in green and no status tag  should color-print the description in green and no status tag (0.46ms) + should print multiline specs cleanly  should print multiline specs cleanly (0.38ms) + should color-print multiline specs cleanly  should color-print multiline specs cleanly (0.44ms) for a failed spec - should say FAILED  should say FAILED (0.77ms) - should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (1.05ms) + should say FAILED  should say FAILED (0.38ms) + should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (0.49ms) for a pending spec - should output the failure-description  should output the failure-description (0.81ms) - should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (0.97ms) + should output the failure-description  should output the failure-description (0.37ms) + should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (0.54ms) should throw an error for an unknown spec status - for plain output  for plain output (0.33ms) - for colored output  for colored output (0.33ms) + for plain output  for plain output (0.22ms) + for colored output  for colored output (0.22ms) on the suite-done event - should emit a newline at the end of a top-level suite  should emit a newline at the end of a top-level suite (0.49ms) - should color-print a newline at the end of a top-level suite  should color-print a newline at the end of a top-level suite (0.47ms) - should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.40ms) - should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.38ms) + should emit a newline at the end of a top-level suite  should emit a newline at the end of a top-level suite (0.29ms) + should color-print a newline at the end of a top-level suite  should color-print a newline at the end of a top-level suite (0.30ms) + should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.27ms) + should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.27ms) on the buttercup-done event - should print a summary of run and failing specs  should print a summary of run and failing specs (0.63ms) - should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (0.89ms) - should color-print `X failed' specs in red  should color-print `X failed' specs in red (0.92ms) - should print a summary separating run and pending specs  should print a summary separating run and pending specs (0.70ms) - should color-print pending spec count in default color  should color-print pending spec count in default color (0.95ms) - should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.63ms) + should print a summary of run and failing specs  should print a summary of run and failing specs (0.40ms) + should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (0.50ms) + should color-print `X failed' specs in red  should color-print `X failed' specs in red (0.49ms) + should print a summary separating run and pending specs  should print a summary separating run and pending specs (0.36ms) + should color-print pending spec count in default color  should color-print pending spec count in default color (0.48ms) + should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.33ms) on an unknown event - should raise an error  should raise an error (0.27ms) + should raise an error  should raise an error (0.18ms) Backtraces - should be printed for each failed spec  should be printed for each failed spec (2.63ms) + should be printed for each failed spec  should be printed for each failed spec (1.16ms) with style - `crop' should print truncated lines  `crop' should print truncated lines (7.63ms) - `full' should print full lines  `full' should print full lines (2.24ms) - `pretty' should pretty-print frames  `pretty' should pretty-print frames (3.57ms) - `omit' should print nothing  `omit' should print nothing (0.81ms) - should signal an error for unknown styles  should signal an error for unknown styles (0.39ms) + `crop' should print truncated lines  `crop' should print truncated lines (3.28ms) + `full' should print full lines  `full' should print full lines (1.06ms) + `pretty' should pretty-print frames  `pretty' should pretty-print frames (1.64ms) + `omit' should print nothing  `omit' should print nothing (0.42ms) + should signal an error for unknown styles  should signal an error for unknown styles (0.23ms) should generate correct backtrace for - no matcher  no matcher (1.42ms) - :to-be-truthy  :to-be-truthy (1.46ms) - :not :to-be-truthy  :not :to-be-truthy (1.46ms) - :to-be  :to-be (1.45ms) - :not :to-be  :not :to-be (1.54ms) - :to-equal  :to-equal (1.47ms) - :not :to-equal  :not :to-equal (1.47ms) - :to-have-same-items-as  :to-have-same-items-as (1.44ms) - :not :to-have-same-items-as  :not :to-have-same-items-as (1.51ms) - :to-match  :to-match (1.50ms) - :not :to-match  :not :to-match (1.51ms) - :to-be-in  :to-be-in (1.55ms) - :not :to-be-in  :not :to-be-in (1.53ms) - :to-contain  :to-contain (1.46ms) - :not :to-contain  :not :to-contain (1.57ms) - :to-be-less-than  :to-be-less-than (1.47ms) - :not :to-be-less-than  :not :to-be-less-than (1.49ms) - :to-be-greater-than  :to-be-greater-than (1.61ms) - :not :to-be-greater-than  :not :to-be-greater-than (1.52ms) - :to-be-weakly-less-than  :to-be-weakly-less-than (1.52ms) - :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (1.50ms) - :to-be-weakly-greater-than  :to-be-weakly-greater-than (1.47ms) - :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (1.31ms) - :to-be-close-to  :to-be-close-to (26.22ms) - :not :to-be-close-to  :not :to-be-close-to (1.16ms) - :to-have-been-called  :to-have-been-called (0.97ms) - :not :to-have-been-called  :not :to-have-been-called (0.99ms) - :to-have-been-called-with  :to-have-been-called-with (1.03ms) - :not :to-have-been-called-with  :not :to-have-been-called-with (1.23ms) - :to-have-been-called-times  :to-have-been-called-times (1.08ms) - :not :to-have-been-called-times  :not :to-have-been-called-times (1.01ms) - should not generate backtraces for skipped specs  should not generate backtraces for skipped specs (0.39ms) + no matcher  no matcher (0.70ms) + :to-be-truthy  :to-be-truthy (0.69ms) + :not :to-be-truthy  :not :to-be-truthy (0.70ms) + :to-be  :to-be (0.70ms) + :not :to-be  :not :to-be (0.73ms) + :to-equal  :to-equal (0.70ms) + :not :to-equal  :not :to-equal (0.71ms) + :to-have-same-items-as  :to-have-same-items-as (0.70ms) + :not :to-have-same-items-as  :not :to-have-same-items-as (0.71ms) + :to-match  :to-match (0.75ms) + :not :to-match  :not :to-match (0.75ms) + :to-be-in  :to-be-in (0.71ms) + :not :to-be-in  :not :to-be-in (0.74ms) + :to-contain  :to-contain (0.72ms) + :not :to-contain  :not :to-contain (0.76ms) + :to-be-less-than  :to-be-less-than (0.72ms) + :not :to-be-less-than  :not :to-be-less-than (0.74ms) + :to-be-greater-than  :to-be-greater-than (0.72ms) + :not :to-be-greater-than  :not :to-be-greater-than (0.75ms) + :to-be-weakly-less-than  :to-be-weakly-less-than (0.77ms) + :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (0.75ms) + :to-be-weakly-greater-than  :to-be-weakly-greater-than (0.72ms) + :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (0.75ms) + :to-be-close-to  :to-be-close-to (0.73ms) + :not :to-be-close-to  :not :to-be-close-to (15.47ms) + :to-have-been-called  :to-have-been-called (0.67ms) + :not :to-have-been-called  :not :to-have-been-called (0.68ms) + :to-have-been-called-with  :to-have-been-called-with (0.66ms) + :not :to-have-been-called-with  :not :to-have-been-called-with (0.67ms) + :to-have-been-called-times  :to-have-been-called-times (0.66ms) + :not :to-have-been-called-times  :not :to-have-been-called-times (0.67ms) + should not generate backtraces for skipped specs  should not generate backtraces for skipped specs (0.28ms) When using quiet specs in the batch reporter - should print nothing if all specs are quiet  should print nothing if all specs are quiet (0.66ms) - should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (1.08ms) - should quiet all of the given spec statuses  should quiet all of the given spec statuses (0.60ms) - should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (1.53ms) - should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (1.57ms) + should print nothing if all specs are quiet  should print nothing if all specs are quiet (0.43ms) + should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (0.76ms) + should quiet all of the given spec statuses  should quiet all of the given spec statuses (0.45ms) + should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (0.99ms) + should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (0.99ms) The `buttercup-run' function - should signal an error if no suites are defined  should signal an error if no suites are defined (0.28ms) - should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.24ms) - should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.27ms) - should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.27ms) - should return t for passing specs  should return t for passing specs (0.29ms) - should call the reporter twice with events buttercup-started and -done  should call the reporter twice with events buttercup-started and -done (0.38ms) - should call `buttercup--run-suite' once per suite  should call `buttercup--run-suite' once per suite (0.29ms) + should signal an error if no suites are defined  should signal an error if no suites are defined (0.22ms) + should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.20ms) + should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.22ms) + should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.21ms) + should return t for passing specs  should return t for passing specs (0.28ms) + should call the reporter twice with events buttercup-started and -done  should call the reporter twice with events buttercup-started and -done (0.33ms) + should call `buttercup--run-suite' once per suite  should call `buttercup--run-suite' once per suite (0.25ms) The `buttercup--print' function - should send a formatted string to the terminal  should send a formatted string to the terminal (0.13ms) + should send a formatted string to the terminal  should send a formatted string to the terminal (0.09ms) The `buttercup-mark-skipped' function - should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (1.28ms) - should mark all specs as pending with a reversed match none pattern  should mark all specs as pending with a reversed match none pattern (0.56ms) - should handle multiple patterns  should handle multiple patterns (0.56ms) - should support predicates  should support predicates (0.61ms) - should support reversed predicates  should support reversed predicates (0.60ms) - should signal an error for invalid matchers  should signal an error for invalid matchers (0.55ms) + should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (0.77ms) + should mark all specs as pending with a reversed match none pattern  should mark all specs as pending with a reversed match none pattern (0.40ms) + should handle multiple patterns  should handle multiple patterns (0.40ms) + should support predicates  should support predicates (0.43ms) + should support reversed predicates  should support reversed predicates (0.42ms) + should signal an error for invalid matchers  should signal an error for invalid matchers (0.42ms) Buttercup's ERT compatibility wrapper - should convert `ert-test-failed' into `buttercup-failed'  should convert `ert-test-failed' into `buttercup-failed' (0.30ms) - should convert `ert-test-skipped' into `buttercup-pending'  should convert `ert-test-skipped' into `buttercup-pending' (0.21ms) + should convert `ert-test-failed' into `buttercup-failed'  should convert `ert-test-failed' into `buttercup-failed' (0.24ms) + should convert `ert-test-skipped' into `buttercup-pending'  should convert `ert-test-skipped' into `buttercup-pending' (0.18ms) `buttercup-run-discover' should parse command line arguments - ignoring `--'  ignoring `--' (0.21ms) - requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.23ms) - checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.30ms) - setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (0.37ms) - requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (0.36ms) - collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.39ms) - clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (0.52ms) - adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given  adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given (0.51ms) - adding `pending' and `passed' to quiet statuses if `--only-error' is given  adding `pending' and `passed' to quiet statuses if `--only-error' is given (0.48ms) - calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given  calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given (0.34ms) - search any unknown args for test files  search any unknown args for test files (0.57ms) + ignoring `--'  ignoring `--' (0.19ms) + requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.20ms) + checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.26ms) + setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (0.32ms) + requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (0.25ms) + collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.28ms) + clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (0.35ms) + adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given  adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given (0.32ms) + adding `pending' and `passed' to quiet statuses if `--only-error' is given  adding `pending' and `passed' to quiet statuses if `--only-error' is given (0.32ms) + calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given  calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given (0.24ms) + search any unknown args for test files  search any unknown args for test files (0.35ms) find and load files - named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (4.58ms) - only in given directories  only in given directories (3.18ms) + named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (2.66ms) + only in given directories  only in given directories (2.19ms) butter-minor-mode - should fontify `describe' special form  should fontify `describe' special form (0.67ms) - should fontify `it' special form  should fontify `it' special form (0.50ms) - should add special forms to `imenu'  should add special forms to `imenu' (1.00ms) - should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.16ms) + should fontify `describe' special form  should fontify `describe' special form (0.43ms) + should fontify `it' special form  should fontify `it' special form (0.40ms) + should add special forms to `imenu'  should add special forms to `imenu' (0.64ms) + should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.14ms) For stale `elc' file checks `buttercup-check-for-stale-elc' - should do nothing for `el' files  should do nothing for `el' files (0.26ms) - should signal error when `elc' is older than `el'  should signal error when `elc' is older than `el' (0.29ms) - should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.29ms) - should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.23ms) + should do nothing for `el' files  should do nothing for `el' files (0.20ms) + should signal error when `elc' is older than `el'  should signal error when `elc' is older than `el' (0.24ms) + should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.24ms) + should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.21ms) `buttercup-error-on-stale-elc' - should activate with no argument  should activate with no argument (0.20ms) - should deactivate with almost any argument  should deactivate with almost any argument (0.22ms) - should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (0.32ms) + should activate with no argument  should activate with no argument (0.17ms) + should deactivate with almost any argument  should deactivate with almost any argument (0.20ms) + should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (0.28ms) -Ran 283 out of 284 specs, 0 failed, in 27.44ms. +Ran 283 out of 284 specs, 0 failed, in 18.96ms. make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.35' dh_elpa_test create-stamp debian/debhelper-build-stamp @@ -1376,12 +1412,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/78030/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/78030/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/46369 and its subdirectories -I: Current time: Thu Apr 18 18:34:38 -12 2024 -I: pbuilder-time-stamp: 1713508478 +I: removing directory /srv/workspace/pbuilder/78030 and its subdirectories +I: Current time: Fri May 23 02:58:15 +14 2025 +I: pbuilder-time-stamp: 1747918695