Diff of the two buildlogs: -- --- b1/build.log 2024-05-08 17:22:25.385534789 +0000 +++ b2/build.log 2024-05-08 17:24:38.895849632 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Jun 10 11:43:52 -12 2025 -I: pbuilder-time-stamp: 1749599032 +I: Current time: Thu May 9 07:22:27 +14 2024 +I: pbuilder-time-stamp: 1715188947 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -25,51 +25,83 @@ 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/2450466/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1711819/tmp/hooks/D01_modify_environment starting +debug: Running on infom01-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 +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 May 8 17:22 /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/1711819/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1711819/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='amd64' - DEBIAN_FRONTEND='noninteractive' + 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]="x86_64-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=amd64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='7bc75ab7f82944c788f1cfab30d89f1c' - 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='2450466' - PS1='# ' - PS2='> ' + INVOCATION_ID=f11f3b172280453b938de9da8d8187fb + 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=1711819 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.5vO9nmr2/pbuilderrc_qtAZ --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.5vO9nmr2/b1 --logfile b1/build.log emacs-buttercup_1.35-1.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.5vO9nmr2/pbuilderrc_bEd3 --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.5vO9nmr2/b2 --logfile b2/build.log emacs-buttercup_1.35-1.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom02-amd64 6.6.13+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.13-1~bpo12+1 (2024-02-15) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-21-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Jun 10 17:51 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2450466/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 8 11:24 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1711819/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -227,7 +259,7 @@ Get: 116 http://deb.debian.org/debian trixie/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Get: 117 http://deb.debian.org/debian trixie/main amd64 libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 118 http://deb.debian.org/debian trixie/main amd64 dh-elpa all 2.0.17 [31.0 kB] -Fetched 92.4 MB in 2s (57.6 MB/s) +Fetched 92.4 MB in 1s (71.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libapparmor1:amd64. (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 ... 19698 files and directories currently installed.) @@ -742,7 +774,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/1711819/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/1711819/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 @@ -769,9 +805,9 @@ emacs -batch -L . -f batch-byte-compile buttercup-compat.el emacs -batch -L . -f batch-byte-compile buttercup.el 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)... ./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)... @@ -782,557 +818,557 @@ Running 60 out of 63 specs. A suite - contains a spec with an expectation  contains a spec with an expectation (9.76ms) + contains a spec with an expectation  contains a spec with an expectation (8.94ms) A suite is just a function - and so is a spec  and so is a spec (0.22ms) + and so is a spec  and so is a spec (0.35ms) The :to-be matcher compares with `eq' - and has a positive case  and has a positive case (0.18ms) - and can have a negative case  and can have a negative case (0.17ms) + and has a positive case  and has a positive case (0.25ms) + and can have a negative case  and can have a negative case (0.36ms) Included matchers: - The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.24ms) + The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.34ms) The :to-equal matcher - works for simple literals and variables  works for simple literals and variables (0.12ms) - should work for compound objects  should work for compound objects (0.20ms) - 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.58ms) - The :to-match matcher is for regular expressions  The :to-match matcher is for regular expressions (0.33ms) - The :to-be-truthy matcher is for boolean casting testing  The :to-be-truthy matcher is for boolean casting testing (0.18ms) - 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.22ms) - The :to-be-less-than matcher is for mathematical comparisons  The :to-be-less-than matcher is for mathematical comparisons (0.21ms) - The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (0.23ms) - The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (0.21ms) + works for simple literals and variables  works for simple literals and variables (0.24ms) + should work for compound objects  should work for compound objects (0.28ms) + 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.72ms) + 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.30ms) + 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.32ms) + The :to-be-less-than matcher is for mathematical comparisons  The :to-be-less-than matcher is for mathematical comparisons (0.42ms) + The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (0.39ms) + 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.29ms) - accepts a symbol to check for the signal thrown  accepts a symbol to check for the signal thrown (0.40ms) - optionally matches arguments to signals  optionally matches arguments to signals (0.40ms) - matches inherited signals  matches inherited signals (0.80ms) + is for testing if an expression throws an exception  is for testing if an expression throws an exception (0.46ms) + accepts a symbol to check for the signal thrown  accepts a symbol to check for the signal thrown (0.44ms) + optionally matches arguments to signals  optionally matches arguments to signals (0.58ms) + matches inherited signals  matches inherited signals (0.92ms) ERT support - allows you to use ERT macros in tests  allows you to use ERT macros in tests (0.14ms) + allows you to use ERT macros in tests  allows you to use ERT macros in tests (0.21ms) A spec - is just a function, so it can contain any code  is just a function, so it can contain any code (0.19ms) - can have more than one expectation  can have more than one expectation (0.23ms) + 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.32ms) A spec using :VAR - has access to the variables bound in :VAR  has access to the variables bound in :VAR (0.15ms) + has access to the variables bound in :VAR  has access to the variables bound in :VAR (0.34ms) 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.15ms) + 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.24ms) 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.17ms) - can have more than one expectation  can have more than one expectation (0.24ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (0.25ms) + 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.17ms) - does not reset foo between specs  does not reset foo between specs (0.18ms) + sets the initial value of foo before specs run  sets the initial value of foo before specs run (0.23ms) + does not reset foo between specs  does not reset foo between specs (0.24ms) A spec - 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.24ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (0.48ms) + can have more than one expectation  can have more than one expectation (0.43ms) nested inside a second describe - can reference both scopes as needed  can reference both scopes as needed (0.19ms) + can reference both scopes as needed  can reference both scopes as needed (0.36ms) A spec - is just a function, so it can contain any code  is just a function, so it can contain any code PENDING (0.10ms) + 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.16ms) - can be declared with `it' but without a body  can be declared with `it' but without a body PENDING (0.13ms) + can be declared with `it' but without a body  can be declared with `it' but without a body PENDING (0.15ms) Conditionally skip specs - with the `assume' macro  with the `assume' macro !! CANCELLED !! `new-function' not availeble (0.11ms) + with the `assume' macro  with the `assume' macro !! CANCELLED !! `new-function' not availeble (0.16ms) A spy - tracks that the spy was called  tracks that the spy was called (0.18ms) - resets tracking after each spec  resets tracking after each spec (0.22ms) + tracks that the spy was called  tracks that the spy was called (0.25ms) + resets tracking after each spec  resets tracking after each spec (0.30ms) that is defined in a nested `describe' - will override any outer spy  will override any outer spy (0.33ms) - will not be active outside it's scope  will not be active outside it's scope (0.19ms) - tracks all arguments of its calls  tracks all arguments of its calls (0.17ms) - stops all execution on a function  stops all execution on a function (0.16ms) + will override any outer spy  will override any outer spy (0.71ms) + will not be active outside it's scope  will not be active outside it's scope (0.42ms) + tracks all arguments of its calls  tracks all arguments of its calls (0.32ms) + stops all execution on a function  stops all execution on a function (0.34ms) A spy - tracks that the spy was called twice  tracks that the spy was called twice (0.13ms) + tracks that the spy was called twice  tracks that the spy was called twice (0.27ms) A spy, when configured to call through - 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.16ms) - when called returns the requested value  when called returns the requested value (0.17ms) + 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.33ms) + when called returns the requested value  when called returns the requested value (0.42ms) A spy, when configured to fake a return value - tracks that the spy was called  tracks that the spy was called (0.17ms) - 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.20ms) + tracks that the spy was called  tracks that the spy was called (0.31ms) + 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.31ms) A spy, when configured with an alternate implementation - tracks that the spy was called  tracks that the spy was called (0.18ms) - should not affect other functions  should not affect other functions (0.25ms) - when called returns the requested value  when called returns the requested value (0.17ms) + 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.33ms) + when called returns the requested value  when called returns the requested value (0.33ms) A spy, when configured to throw an error - throws the error  throws the error (0.32ms) + throws the error  throws the error (0.40ms) A spy - tracks if it was called at all  tracks if it was called at all (0.35ms) - tracks the number of times it was called  tracks the number of times it was called (0.31ms) - tracks the arguments of each call  tracks the arguments of each call (0.29ms) - tracks the arguments of all calls  tracks the arguments of all calls (0.25ms) - can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.23ms) - has a shortcut to the most recent call  has a shortcut to the most recent call (0.25ms) - has a shortcut to the first call  has a shortcut to the first call (0.25ms) - tracks the return values and error signals of each call  tracks the return values and error signals of each call (0.95ms) - 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.33ms) + tracks if it was called at all  tracks if it was called at all (0.41ms) + tracks the number of times it was called  tracks the number of times it was called (0.41ms) + tracks the arguments of each call  tracks the arguments of each call (0.45ms) + tracks the arguments of all calls  tracks the arguments of all calls (0.46ms) + can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.51ms) + has a shortcut to the most recent call  has a shortcut to the most recent call (0.50ms) + has a shortcut to the first call  has a shortcut to the first call (0.45ms) + tracks the return values and error signals of each call  tracks the return values and error signals of each call (1.23ms) + counts the number of successful and failed calls  counts the number of successful and failed calls (1.58ms) + can be reset  can be reset (0.50ms) A test - can issue warnings while running  can issue warnings while running (0.21ms) + can issue warnings while running  can issue warnings while running (0.36ms) 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.31ms) + can capture its own warnings as part of the test  can capture its own warnings as part of the test (0.47ms) -Ran 59 out of 63 specs, 0 failed, in 30.20ms. +Ran 59 out of 63 specs, 0 failed, in 43.22ms. Running 284 specs. The buttercup--enclosed-expr function should handle - expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (3.19ms) - a closure with expression copy?  a closure with expression copy? (0.25ms) - a lambda with expression copy?  a lambda with expression copy? (0.14ms) + expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (3.25ms) + a closure with expression copy?  a closure with expression copy? (0.24ms) + a lambda with expression copy?  a lambda with expression copy? (0.15ms) byte compiled - lambda objects  lambda objects (0.22ms) - wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.10ms) + lambda objects  lambda objects (0.30ms) + wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.04ms) should error - on a simple closure  on a simple closure (0.24ms) - on a closure with stackframe marker but no quoted expression  on a closure with stackframe marker but no quoted expression (0.18ms) - for multi-statement closures  for multi-statement closures (0.17ms) + on a simple closure  on a simple closure (0.17ms) + on a closure with stackframe marker but no quoted expression  on a closure with stackframe marker but no quoted expression (0.16ms) + for multi-statement closures  for multi-statement closures (0.13ms) for closures with non-empty argument lists  for closures with non-empty argument lists (0.17ms) - on simple lambda objects  on simple lambda objects (0.11ms) - on a lambda with stackframe marker but no quoted expression  on a lambda with stackframe marker but no quoted expression (0.12ms) - for multi-statement lambdas  for multi-statement lambdas (0.10ms) - for lambdas with non-empty argument lists  for lambdas with non-empty argument lists (0.10ms) - on byte-compiled functions with arguments  on byte-compiled functions with arguments (0.25ms) + on simple lambda objects  on simple lambda objects (0.13ms) + on a lambda with stackframe marker but no quoted expression  on a lambda with stackframe marker but no quoted expression (0.11ms) + for multi-statement lambdas  for multi-statement lambdas (0.11ms) + for lambdas with non-empty argument lists  for lambdas with non-empty argument lists (0.11ms) + 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.14ms) + can be raised  can be raised (0.12ms) The buttercup-pending signal - can be raised  can be raised (0.11ms) + can be raised  can be raised (0.10ms) 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.47ms) - with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (0.31ms) + with a matcher should translate to the function call with closures  with a matcher should translate to the function call with closures (0.61ms) + with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (0.40ms) 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.20ms) - should raise an error if the function returns false  should raise an error if the function returns false (0.18ms) + should not raise an error if the function returns true  should not raise an error if the function returns true (0.22ms) + 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.14ms) - should raise an error if the matcher returns false  should raise an error if the matcher returns false (0.11ms) + should not raise an error if the matcher returns true  should not raise an error if the matcher returns true (0.26ms) + 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.16ms) + should raise a signal with its arguments  should raise a signal with its arguments (0.15ms) The `assume' form - should raise a signal if the condition is nil  should raise a signal if the condition is nil (0.14ms) - should show the format if no message is given  should show the format if no message is given (0.10ms) - should not raise a signal if the condition is non-nil  should not raise a signal if the condition is non-nil (0.14ms) + should raise a signal if the condition is nil  should raise a signal if the condition is nil (0.12ms) + should show the format if no message is given  should show the format if no message is given (0.12ms) + should not raise a signal if the condition is non-nil  should not raise a signal if the condition is non-nil (0.10ms) The `buttercup-skip' function - should raise a signal with its arguments  should raise a signal with its arguments (0.14ms) + should raise a signal with its arguments  should raise a signal with its arguments (0.13ms) The `buttercup-define-matcher' macro - should create a matcher usable by apply-matcher  should create a matcher usable by apply-matcher (0.16ms) + should create a matcher usable by apply-matcher  should create a matcher usable by apply-matcher (0.15ms) The `buttercup--apply-matcher' function - should work with functions  should work with functions (0.20ms) - 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.18ms) + should work with functions  should work with functions (0.17ms) + should work with matchers  should work with matchers (0.14ms) + should fail if the matcher is not defined  should fail if the matcher is not defined (0.14ms) The :buttercup-define-matcher-for-unary-function helper - should not modify match data  should not modify match data (0.17ms) + should not modify match data  should not modify match data (0.16ms) The :buttercup-define-matcher-for-binary-function helper - should not modify match data  should not modify match data (0.20ms) + should not modify match data  should not modify match data (0.18ms) The included matcher :to-be-truthy - should match for a truthy expression  should match for a truthy expression (0.19ms) + should match for a truthy expression  should match for a truthy expression (0.17ms) should not match for an untruthy expression  should not match for an untruthy expression (0.16ms) :to-be - should match if the args are `eq'  should match if the args are `eq' (0.28ms) - should not match if the args are not `eq'  should not match if the args are not `eq' (0.30ms) + 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.36ms) :to-equal - should match if the args are `equal'  should match if the args are `equal' (0.26ms) - should not match if the args are not `equal'  should not match if the args are not `equal' (0.34ms) + should match if the args are `equal'  should match if the args are `equal' (0.30ms) + should not match if the args are not `equal'  should not match if the args are not `equal' (0.33ms) :not - should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (0.36ms) + should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (0.42ms) :to-have-same-items-as - should match equal sets  should match equal sets (0.31ms) - should notice missing elements in the second argument  should notice missing elements in the second argument (0.30ms) - should notice extra items in the second argument  should notice extra items in the second argument (0.31ms) - should notice extra items in both arguments  should notice extra items in both arguments (0.36ms) + should match equal sets  should match equal sets (0.35ms) + should notice missing elements in the second argument  should notice missing elements in the second argument (0.37ms) + should notice extra items in the second argument  should notice extra items in the second argument (0.35ms) + should notice extra items in both arguments  should notice extra items in both arguments (0.38ms) :to-match - should match the first argument against a regex  should match the first argument against a regex (0.24ms) - should show regex mismatches  should show regex mismatches (0.24ms) + should match the first argument against a regex  should match the first argument against a regex (0.27ms) + should show regex mismatches  should show regex mismatches (0.31ms) :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.39ms) - 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.32ms) + 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.33ms) + 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.35ms) :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.35ms) - 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.35ms) + 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.38ms) + 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.34ms) :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.22ms) - 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.22ms) + 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.24ms) + 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.25ms) + 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.24ms) :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 (17.77ms) - 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.22ms) - 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.21ms) + should match when the first argument is greater than the second argument  should match when the first argument is greater than the second argument (17.95ms) + 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.17ms) :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.20ms) - 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.17ms) - 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.18ms) + 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.17ms) + 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.51ms) + 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.34ms) :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.19ms) - 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.15ms) - 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.14ms) + 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.31ms) + 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.30ms) + 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.31ms) :to-be-close-to - should match when value difference is less than precision  should match when value difference is less than precision (0.28ms) - should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.27ms) + should match when value difference is less than precision  should match when value difference is less than precision (0.41ms) + should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.49ms) :to-throw - should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (0.19ms) - should match the error symbol without args  should match the error symbol without args (0.17ms) - should match the with no error signal specified  should match the with no error signal specified (0.14ms) - should match a child signal  should match a child signal (0.12ms) - should match child signals and equal arguments  should match child signals and equal arguments (0.13ms) - should not match with different arguments  should not match with different arguments (0.15ms) - should not match an unrelated symbol  should not match an unrelated symbol (0.13ms) - should not match a parent signal  should not match a parent signal (0.12ms) + should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (0.31ms) + should match the error symbol without args  should match the error symbol without args (0.31ms) + 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.27ms) + should match child signals and equal arguments  should match child signals and equal arguments (0.33ms) + should not match with different arguments  should not match with different arguments (0.35ms) + should not match an unrelated symbol  should not match an unrelated symbol (0.29ms) + should not match a parent signal  should not match a parent signal (0.26ms) should not match when no signal is raised - and not mention unspecified signal  and not mention unspecified signal (0.13ms) - and mention any specified signal  and mention any specified signal (0.21ms) + and not mention unspecified signal  and not mention unspecified signal (0.29ms) + and mention any specified signal  and mention any specified signal (0.38ms) :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.13ms) - should match if the spy has been called once  should match if the spy has been called once (0.10ms) - should match if the spy has been called multiple times  should match if the spy has been called multiple times (25.14ms) + should not match if the spy has not been called  should not match if the spy has not been called (0.25ms) + should match if the spy has been called once  should match if the spy has been called once (0.23ms) + should match if the spy has been called multiple times  should match if the spy has been called multiple times (23.74ms) :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.20ms) - 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.24ms) - 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.20ms) - 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.16ms) + 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.44ms) + 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.32ms) + 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.29ms) :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.13ms) - should not match if the spy has been called more times  should not match if the spy has been called more times (0.14ms) - 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.13ms) - should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.12ms) + should not match if the spy has been called less times  should not match if the spy has been called less times (0.29ms) + should not match if the spy has been called more times  should not match if the spy has been called more times (0.30ms) + 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.31ms) + should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.31ms) 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.25ms) - 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.18ms) - should add the parent to the child  should add the parent to the child (0.10ms) + 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.42ms) + 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.31ms) + should add the parent to the child  should add the parent to the child (0.24ms) The `buttercup-suite-parents' function - should return the list of parents for a suite  should return the list of parents for a suite (0.15ms) + should return the list of parents for a suite  should return the list of parents for a suite (0.29ms) The `buttercup-spec-parents' function - should return the list of parents for a spec  should return the list of parents for a spec (0.13ms) + should return the list of parents for a spec  should return the list of parents for a spec (0.26ms) 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.10ms) + should return the number of specs in a list of suites  should return the number of specs in a list of suites (0.25ms) 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.25ms) - should also count skipped specs  should also count skipped specs (0.20ms) + 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.43ms) + should also count skipped specs  should also count skipped specs (0.38ms) 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.09ms) + 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.23ms) 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.13ms) - should return the full name of a suite with parents  should return the full name of a suite with parents (0.09ms) + should return the full name of a suite without parents  should return the full name of a suite without parents (0.23ms) + should return the full name of a suite with parents  should return the full name of a suite with parents (0.28ms) 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.16ms) - should return the full name of a spec with parents  should return the full name of a spec with parents (0.09ms) + should return the full name of a spec without parents  should return the full name of a spec without parents (0.24ms) + should return the full name of a spec with parents  should return the full name of a spec with parents (0.24ms) The `buttercup-elapsed-time' function - should report elapsed time for suites  should report elapsed time for suites (0.17ms) - should report elapsed time for specs  should report elapsed time for specs (0.11ms) + should report elapsed time for suites  should report elapsed time for suites (0.30ms) + should report elapsed time for specs  should report elapsed time for specs (0.22ms) The `buttercup--run-suite' function - should set start and end time of the suite  should set start and end time of the suite (0.30ms) + should set start and end time of the suite  should set start and end time of the suite (0.43ms) The `buttercup--run-spec' function - should set start and end time of the spec  should set start and end time of the spec (0.26ms) - should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.14ms) + should set start and end time of the spec  should set start and end time of the spec (0.44ms) + should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.30ms) should set status to pending - for assume in `before-each'  for assume in `before-each' (0.19ms) - for assume in spec  for assume in spec (0.15ms) - for assume in `after-each'  for assume in `after-each' (0.20ms) + for assume in `before-each'  for assume in `before-each' (0.36ms) + for assume in spec  for assume in spec (0.29ms) + for assume in `after-each'  for assume in `after-each' (0.42ms) 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.08ms) - should support the :var argument  should support the :var argument (0.08ms) - should support the :var* argument  should support the :var* argument (0.08ms) + should expand to a simple call to the buttercup-describe function  should expand to a simple call to the buttercup-describe function (0.22ms) + should support the :var argument  should support the :var argument (0.21ms) + should support the :var* argument  should support the :var* argument (0.20ms) should error when - :var is not first  :var is not first (0.08ms) - :var* is not first  :var* is not first (0.08ms) - is expanded with `lexical-binding' nil  is expanded with `lexical-binding' nil (0.08ms) + :var is not first  :var is not first (0.26ms) + :var* is not first  :var* is not first (0.20ms) + is expanded with `lexical-binding' nil  is expanded with `lexical-binding' nil (0.19ms) The `buttercup-describe' function - should run the enclosing body  should run the enclosing body (0.06ms) - should set the `buttercup-suites' variable  should set the `buttercup-suites' variable (0.09ms) - should add child suites when called nested  should add child suites when called nested (0.15ms) + should run the enclosing body  should run the enclosing body (0.16ms) + should set the `buttercup-suites' variable  should set the `buttercup-suites' variable (0.20ms) + should add child suites when called nested  should add child suites when called nested (0.40ms) The `it' macro - should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.20ms) - without argument should expand to xit.  without argument should expand to xit. (0.13ms) + should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.21ms) + without argument should expand to xit.  without argument should expand to xit. (0.20ms) 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.11ms) - 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.24ms) + should fail if not called from within a describe form  should fail if not called from within a describe form (0.18ms) + 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.54ms) The `before-each' macro - expands to a function call  expands to a function call (0.11ms) + expands to a function call  expands to a function call (0.26ms) 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.13ms) + 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) The `after-each' macro - expands to a function call  expands to a function call (0.11ms) + expands to a function call  expands to a function call (0.24ms) 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.18ms) + 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.21ms) The `before-all' macro - expands to a function call  expands to a function call (0.12ms) + expands to a function call  expands to a function call (0.19ms) 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.13ms) + 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.21ms) The `after-all' macro - expands to a function call  expands to a function call (0.09ms) + expands to a function call  expands to a function call (0.20ms) 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.13ms) + 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) The `xdescribe' macro - expands directly to a function call  expands directly to a function call (0.09ms) - changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.16ms) - should add a pending suite  should add a pending suite (0.10ms) + 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.27ms) + should add a pending suite  should add a pending suite (0.22ms) The `xit' macro - expands directly to a function call  expands directly to a function call (0.12ms) + expands directly to a function call  expands directly to a function call (0.18ms) The `buttercup-xit' function - should be a no-op  should be a no-op (0.13ms) - should add a function that raises a pending signal  should add a function that raises a pending signal (0.16ms) - should mark the suite as pending  should mark the suite as pending (0.12ms) - should set the failure description to PENDING  should set the failure description to PENDING (0.19ms) + should be a no-op  should be a no-op (0.20ms) + 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.27ms) + should set the failure description to PENDING  should set the failure description to PENDING (0.36ms) The Spy `spy-on' function - 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.09ms) - allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.18ms) - can spy on autoloaded functions  can spy on autoloaded functions (91.26ms) - can spy on non-existing functions  can spy on non-existing functions (0.12ms) - only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (0.32ms) - works on native-compilation primitives  works on native-compilation primitives (0.27ms) + replaces a symbol's function slot  replaces a symbol's function slot (0.19ms) + 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.30ms) + can spy on autoloaded functions  can spy on autoloaded functions (2.20ms) + can spy on non-existing functions  can spy on non-existing functions (0.16ms) + only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (0.42ms) + works on native-compilation primitives  works on native-compilation primitives (0.37ms) will signal en error if - used in before-all  used in before-all (0.21ms) - used directly in describe  used directly in describe (0.13ms) + used in before-all  used in before-all (0.32ms) + used directly in describe  used directly in describe (0.25ms) :to-have-been-called matcher - returns false if the spy was not called  returns false if the spy was not called (0.15ms) - returns true if the spy was called at all  returns true if the spy was called at all (0.16ms) + returns false if the spy was not called  returns false if the spy was not called (0.27ms) + returns true if the spy was called at all  returns true if the spy was called at all (0.31ms) :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.24ms) - returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.25ms) - returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.16ms) + returns false if the spy was not called at all  returns false if the spy was not called at all (0.39ms) + returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.37ms) + returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.34ms) :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.19ms) - returns error if the spy was called more than expected  returns error if the spy was called more than expected (0.15ms) - 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.19ms) - use plural words in error message  use plural words in error message (0.15ms) - use singular expected word in error message  use singular expected word in error message (0.14ms) - use singular actual word in error message  use singular actual word in error message (0.15ms) + returns error if the spy was called less than expected  returns error if the spy was called less than expected (0.34ms) + returns error if the spy was called more than expected  returns error if the spy was called more than expected (0.32ms) + 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.30ms) + use plural words in error message  use plural words in error message (0.32ms) + use singular expected word in error message  use singular expected word in error message (0.34ms) + use singular actual word in error message  use singular actual word in error message (0.31ms) :and-call-through keyword functionality - tracks calls to the function  tracks calls to the function (0.09ms) - passes the arguments to the original function  passes the arguments to the original function (0.10ms) + tracks calls to the function  tracks calls to the function (0.10ms) + passes the arguments to the original function  passes the arguments to the original function (0.21ms) :and-return-value keyword functionality - tracks calls to the function  tracks calls to the function (0.08ms) - returns the specified value  returns the specified value (0.14ms) - works with strings  works with strings (0.11ms) - works with vectors  works with vectors (0.10ms) - works with symbols  works with symbols (0.14ms) - works with conses  works with conses (0.10ms) - works with lists  works with lists (0.13ms) - works with alists  works with alists (0.10ms) + tracks calls to the function  tracks calls to the function (0.09ms) + returns the specified value  returns the specified value (0.20ms) + works with strings  works with strings (0.22ms) + works with vectors  works with vectors (0.21ms) + works with symbols  works with symbols (0.21ms) + works with conses  works with conses (0.23ms) + works with lists  works with lists (0.21ms) + works with alists  works with alists (0.25ms) :and-call-fake keyword functionality - tracks calls to the function  tracks calls to the function (0.08ms) - returns the specified value  returns the specified value (0.10ms) + tracks calls to the function  tracks calls to the function (0.10ms) + returns the specified value  returns the specified value (0.22ms) :and-throw-error keyword functionality - throws an error when called  throws an error when called (0.60ms) + throws an error when called  throws an error when called (0.23ms) 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.29ms) - counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (0.31ms) - 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.36ms) - records the signal thrown by a call to the function  records the signal thrown by a call to the function (0.27ms) + records the function as called even if it throws an error  records the function as called even if it throws an error (0.36ms) + counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (0.42ms) + 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.54ms) + records the signal thrown by a call to the function  records the signal thrown by a call to the function (0.44ms) The batch reporters on the buttercup-started event - should print the number of specs  should print the number of specs (0.45ms) - should color-print the number of specs with the default color  should color-print the number of specs with the default color (0.26ms) - should print the number of skipped specs  should print the number of skipped specs (0.26ms) - 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.25ms) + should print the number of specs  should print the number of specs (0.48ms) + should color-print the number of specs with the default color  should color-print the number of specs with the default color (0.42ms) + should print the number of skipped specs  should print the number of skipped specs (0.44ms) + 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.41ms) on the suite-started event - should emit an indented suite description  should emit an indented suite description (0.24ms) - should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.24ms) + should emit an indented suite description  should emit an indented suite description (0.43ms) + should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.42ms) on the spec-started event - should emit an indented spec description  should emit an indented spec description (0.36ms) - should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.33ms) + should emit an indented spec description  should emit an indented spec description (0.43ms) + should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.45ms) on the spec-done event for a passed spec - should print no status tag  should print no status tag (0.41ms) - should color-print the description in green and no status tag  should color-print the description in green and no status tag (0.61ms) - should print multiline specs cleanly  should print multiline specs cleanly (0.43ms) - should color-print multiline specs cleanly  should color-print multiline specs cleanly (0.49ms) + should print no status tag  should print no status tag (0.48ms) + should color-print the description in green and no status tag  should color-print the description in green and no status tag (0.72ms) + should print multiline specs cleanly  should print multiline specs cleanly (0.52ms) + should color-print multiline specs cleanly  should color-print multiline specs cleanly (0.61ms) for a failed spec - should say FAILED  should say FAILED (0.41ms) - should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (0.56ms) + should say FAILED  should say FAILED (0.56ms) + should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (0.71ms) for a pending spec - should output the failure-description  should output the failure-description (0.48ms) - should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (0.52ms) + should output the failure-description  should output the failure-description (0.57ms) + should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (0.89ms) should throw an error for an unknown spec status - for plain output  for plain output (0.24ms) - for colored output  for colored output (0.22ms) + for plain output  for plain output (0.27ms) + for colored output  for colored output (0.28ms) 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.33ms) - 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.33ms) - should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.22ms) - should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.19ms) + 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.39ms) + should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.30ms) + should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.31ms) on the buttercup-done event - should print a summary of run and failing specs  should print a summary of run and failing specs (0.37ms) - should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (0.54ms) - should color-print `X failed' specs in red  should color-print `X failed' specs in red (0.56ms) - should print a summary separating run and pending specs  should print a summary separating run and pending specs (0.32ms) - should color-print pending spec count in default color  should color-print pending spec count in default color (0.50ms) - should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.43ms) + should print a summary of run and failing specs  should print a summary of run and failing specs (0.50ms) + should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (0.66ms) + should color-print `X failed' specs in red  should color-print `X failed' specs in red (0.53ms) + should print a summary separating run and pending specs  should print a summary separating run and pending specs (0.35ms) + should color-print pending spec count in default color  should color-print pending spec count in default color (0.46ms) + should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.35ms) on an unknown event - should raise an error  should raise an error (0.20ms) + should raise an error  should raise an error (0.25ms) Backtraces - should be printed for each failed spec  should be printed for each failed spec (1.49ms) + should be printed for each failed spec  should be printed for each failed spec (1.54ms) with style - `crop' should print truncated lines  `crop' should print truncated lines (5.21ms) - `full' should print full lines  `full' should print full lines (1.26ms) - `pretty' should pretty-print frames  `pretty' should pretty-print frames (2.10ms) - `omit' should print nothing  `omit' should print nothing (0.45ms) - should signal an error for unknown styles  should signal an error for unknown styles (0.23ms) + `crop' should print truncated lines  `crop' should print truncated lines (3.97ms) + `full' should print full lines  `full' should print full lines (1.18ms) + `pretty' should pretty-print frames  `pretty' should pretty-print frames (2.00ms) + `omit' should print nothing  `omit' should print nothing (0.38ms) + should signal an error for unknown styles  should signal an error for unknown styles (0.17ms) should generate correct backtrace for - no matcher  no matcher (0.83ms) - :to-be-truthy  :to-be-truthy (0.80ms) - :not :to-be-truthy  :not :to-be-truthy (0.81ms) - :to-be  :to-be (0.84ms) - :not :to-be  :not :to-be (0.84ms) - :to-equal  :to-equal (0.79ms) - :not :to-equal  :not :to-equal (0.79ms) - :to-have-same-items-as  :to-have-same-items-as (0.78ms) - :not :to-have-same-items-as  :not :to-have-same-items-as (0.82ms) - :to-match  :to-match (0.83ms) - :not :to-match  :not :to-match (0.80ms) - :to-be-in  :to-be-in (0.85ms) - :not :to-be-in  :not :to-be-in (0.90ms) - :to-contain  :to-contain (0.85ms) - :not :to-contain  :not :to-contain (0.92ms) - :to-be-less-than  :to-be-less-than (0.84ms) - :not :to-be-less-than  :not :to-be-less-than (0.82ms) - :to-be-greater-than  :to-be-greater-than (0.90ms) - :not :to-be-greater-than  :not :to-be-greater-than (0.85ms) - :to-be-weakly-less-than  :to-be-weakly-less-than (0.79ms) - :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (0.80ms) - :to-be-weakly-greater-than  :to-be-weakly-greater-than (0.81ms) - :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (0.82ms) - :to-be-close-to  :to-be-close-to (0.83ms) - :not :to-be-close-to  :not :to-be-close-to (0.82ms) - :to-have-been-called  :to-have-been-called (0.77ms) - :not :to-have-been-called  :not :to-have-been-called (0.85ms) - :to-have-been-called-with  :to-have-been-called-with (0.83ms) - :not :to-have-been-called-with  :not :to-have-been-called-with (0.79ms) - :to-have-been-called-times  :to-have-been-called-times (0.76ms) - :not :to-have-been-called-times  :not :to-have-been-called-times (0.81ms) - should not generate backtraces for skipped specs  should not generate backtraces for skipped specs (0.40ms) + no matcher  no matcher (0.68ms) + :to-be-truthy  :to-be-truthy (0.75ms) + :not :to-be-truthy  :not :to-be-truthy (0.76ms) + :to-be  :to-be (0.69ms) + :not :to-be  :not :to-be (0.69ms) + :to-equal  :to-equal (0.67ms) + :not :to-equal  :not :to-equal (0.72ms) + :to-have-same-items-as  :to-have-same-items-as (0.65ms) + :not :to-have-same-items-as  :not :to-have-same-items-as (0.74ms) + :to-match  :to-match (0.67ms) + :not :to-match  :not :to-match (0.67ms) + :to-be-in  :to-be-in (0.67ms) + :not :to-be-in  :not :to-be-in (0.70ms) + :to-contain  :to-contain (0.67ms) + :not :to-contain  :not :to-contain (0.85ms) + :to-be-less-than  :to-be-less-than (0.68ms) + :not :to-be-less-than  :not :to-be-less-than (0.67ms) + :to-be-greater-than  :to-be-greater-than (0.72ms) + :not :to-be-greater-than  :not :to-be-greater-than (0.68ms) + :to-be-weakly-less-than  :to-be-weakly-less-than (0.81ms) + :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (0.73ms) + :to-be-weakly-greater-than  :to-be-weakly-greater-than (0.66ms) + :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (0.68ms) + :to-be-close-to  :to-be-close-to (0.71ms) + :not :to-be-close-to  :not :to-be-close-to (0.73ms) + :to-have-been-called  :to-have-been-called (0.82ms) + :not :to-have-been-called  :not :to-have-been-called (0.74ms) + :to-have-been-called-with  :to-have-been-called-with (0.69ms) + :not :to-have-been-called-with  :not :to-have-been-called-with (0.74ms) + :to-have-been-called-times  :to-have-been-called-times (0.68ms) + :not :to-have-been-called-times  :not :to-have-been-called-times (0.73ms) + should not generate backtraces for skipped specs  should not generate backtraces for skipped specs (0.25ms) 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.46ms) - should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (0.84ms) - 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 (1.10ms) - should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (1.17ms) + should print nothing if all specs are quiet  should print nothing if all specs are quiet (0.41ms) + 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.41ms) + should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (1.11ms) + should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (1.13ms) The `buttercup-run' function - should signal an error if no suites are defined  should signal an error if no suites are defined (0.27ms) - should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.18ms) - 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.16ms) - should return t for passing specs  should return t for passing specs (0.25ms) - 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.24ms) + should signal an error if no suites are defined  should signal an error if no suites are defined (0.17ms) + should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.13ms) + should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.16ms) + should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.14ms) + should return t for passing specs  should return t for passing specs (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.23ms) + should call `buttercup--run-suite' once per suite  should call `buttercup--run-suite' once per suite (0.17ms) The `buttercup--print' function - should send a formatted string to the terminal  should send a formatted string to the terminal (0.11ms) + should send a formatted string to the terminal  should send a formatted string to the terminal (0.06ms) The `buttercup-mark-skipped' function - should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (0.94ms) - 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.45ms) - should handle multiple patterns  should handle multiple patterns (0.47ms) - should support predicates  should support predicates (0.52ms) - should support reversed predicates  should support reversed predicates (0.51ms) - should signal an error for invalid matchers  should signal an error for invalid matchers (0.41ms) + should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (0.85ms) + 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.35ms) + should handle multiple patterns  should handle multiple patterns (0.35ms) + should support predicates  should support predicates (0.54ms) + should support reversed predicates  should support reversed predicates (0.47ms) + 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.19ms) + should convert `ert-test-failed' into `buttercup-failed'  should convert `ert-test-failed' into `buttercup-failed' (0.25ms) + should convert `ert-test-skipped' into `buttercup-pending'  should convert `ert-test-skipped' into `buttercup-pending' (0.17ms) `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.22ms) - checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.23ms) - setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (0.31ms) - requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (0.33ms) - collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.32ms) - clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (0.42ms) - 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.40ms) - 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.36ms) - 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.27ms) - search any unknown args for test files  search any unknown args for test files (0.43ms) + ignoring `--'  ignoring `--' (0.14ms) + requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.14ms) + checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.17ms) + setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (0.36ms) + requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (0.48ms) + collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.48ms) + clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (0.56ms) + 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.43ms) + 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.28ms) + 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.21ms) + search any unknown args for test files  search any unknown args for test files (0.31ms) find and load files - named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (3.84ms) - only in given directories  only in given directories (2.99ms) + named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (3.15ms) + only in given directories  only in given directories (2.38ms) butter-minor-mode - should fontify `describe' special form  should fontify `describe' special form (0.59ms) - should fontify `it' special form  should fontify `it' special form (0.46ms) - should add special forms to `imenu'  should add special forms to `imenu' (0.74ms) - should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.10ms) + should fontify `describe' special form  should fontify `describe' special form (0.50ms) + should fontify `it' special form  should fontify `it' special form (0.38ms) + 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.09ms) 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.26ms) - should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.25ms) - should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.20ms) + should do nothing for `el' files  should do nothing for `el' files (0.17ms) + should signal error when `elc' is older than `el'  should signal error when `elc' is older than `el' (0.19ms) + should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.18ms) + should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.15ms) `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.17ms) - should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (0.25ms) + should activate with no argument  should activate with no argument (0.11ms) + should deactivate with almost any argument  should deactivate with almost any argument (0.11ms) + should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (0.17ms) -Ran 283 out of 284 specs, 0 failed, in 59.67ms. +Ran 283 out of 284 specs, 0 failed, in 39.47ms. make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.35' dh_elpa_test create-stamp debian/debhelper-build-stamp @@ -1367,12 +1403,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/1711819/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1711819/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/2450466 and its subdirectories -I: Current time: Tue Jun 10 11:45:24 -12 2025 -I: pbuilder-time-stamp: 1749599124 +I: removing directory /srv/workspace/pbuilder/1711819 and its subdirectories +I: Current time: Thu May 9 07:24:37 +14 2024 +I: pbuilder-time-stamp: 1715189077