Diff of the two buildlogs: -- --- b1/build.log 2024-11-12 01:12:16.366392006 +0000 +++ b2/build.log 2024-11-12 01:13:17.612206235 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Nov 11 13:11:45 -12 2024 -I: pbuilder-time-stamp: 1731373905 +I: Current time: Mon Dec 15 21:35:19 +14 2025 +I: pbuilder-time-stamp: 1765784119 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -26,52 +26,84 @@ dpkg-source: info: unpacking emacs-buttercup_1.36-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/875266/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1679149/tmp/hooks/D01_modify_environment starting +debug: Running on codethink01-arm64. +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 Dec 15 07:35 /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/1679149/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1679149/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='arm64' - 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]="32" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='73d6087623484a49a75518df4926f99b' - 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='875266' - PS1='# ' - PS2='> ' + INVOCATION_ID=841b402d7c6644a498d749a74f7e17e2 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-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=1679149 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.K0MucQCV/pbuilderrc_YKtl --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.K0MucQCV/b1 --logfile b1/build.log emacs-buttercup_1.36-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' - http_proxy='http://192.168.101.4: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.K0MucQCV/pbuilderrc_aB29 --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.K0MucQCV/b2 --logfile b2/build.log emacs-buttercup_1.36-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' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/875266/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1679149/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -202,7 +234,7 @@ Get: 89 http://deb.debian.org/debian unstable/main arm64 libtext-glob-perl all 0.11-3 [7676 B] Get: 90 http://deb.debian.org/debian unstable/main arm64 libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 91 http://deb.debian.org/debian unstable/main arm64 dh-elpa all 2.1.5 [29.7 kB] -Fetched 73.7 MB in 0s (167 MB/s) +Fetched 73.7 MB in 1s (93.3 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package install-info. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20088 files and directories currently installed.) @@ -598,7 +630,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/emacs-buttercup-1.36/ && 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.36-1_source.changes +I: user script /srv/workspace/pbuilder/1679149/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1679149/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/emacs-buttercup-1.36/ && 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.36-1_source.changes dpkg-buildpackage: info: source package emacs-buttercup dpkg-buildpackage: info: source version 1.36-1 dpkg-buildpackage: info: source distribution unstable @@ -642,7 +678,7 @@ Package autoload is deprecated Loading /etc/emacs/site-start.d/00debian.el (source)... Loading /etc/emacs/site-start.d/50autoconf.el (source)... -dh_auto_build just runs make[2]: Entering directory '/build/reproducible-path/emacs-buttercup-1.36' emacs -batch -L . -f batch-byte-compile buttercup-compat.el emacs -batch -L . -f batch-byte-compile buttercup.el ./bin/buttercup -L . tests Running 288 specs. The buttercup--enclosed-expr function should handle expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (2.72ms) a closure with expression copy?  a closure with expression copy? (0.16ms) a lambda with expression copy?  a lambda with expression copy? (0.08ms) byte compiled lambda objects  lambda objects (0.15ms) wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.05ms) should error on a simple closure  on a simple closure (0.13ms) on a closure with stackframe marker but no quoted expression  on a closure with stackframe marker but no quoted expression (0.10ms) for multi-statement closures  for multi-statement closures (0.12ms) for closures with non-empty argument lists  for closures with non-empty argument lists (0.09ms) on simple lambda objects  on simple lambda objects (0.07ms) on a lambda with stackframe marker but no quoted expression  on a lambda with stackframe marker but no quoted expression (0.07ms) for multi-statement lambdas  for multi-statement lambdas (0.09ms) for lambdas with non-empty argument lists  for lambdas with non-empty argument lists (0.08ms) on byte-compiled functions with arguments  on byte-compiled functions with arguments (0.18ms) The buttercup-failed signal can be raised  can be raised (0.09ms) The buttercup-pending signal can be raised  can be raised (0.07ms) 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.42ms) with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (0.22ms) 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.11ms) should raise an error if the function returns false  should raise an error if the function returns false (0.12ms) 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.09ms) should raise an error if the matcher returns false  should raise an error if the matcher returns false (0.09ms) The `buttercup-fail' function should raise a signal with its arguments  should raise a signal with its arguments (0.09ms) The `assume' form should raise a signal if the condition is nil  should raise a signal if the condition is nil (0.10ms) should show the format if no message is given  should show the format if no message is given (0.09ms) should not raise a signal if the condition is non-nil  should not raise a signal if the condition is non-nil (0.07ms) The `buttercup-skip' function should raise a signal with its arguments  should raise a signal with its arguments (0.09ms) The `buttercup-define-matcher' macro should create a matcher usable by apply-matcher  should create a matcher usable by apply-matcher (0.13ms) The `buttercup--apply-matcher' function should work with functions  should work with functions (0.11ms) should work with matchers  should work with matchers (0.09ms) should fail if the matcher is not defined  should fail if the matcher is not defined (0.11ms) The :buttercup-define-matcher-for-unary-function helper should not modify match data  should not modify match data (0.11ms) The :buttercup-define-matcher-for-binary-function helper should not modify match data  should not modify match data (0.13ms) The included matcher :to-be-truthy should match for a truthy expression  should match for a truthy expression (0.11ms) should not match for an untruthy expression  should not match for an untruthy expression (0.11ms) :to-be should match if the args are `eq'  should match if the args are `eq' (0.19ms) should not match if the args are not `eq'  should not match if the args are not `eq' (0.20ms) :to-equal should match if the args are `equal'  should match if the args are `equal' (0.18ms) should not match if the args are not `equal'  should not match if the args are not `equal' (0.20ms) :not should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (0.24ms) :to-have-same-items-as should match equal sets  should match equal sets (0.20ms) should notice missing elements in the second argument  should notice missing elements in the second argument (18.54ms) should notice extra items in the second argument  should notice extra items in the second argument (0.24ms) should notice extra items in both arguments  should notice extra items in both arguments (0.22ms) :to-match should match the first argument against a regex  should match the first argument against a regex (0.14ms) should show regex mismatches  should show regex mismatches (0.13ms) :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.19ms) 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.19ms) :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.18ms) 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.20ms) :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.14ms) 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.13ms) 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.13ms) :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.12ms) 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.12ms) 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.13ms) :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.12ms) 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.12ms) 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.13ms) :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.13ms) 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.13ms) 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.15ms) :to-be-close-to should match when value difference is less than precision  should match when value difference is less than precision (0.30ms) should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.19ms) :to-throw should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (0.13ms) should match the error symbol without args  should match the error symbol without args (0.10ms) should match the with no error signal specified  should match the with no error signal specified (0.10ms) should match a child signal  should match a child signal (0.10ms) should match child signals and equal arguments  should match child signals and equal arguments (0.12ms) should not match with different arguments  should not match with different arguments (0.14ms) should not match an unrelated symbol  should not match an unrelated symbol (0.11ms) should not match a parent signal  should not match a parent signal (0.10ms) should not match when no signal is raised and not mention unspecified signal  and not mention unspecified signal (0.11ms) and mention any specified signal  and mention any specified signal (0.12ms) :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.08ms) should match if the spy has been called once  should match if the spy has been called once (0.08ms) should match if the spy has been called multiple times  should match if the spy has been called multiple times (24.67ms) :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.14ms) 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.15ms) 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.12ms) 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.11ms) :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.11ms) should not match if the spy has been called more times  should not match if the spy has been called more times (0.12ms) 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.12ms) should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.13ms) 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.19ms) 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.16ms) should add the parent to the child  should add the parent to the child (0.10ms) The `buttercup-suite-parents' function should return the list of parents for a suite  should return the list of parents for a suite (0.10ms) The `buttercup-spec-parents' function should return the list of parents for a spec  should return the list of parents for a spec (0.10ms) 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.09ms) 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.22ms) should also count skipped specs  should also count skipped specs (0.19ms) 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) 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.08ms) should return the full name of a suite with parents  should return the full name of a suite with parents (0.07ms) 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.08ms) should return the full name of a spec with parents  should return the full name of a spec with parents (0.08ms) The `buttercup-elapsed-time' function should report elapsed time for suites  should report elapsed time for suites (0.12ms) should report elapsed time for specs  should report elapsed time for specs (0.09ms) The `buttercup--run-suite' function should set start and end time of the suite  should set start and end time of the suite (0.24ms) The `buttercup--run-spec' function should set start and end time of the spec  should set start and end time of the spec (0.32ms) should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.14ms) should set status to pending for assume in `before-each'  for assume in `before-each' (0.21ms) for assume in spec  for assume in spec (0.14ms) for assume in `after-each'  for assume in `after-each' (0.20ms) 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 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) The `buttercup-describe' function should run the enclosing body  should run the enclosing body (0.07ms) should set the `buttercup-suites' variable  should set the `buttercup-suites' variable (0.11ms) should add child suites when called nested  should add child suites when called nested (0.17ms) The `it' macro should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.08ms) without argument should expand to xit.  without argument should expand to xit. (0.08ms) 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.07ms) 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) The `before-each' macro expands to a function call  expands to a function call (0.08ms) 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.08ms) The `after-each' macro expands to a function call  expands to a function call (0.07ms) 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.08ms) The `before-all' macro expands to a function call  expands to a function call (0.07ms) 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.08ms) The `after-all' macro expands to a function call  expands to a function call (0.07ms) 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.08ms) The `xdescribe' macro expands directly to a function call  expands directly to a function call (0.08ms) changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.12ms) should add a pending suite  should add a pending suite (0.09ms) The `xit' macro expands directly to a function call  expands directly to a function call (0.08ms) The `buttercup-xit' function should be a no-op  should be a no-op (0.08ms) should add a function that raises a pending signal  should add a function that raises a pending signal (0.12ms) 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.20ms) The Spy `spy-on' function replaces a symbol's function slot  replaces a symbol's function slot (0.08ms) restores the old value after a spec run  restores the old value after a spec run (0.08ms) allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.14ms) can spy on autoloaded functions  can spy on autoloaded functions (0.89ms) can spy on non-existing functions  can spy on non-existing functions (0.06ms) only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (0.24ms) works on native-compilation primitives  works on native-compilation primitives (0.18ms) will signal en error if used in before-all  used in before-all (0.10ms) used directly in describe  used directly in describe (0.09ms) :to-have-been-called matcher returns false if the spy was not called  returns false if the spy was not called (0.11ms) returns true if the spy was called at all  returns true if the spy was called at all (0.10ms) :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.14ms) returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.15ms) returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.14ms) :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.12ms) returns error if the spy was called more than expected  returns error if the spy was called more than expected (0.12ms) 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.12ms) use plural words in error message  use plural words in error message (0.12ms) use singular expected word in error message  use singular expected word in error message (0.12ms) use singular actual word in error message  use singular actual word in error message (0.11ms) :and-call-through keyword functionality tracks calls to the function  tracks calls to the function (0.04ms) passes the arguments to the original function  passes the arguments to the original function (0.08ms) :and-return-value keyword functionality tracks calls to the function  tracks calls to the function (0.03ms) returns the specified value  returns the specified value (0.08ms) works with strings  works with strings (0.11ms) works with vectors  works with vectors (0.08ms) works with symbols  works with symbols (0.08ms) works with conses  works with conses (0.08ms) works with lists  works with lists (0.08ms) works with alists  works with alists (0.08ms) :and-call-fake keyword functionality tracks calls to the function  tracks calls to the function (0.04ms) returns the specified value  returns the specified value (0.08ms) :and-throw-error keyword functionality throws an error when called  throws an error when called (0.10ms) 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.14ms) counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (0.16ms) 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.23ms) records the signal thrown by a call to the function  records the signal thrown by a call to the function (0.17ms) The batch reporters on the buttercup-started event should print the number of specs  should print the number of specs (0.39ms) should color-print the number of specs with the default color  should color-print the number of specs with the default color (0.18ms) should print the number of skipped specs  should print the number of skipped specs (0.18ms) 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.17ms) on the suite-started event should emit an indented suite description  should emit an indented suite description (0.16ms) should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.16ms) on the spec-started event should emit an indented spec description  should emit an indented spec description (0.15ms) should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.15ms) on the spec-done event for a passed spec should print no status tag  should print no status tag (0.20ms) should color-print the description in green and no status tag  should color-print the description in green and no status tag (0.31ms) should print multiline specs cleanly  should print multiline specs cleanly (0.21ms) should color-print multiline specs cleanly  should color-print multiline specs cleanly (0.30ms) for a failed spec should say FAILED  should say FAILED (0.23ms) should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (0.32ms) for a pending spec should output the failure-description  should output the failure-description (0.23ms) should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (0.31ms) should throw an error for an unknown spec status for plain output  for plain output (0.11ms) for colored output  for colored output (0.12ms) 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.16ms) 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.15ms) should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.12ms) should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.12ms) on the buttercup-done event should print a summary of run and failing specs  should print a summary of run and failing specs (0.21ms) should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (0.31ms) should color-print `X failed' specs in red  should color-print `X failed' specs in red (0.29ms) should print a summary separating run and pending specs  should print a summary separating run and pending specs (0.20ms) should color-print pending spec count in default color  should color-print pending spec count in default color (0.28ms) should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.18ms) on an unknown event should raise an error  should raise an error (0.08ms) Backtraces should not be collected or printed for failed specs  failed specs (0.78ms) passed specs  passed specs (0.39ms) skipped specs  skipped specs (0.31ms) should be collected for errors in matchers  matchers (0.54ms) with style `crop' should print truncated lines  `crop' should print truncated lines (2.81ms) `full' should print full lines  `full' should print full lines (0.89ms) `pretty' should pretty-print frames  `pretty' should pretty-print frames (1.35ms) `omit' should print nothing  `omit' should print nothing (0.29ms) should signal an error for unknown styles  should signal an error for unknown styles (0.13ms) should generate correct backtrace for no matcher  no matcher (0.54ms) :to-be-truthy  :to-be-truthy (0.50ms) :not :to-be-truthy  :not :to-be-truthy (0.52ms) :to-be  :to-be (0.55ms) :not :to-be  :not :to-be (0.55ms) :to-equal  :to-equal (0.52ms) :not :to-equal  :not :to-equal (0.54ms) :to-have-same-items-as  :to-have-same-items-as (0.52ms) :not :to-have-same-items-as  :not :to-have-same-items-as (0.56ms) :to-match  :to-match (0.52ms) :not :to-match  :not :to-match (0.56ms) :to-be-in  :to-be-in (0.53ms) :not :to-be-in  :not :to-be-in (0.52ms) :to-contain  :to-contain (0.52ms) :not :to-contain  :not :to-contain (0.53ms) :to-be-less-than  :to-be-less-than (0.52ms) :not :to-be-less-than  :not :to-be-less-than (0.54ms) :to-be-greater-than  :to-be-greater-than (0.53ms) :not :to-be-greater-than  :not :to-be-greater-than (0.55ms) :to-be-weakly-less-than  :to-be-weakly-less-than (0.52ms) :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (0.54ms) :to-be-weakly-greater-than  :to-be-weakly-greater-than (0.52ms) :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (0.56ms) :to-be-close-to  :to-be-close-to (0.54ms) :not :to-be-close-to  :not :to-be-close-to (0.56ms) :to-have-been-called  :to-have-been-called (0.52ms) :not :to-have-been-called  :not :to-have-been-called (0.51ms) :to-have-been-called-with  :to-have-been-called-with (0.51ms) :not :to-have-been-called-with  :not :to-have-been-called-with (0.53ms) :to-have-been-called-times  :to-have-been-called-times (0.53ms) :not :to-have-been-called-times  :not :to-have-been-called-times (0.54ms) function matcher  function matcher (0.50ms) :not function matcher  :not function matcher (0.55ms) 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.31ms) should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (0.54ms) should quiet all of the given spec statuses  should quiet all of the given spec statuses (0.30ms) should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (0.78ms) should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (0.91ms) The `buttercup-run' function should signal an error if no suites are defined  should signal an error if no suites are defined (0.13ms) should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.11ms) should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.14ms) should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.12ms) should return t for passing specs  should return t for passing specs (0.14ms) should call the reporter twice with events buttercup-started and -done  should call the reporter twice with events buttercup-started and -done (0.19ms) should call `buttercup--run-suite' once per suite  should call `buttercup--run-suite' once per suite (0.16ms) The `buttercup--print' function should send a formatted string to the terminal  should send a formatted string to the terminal (0.05ms) The `buttercup-mark-skipped' function should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (0.60ms) 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.27ms) should handle multiple patterns  should handle multiple patterns (0.27ms) should support predicates  should support predicates (0.30ms) should support reversed predicates  should support reversed predicates (0.28ms) should signal an error for invalid matchers  should signal an error for invalid matchers (0.25ms) Buttercup's ERT compatibility wrapper should convert `ert-test-failed' into `buttercup-failed'  should convert `ert-test-failed' into `buttercup-failed' (0.18ms) should convert `ert-test-skipped' into `buttercup-pending'  should convert `ert-test-skipped' into `buttercup-pending' (0.09ms) `buttercup-run-discover' should parse command line arguments ignoring `--'  ignoring `--' (0.10ms) requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.10ms) checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.12ms) setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (0.16ms) requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (19.47ms) collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.50ms) clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (0.25ms) 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.20ms) 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.20ms) 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.12ms) search any unknown args for test files  search any unknown args for test files (0.24ms) find and load files named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (1.90ms) only in given directories  only in given directories (1.47ms) butter-minor-mode should fontify `describe' special form  should fontify `describe' special form (0.42ms) should fontify `it' special form  should fontify `it' special form (0.27ms) should add special forms to `imenu'  should add special forms to `imenu' (0.47ms) should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.07ms) For stale `elc' file checks `buttercup-check-for-stale-elc' should do nothing for `el' files  should do nothing for `el' files (0.14ms) should signal error when `elc' is older than `el'  should signal error when `elc' is older than `el' (0.14ms) should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.13ms) should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.09ms) `buttercup-error-on-stale-elc' should activate with no argument  should activate with no argument (0.08ms) should deactivate with almost any argument  should deactivate with almost any argument (0.08ms) should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (0.12ms) Ran 287 out of 288 specs, 0 failed, in 32.04ms. emacs -batch -L . -l buttercup.el -f buttercup-run-markdown docs/writing-tests.md Running 60 out of 63 specs. A suite contains a spec with an expectation  contains a spec with an expectation (6.58ms) A suite is just a function and so is a spec  and so is a spec (0.20ms) The :to-be matcher compares with `eq' and has a positive case  and has a positive case (0.11ms) and can have a negative case  and can have a negative case (0.13ms) Included matchers: The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.17ms) The :to-equal matcher works for simple literals and variables  works for simple literals and variables (0.11ms) should work for compound objects  should work for compound objects (0.11ms) 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.49ms) The :to-match matcher is for regular expressions  The :to-match matcher is for regular expressions (0.31ms) The :to-be-truthy matcher is for boolean casting testing  The :to-be-truthy matcher is for boolean casting testing (0.17ms) 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.17ms) The :to-be-less-than matcher is for mathematical comparisons  The :to-be-less-than matcher is for mathematical comparisons (0.18ms) The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (0.18ms) The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (0.19ms) The :to-throw matcher is for testing if an expression throws an exception  is for testing if an expression throws an exception (0.27ms) accepts a symbol to check for the signal thrown  accepts a symbol to check for the signal thrown (0.27ms) optionally matches arguments to signals  optionally matches arguments to signals (0.29ms) matches inherited signals  matches inherited signals (0.64ms) ERT support allows you to use ERT macros in tests  allows you to use ERT macros in tests (0.08ms) A spec is just a function, so it can contain any code  is just a function, so it can contain any code (0.13ms) can have more than one expectation  can have more than one expectation (0.16ms) A spec using :VAR has access to the variables bound in :VAR  has access to the variables bound in :VAR (0.10ms) 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.12ms) 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.10ms) can have more than one expectation  can have more than one expectation (0.16ms) 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.10ms) does not reset foo between specs  does not reset foo between specs (0.09ms) A spec is just a function, so it can contain any code  is just a function, so it can contain any code (0.11ms) can have more than one expectation  can have more than one expectation (0.16ms) nested inside a second describe can reference both scopes as needed  can reference both scopes as needed (0.11ms) A spec is just a function, so it can contain any code  is just a function, so it can contain any code PENDING (0.07ms) Pending specs can be declared using `xit'  can be declared using `xit' PENDING (0.04ms) can be declared with `it' but without a body  can be declared with `it' but without a body PENDING (0.04ms) Conditionally skip specs with the `assume' macro  with the `assume' macro !! CANCELLED !! `new-function' not availeble (0.05ms) A spy tracks that the spy was called  tracks that the spy was called (0.16ms) resets tracking after each spec  resets tracking after each spec (0.18ms) that is defined in a nested `describe' will override any outer spy  will override any outer spy (0.34ms) will not be active outside it's scope  will not be active outside it's scope (0.17ms) tracks all arguments of its calls  tracks all arguments of its calls (0.16ms) stops all execution on a function  stops all execution on a function (0.16ms) A spy tracks that the spy was called twice  tracks that the spy was called twice (0.13ms) A spy, when configured to call through tracks that the spy was called  tracks that the spy was called (0.11ms) 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.18ms) A spy, when configured to fake a return value tracks that the spy was called  tracks that the spy was called (0.11ms) should not affect other functions  should not affect other functions (0.15ms) when called returns the requested value  when called returns the requested value (0.16ms) A spy, when configured with an alternate implementation 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.17ms) when called returns the requested value  when called returns the requested value (0.16ms) A spy, when configured to throw an error throws the error  throws the error (0.22ms) A spy tracks if it was called at all  tracks if it was called at all (0.22ms) tracks the number of times it was called  tracks the number of times it was called (0.21ms) tracks the arguments of each call  tracks the arguments of each call (0.22ms) tracks the arguments of all calls  tracks the arguments of all calls (0.16ms) can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.19ms) has a shortcut to the most recent call  has a shortcut to the most recent call (0.17ms) has a shortcut to the first call  has a shortcut to the first call (0.16ms) tracks the return values and error signals of each call  tracks the return values and error signals of each call (0.81ms) counts the number of successful and failed calls  counts the number of successful and failed calls (0.94ms) can be reset  can be reset (0.25ms) A test can issue warnings while running  can issue warnings while running (0.15ms) 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.23ms) Ran 59 out of 63 specs, 0 failed, in 21.12ms. make[2]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.36', so suppress it. +dh_auto_build just runs make[2]: Entering directory '/build/reproducible-path/emacs-buttercup-1.36' emacs -batch -L . -f batch-byte-compile buttercup-compat.el emacs -batch -L . -f batch-byte-compile buttercup.el ./bin/buttercup -L . tests Running 288 specs. The buttercup--enclosed-expr function should handle expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (2.73ms) a closure with expression copy?  a closure with expression copy? (0.15ms) a lambda with expression copy?  a lambda with expression copy? (0.07ms) byte compiled lambda objects  lambda objects (0.14ms) wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.04ms) should error on a simple closure  on a simple closure (0.13ms) on a closure with stackframe marker but no quoted expression  on a closure with stackframe marker but no quoted expression (0.09ms) for multi-statement closures  for multi-statement closures (0.10ms) for closures with non-empty argument lists  for closures with non-empty argument lists (0.08ms) on simple lambda objects  on simple lambda objects (0.07ms) on a lambda with stackframe marker but no quoted expression  on a lambda with stackframe marker but no quoted expression (0.08ms) 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.08ms) on byte-compiled functions with arguments  on byte-compiled functions with arguments (0.17ms) The buttercup-failed signal can be raised  can be raised (0.08ms) The buttercup-pending signal can be raised  can be raised (0.07ms) 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.42ms) with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (0.22ms) 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.11ms) should raise an error if the function returns false  should raise an error if the function returns false (0.12ms) 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.09ms) should raise an error if the matcher returns false  should raise an error if the matcher returns false (0.10ms) The `buttercup-fail' function should raise a signal with its arguments  should raise a signal with its arguments (0.09ms) The `assume' form should raise a signal if the condition is nil  should raise a signal if the condition is nil (0.09ms) should show the format if no message is given  should show the format if no message is given (0.08ms) should not raise a signal if the condition is non-nil  should not raise a signal if the condition is non-nil (0.07ms) The `buttercup-skip' function should raise a signal with its arguments  should raise a signal with its arguments (0.10ms) The `buttercup-define-matcher' macro should create a matcher usable by apply-matcher  should create a matcher usable by apply-matcher (0.10ms) The `buttercup--apply-matcher' function should work with functions  should work with functions (0.10ms) should work with matchers  should work with matchers (0.09ms) should fail if the matcher is not defined  should fail if the matcher is not defined (0.10ms) The :buttercup-define-matcher-for-unary-function helper should not modify match data  should not modify match data (0.11ms) The :buttercup-define-matcher-for-binary-function helper should not modify match data  should not modify match data (0.13ms) The included matcher :to-be-truthy should match for a truthy expression  should match for a truthy expression (0.11ms) should not match for an untruthy expression  should not match for an untruthy expression (0.11ms) :to-be should match if the args are `eq'  should match if the args are `eq' (0.19ms) should not match if the args are not `eq'  should not match if the args are not `eq' (0.21ms) :to-equal should match if the args are `equal'  should match if the args are `equal' (0.18ms) should not match if the args are not `equal'  should not match if the args are not `equal' (0.19ms) :not should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (0.26ms) :to-have-same-items-as should match equal sets  should match equal sets (0.22ms) should notice missing elements in the second argument  should notice missing elements in the second argument (18.44ms) should notice extra items in the second argument  should notice extra items in the second argument (0.23ms) should notice extra items in both arguments  should notice extra items in both arguments (0.24ms) :to-match should match the first argument against a regex  should match the first argument against a regex (0.14ms) should show regex mismatches  should show regex mismatches (0.13ms) :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.18ms) 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.19ms) :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.17ms) 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.18ms) :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.13ms) 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.13ms) 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.12ms) :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.12ms) 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.12ms) 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.12ms) :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.12ms) 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.12ms) 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.13ms) :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.12ms) 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.12ms) 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.13ms) :to-be-close-to should match when value difference is less than precision  should match when value difference is less than precision (0.30ms) should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.19ms) :to-throw should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (0.13ms) should match the error symbol without args  should match the error symbol without args (0.11ms) should match the with no error signal specified  should match the with no error signal specified (0.10ms) should match a child signal  should match a child signal (0.10ms) 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.12ms) should not match a parent signal  should not match a parent signal (0.10ms) should not match when no signal is raised and not mention unspecified signal  and not mention unspecified signal (0.11ms) and mention any specified signal  and mention any specified signal (0.12ms) :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.08ms) should match if the spy has been called once  should match if the spy has been called once (0.08ms) should match if the spy has been called multiple times  should match if the spy has been called multiple times (25.09ms) :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.13ms) 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.14ms) 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.12ms) 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.11ms) :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.11ms) should not match if the spy has been called more times  should not match if the spy has been called more times (0.12ms) 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.11ms) should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.11ms) 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.17ms) 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.14ms) should add the parent to the child  should add the parent to the child (0.09ms) The `buttercup-suite-parents' function should return the list of parents for a suite  should return the list of parents for a suite (0.10ms) The `buttercup-spec-parents' function should return the list of parents for a spec  should return the list of parents for a spec (0.10ms) 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.08ms) 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.24ms) should also count skipped specs  should also count skipped specs (0.20ms) 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) 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.08ms) should return the full name of a suite with parents  should return the full name of a suite with parents (0.08ms) 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.08ms) should return the full name of a spec with parents  should return the full name of a spec with parents (0.08ms) The `buttercup-elapsed-time' function should report elapsed time for suites  should report elapsed time for suites (0.12ms) should report elapsed time for specs  should report elapsed time for specs (0.09ms) The `buttercup--run-suite' function should set start and end time of the suite  should set start and end time of the suite (0.28ms) The `buttercup--run-spec' function should set start and end time of the spec  should set start and end time of the spec (0.30ms) should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.14ms) should set status to pending for assume in `before-each'  for assume in `before-each' (0.21ms) for assume in spec  for assume in spec (0.14ms) for assume in `after-each'  for assume in `after-each' (0.20ms) 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 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) 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.16ms) The `it' macro should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.08ms) without argument should expand to xit.  without argument should expand to xit. (0.07ms) 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.07ms) 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.21ms) The `before-each' macro expands to a function call  expands to a function call (0.08ms) 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.10ms) The `after-each' macro expands to a function call  expands to a function call (0.08ms) 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.09ms) The `before-all' macro expands to a function call  expands to a function call (0.07ms) 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.08ms) The `after-all' macro expands to a function call  expands to a function call (0.07ms) 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.08ms) The `xdescribe' macro expands directly to a function call  expands directly to a function call (0.08ms) changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.12ms) should add a pending suite  should add a pending suite (0.09ms) The `xit' macro expands directly to a function call  expands directly to a function call (0.07ms) The `buttercup-xit' function should be a no-op  should be a no-op (0.08ms) should add a function that raises a pending signal  should add a function that raises a pending signal (0.14ms) 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.15ms) The Spy `spy-on' function replaces a symbol's function slot  replaces a symbol's function slot (0.08ms) restores the old value after a spec run  restores the old value after a spec run (0.07ms) allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.14ms) can spy on autoloaded functions  can spy on autoloaded functions (0.90ms) can spy on non-existing functions  can spy on non-existing functions (0.05ms) only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (0.21ms) works on native-compilation primitives  works on native-compilation primitives (0.18ms) will signal en error if used in before-all  used in before-all (0.11ms) used directly in describe  used directly in describe (0.10ms) :to-have-been-called matcher returns false if the spy was not called  returns false if the spy was not called (0.11ms) returns true if the spy was called at all  returns true if the spy was called at all (0.10ms) :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.15ms) returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.16ms) returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.14ms) :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.12ms) returns error if the spy was called more than expected  returns error if the spy was called more than expected (0.12ms) 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.12ms) use plural words in error message  use plural words in error message (0.11ms) use singular expected word in error message  use singular expected word in error message (0.12ms) use singular actual word in error message  use singular actual word in error message (0.12ms) :and-call-through keyword functionality tracks calls to the function  tracks calls to the function (0.04ms) passes the arguments to the original function  passes the arguments to the original function (0.10ms) :and-return-value keyword functionality tracks calls to the function  tracks calls to the function (0.04ms) returns the specified value  returns the specified value (0.08ms) works with strings  works with strings (0.08ms) works with vectors  works with vectors (0.08ms) works with symbols  works with symbols (0.08ms) works with conses  works with conses (0.08ms) works with lists  works with lists (0.08ms) works with alists  works with alists (0.08ms) :and-call-fake keyword functionality tracks calls to the function  tracks calls to the function (0.04ms) returns the specified value  returns the specified value (0.08ms) :and-throw-error keyword functionality throws an error when called  throws an error when called (0.10ms) 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.14ms) counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (0.16ms) 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.22ms) records the signal thrown by a call to the function  records the signal thrown by a call to the function (0.18ms) The batch reporters on the buttercup-started event should print the number of specs  should print the number of specs (0.37ms) should color-print the number of specs with the default color  should color-print the number of specs with the default color (0.19ms) should print the number of skipped specs  should print the number of skipped specs (0.18ms) 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.18ms) on the suite-started event should emit an indented suite description  should emit an indented suite description (0.17ms) should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.16ms) on the spec-started event should emit an indented spec description  should emit an indented spec description (0.15ms) should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.16ms) on the spec-done event for a passed spec should print no status tag  should print no status tag (0.20ms) should color-print the description in green and no status tag  should color-print the description in green and no status tag (0.31ms) should print multiline specs cleanly  should print multiline specs cleanly (0.24ms) should color-print multiline specs cleanly  should color-print multiline specs cleanly (0.27ms) for a failed spec should say FAILED  should say FAILED (0.23ms) should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (0.31ms) for a pending spec should output the failure-description  should output the failure-description (0.24ms) should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (0.32ms) should throw an error for an unknown spec status for plain output  for plain output (0.11ms) for colored output  for colored output (0.10ms) 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.16ms) 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.15ms) should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.12ms) should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.11ms) on the buttercup-done event should print a summary of run and failing specs  should print a summary of run and failing specs (0.21ms) should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (0.34ms) should color-print `X failed' specs in red  should color-print `X failed' specs in red (0.31ms) should print a summary separating run and pending specs  should print a summary separating run and pending specs (0.21ms) should color-print pending spec count in default color  should color-print pending spec count in default color (0.29ms) should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.21ms) on an unknown event should raise an error  should raise an error (0.09ms) Backtraces should not be collected or printed for failed specs  failed specs (0.75ms) passed specs  passed specs (0.40ms) skipped specs  skipped specs (0.31ms) should be collected for errors in matchers  matchers (0.50ms) with style `crop' should print truncated lines  `crop' should print truncated lines (2.81ms) `full' should print full lines  `full' should print full lines (0.86ms) `pretty' should pretty-print frames  `pretty' should pretty-print frames (1.47ms) `omit' should print nothing  `omit' should print nothing (0.30ms) should signal an error for unknown styles  should signal an error for unknown styles (0.14ms) should generate correct backtrace for no matcher  no matcher (0.54ms) :to-be-truthy  :to-be-truthy (0.51ms) :not :to-be-truthy  :not :to-be-truthy (0.52ms) :to-be  :to-be (0.52ms) :not :to-be  :not :to-be (0.53ms) :to-equal  :to-equal (0.54ms) :not :to-equal  :not :to-equal (0.54ms) :to-have-same-items-as  :to-have-same-items-as (0.55ms) :not :to-have-same-items-as  :not :to-have-same-items-as (0.55ms) :to-match  :to-match (0.52ms) :not :to-match  :not :to-match (0.53ms) :to-be-in  :to-be-in (0.52ms) :not :to-be-in  :not :to-be-in (0.56ms) :to-contain  :to-contain (0.54ms) :not :to-contain  :not :to-contain (0.68ms) :to-be-less-than  :to-be-less-than (0.52ms) :not :to-be-less-than  :not :to-be-less-than (0.53ms) :to-be-greater-than  :to-be-greater-than (0.51ms) :not :to-be-greater-than  :not :to-be-greater-than (0.52ms) :to-be-weakly-less-than  :to-be-weakly-less-than (0.55ms) :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (0.54ms) :to-be-weakly-greater-than  :to-be-weakly-greater-than (0.54ms) :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (0.54ms) :to-be-close-to  :to-be-close-to (0.54ms) :not :to-be-close-to  :not :to-be-close-to (0.56ms) :to-have-been-called  :to-have-been-called (0.50ms) :not :to-have-been-called  :not :to-have-been-called (0.53ms) :to-have-been-called-with  :to-have-been-called-with (0.53ms) :not :to-have-been-called-with  :not :to-have-been-called-with (0.55ms) :to-have-been-called-times  :to-have-been-called-times (0.51ms) :not :to-have-been-called-times  :not :to-have-been-called-times (0.54ms) function matcher  function matcher (0.51ms) :not function matcher  :not function matcher (0.53ms) 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.31ms) should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (0.56ms) should quiet all of the given spec statuses  should quiet all of the given spec statuses (0.30ms) should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (0.79ms) should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (0.78ms) The `buttercup-run' function should signal an error if no suites are defined  should signal an error if no suites are defined (0.13ms) should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.10ms) should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.12ms) should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.10ms) should return t for passing specs  should return t for passing specs (0.12ms) should call the reporter twice with events buttercup-started and -done  should call the reporter twice with events buttercup-started and -done (0.18ms) should call `buttercup--run-suite' once per suite  should call `buttercup--run-suite' once per suite (0.13ms) The `buttercup--print' function should send a formatted string to the terminal  should send a formatted string to the terminal (0.05ms) The `buttercup-mark-skipped' function should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (0.60ms) 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.29ms) should handle multiple patterns  should handle multiple patterns (0.27ms) should support predicates  should support predicates (0.30ms) should support reversed predicates  should support reversed predicates (0.28ms) should signal an error for invalid matchers  should signal an error for invalid matchers (0.29ms) Buttercup's ERT compatibility wrapper should convert `ert-test-failed' into `buttercup-failed'  should convert `ert-test-failed' into `buttercup-failed' (0.17ms) should convert `ert-test-skipped' into `buttercup-pending'  should convert `ert-test-skipped' into `buttercup-pending' (0.09ms) `buttercup-run-discover' should parse command line arguments ignoring `--'  ignoring `--' (0.10ms) requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.10ms) checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.12ms) setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (0.16ms) requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (19.91ms) collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.25ms) clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (0.23ms) 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.20ms) 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.19ms) 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.12ms) search any unknown args for test files  search any unknown args for test files (0.23ms) find and load files named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (1.97ms) only in given directories  only in given directories (1.43ms) butter-minor-mode should fontify `describe' special form  should fontify `describe' special form (0.40ms) should fontify `it' special form  should fontify `it' special form (0.26ms) should add special forms to `imenu'  should add special forms to `imenu' (0.48ms) should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.06ms) For stale `elc' file checks `buttercup-check-for-stale-elc' should do nothing for `el' files  should do nothing for `el' files (0.14ms) should signal error when `elc' is older than `el'  should signal error when `elc' is older than `el' (0.14ms) should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.12ms) should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.09ms) `buttercup-error-on-stale-elc' should activate with no argument  should activate with no argument (0.08ms) should deactivate with almost any argument  should deactivate with almost any argument (0.08ms) should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (0.12ms) Ran 287 out of 288 specs, 0 failed, in 32.02ms. emacs -batch -L . -l buttercup.el -f buttercup-run-markdown docs/writing-tests.md Running 60 out of 63 specs. A suite contains a spec with an expectation  contains a spec with an expectation (6.70ms) A suite is just a function 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.13ms) and can have a negative case  and can have a negative case (0.13ms) Included matchers: The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.17ms) The :to-equal matcher works for simple literals and variables  works for simple literals and variables (0.11ms) should work for compound objects  should work for compound objects (0.11ms) 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.49ms) The :to-match matcher is for regular expressions  The :to-match matcher is for regular expressions (0.31ms) The :to-be-truthy matcher is for boolean casting testing  The :to-be-truthy matcher is for boolean casting testing (0.14ms) 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.18ms) The :to-be-less-than matcher is for mathematical comparisons  The :to-be-less-than matcher is for mathematical comparisons (0.19ms) The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (0.19ms) The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (0.19ms) The :to-throw matcher is for testing if an expression throws an exception  is for testing if an expression throws an exception (0.25ms) accepts a symbol to check for the signal thrown  accepts a symbol to check for the signal thrown (0.28ms) optionally matches arguments to signals  optionally matches arguments to signals (0.29ms) matches inherited signals  matches inherited signals (0.66ms) ERT support allows you to use ERT macros in tests  allows you to use ERT macros in tests (0.08ms) A spec is just a function, so it can contain any code  is just a function, so it can contain any code (0.12ms) can have more than one expectation  can have more than one expectation (0.16ms) A spec using :VAR has access to the variables bound in :VAR  has access to the variables bound in :VAR (0.10ms) 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.12ms) 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.11ms) can have more than one expectation  can have more than one expectation (0.16ms) 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.11ms) does not reset foo between specs  does not reset foo between specs (0.09ms) A spec is just a function, so it can contain any code  is just a function, so it can contain any code (0.11ms) can have more than one expectation  can have more than one expectation (0.16ms) nested inside a second describe can reference both scopes as needed  can reference both scopes as needed (0.11ms) A spec is just a function, so it can contain any code  is just a function, so it can contain any code PENDING (0.07ms) Pending specs can be declared using `xit'  can be declared using `xit' PENDING (0.04ms) can be declared with `it' but without a body  can be declared with `it' but without a body PENDING (0.04ms) Conditionally skip specs with the `assume' macro  with the `assume' macro !! CANCELLED !! `new-function' not availeble (0.05ms) A spy tracks that the spy was called  tracks that the spy was called (0.16ms) resets tracking after each spec  resets tracking after each spec (0.16ms) that is defined in a nested `describe' will override any outer spy  will override any outer spy (0.28ms) will not be active outside it's scope  will not be active outside it's scope (0.17ms) 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) A spy tracks that the spy was called twice  tracks that the spy was called twice (0.13ms) A spy, when configured to call through tracks that the spy was called  tracks that the spy was called (0.11ms) 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.19ms) A spy, when configured to fake a return value tracks that the spy was called  tracks that the spy was called (0.11ms) should not affect other functions  should not affect other functions (0.15ms) when called returns the requested value  when called returns the requested value (0.16ms) A spy, when configured with an alternate implementation 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.16ms) A spy, when configured to throw an error throws the error  throws the error (0.25ms) A spy tracks if it was called at all  tracks if it was called at all (0.23ms) tracks the number of times it was called  tracks the number of times it was called (0.23ms) tracks the arguments of each call  tracks the arguments of each call (0.22ms) tracks the arguments of all calls  tracks the arguments of all calls (0.16ms) can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.17ms) has a shortcut to the most recent call  has a shortcut to the most recent call (0.17ms) has a shortcut to the first call  has a shortcut to the first call (0.17ms) tracks the return values and error signals of each call  tracks the return values and error signals of each call (0.80ms) counts the number of successful and failed calls  counts the number of successful and failed calls (0.97ms) can be reset  can be reset (0.24ms) A test can issue warnings while running  can issue warnings while running (0.41ms) 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.26ms) Ran 59 out of 63 specs, 0 failed, in 21.60ms. make[2]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.36', so suppress it. make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.36' dh_auto_test make -j12 test @@ -650,66 +686,66 @@ ./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/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)... Package autoload is deprecated Running 60 out of 63 specs. A suite - contains a spec with an expectation  contains a spec with an expectation (6.65ms) + contains a spec with an expectation  contains a spec with an expectation (6.52ms) A suite is just a function - and so is a spec  and so is a spec (0.19ms) + 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.11ms) - and can have a negative case  and can have a negative case (0.12ms) + and has a positive case  and has a positive case (0.12ms) + and can have a negative case  and can have a negative case (0.13ms) Included matchers: - The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.17ms) + The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.19ms) The :to-equal matcher works for simple literals and variables  works for simple literals and variables (0.11ms) should work for compound objects  should work for compound objects (0.11ms) - 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.48ms) - 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.13ms) + 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.49ms) + The :to-match matcher is for regular expressions  The :to-match matcher is for regular expressions (0.31ms) + The :to-be-truthy matcher is for boolean casting testing  The :to-be-truthy matcher is for boolean casting testing (0.14ms) 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.18ms) - The :to-be-less-than matcher is for mathematical comparisons  The :to-be-less-than matcher is for mathematical comparisons (0.19ms) - The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (0.17ms) - The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (0.18ms) + The :to-be-less-than matcher is for mathematical comparisons  The :to-be-less-than matcher is for mathematical comparisons (0.18ms) + The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (0.18ms) + The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (0.19ms) The :to-throw matcher - is for testing if an expression throws an exception  is for testing if an expression throws an exception (0.26ms) + is for testing if an expression throws an exception  is for testing if an expression throws an exception (0.28ms) accepts a symbol to check for the signal thrown  accepts a symbol to check for the signal thrown (0.28ms) optionally matches arguments to signals  optionally matches arguments to signals (0.30ms) - matches inherited signals  matches inherited signals (0.63ms) + matches inherited signals  matches inherited signals (0.65ms) ERT support - allows you to use ERT macros in tests  allows you to use ERT macros in tests (0.08ms) + allows you to use ERT macros in tests  allows you to use ERT macros in tests (0.09ms) A spec is just a function, so it can contain any code  is just a function, so it can contain any code (0.13ms) can have more than one expectation  can have more than one expectation (0.17ms) A spec using :VAR - has access to the variables bound in :VAR  has access to the variables bound in :VAR (0.10ms) + has access to the variables bound in :VAR  has access to the variables bound in :VAR (0.11ms) 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.11ms) + 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.13ms) 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.10ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (0.12ms) can have more than one expectation  can have more than one expectation (0.16ms) 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.10ms) - does not reset foo between specs  does not reset foo between specs (0.09ms) + sets the initial value of foo before specs run  sets the initial value of foo before specs run (0.11ms) + does not reset foo between specs  does not reset foo between specs (0.10ms) A spec - is just a function, so it can contain any code  is just a function, so it can contain any code (0.14ms) - can have more than one expectation  can have more than one expectation (0.17ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (0.12ms) + can have more than one expectation  can have more than one expectation (0.16ms) nested inside a second describe - can reference both scopes as needed  can reference both scopes as needed (0.10ms) + can reference both scopes as needed  can reference both scopes as needed (0.11ms) A spec is just a function, so it can contain any code  is just a function, so it can contain any code PENDING (0.06ms) @@ -723,24 +759,24 @@ A spy tracks that the spy was called  tracks that the spy was called (0.16ms) - resets tracking after each spec  resets tracking after each spec (0.17ms) + resets tracking after each spec  resets tracking after each spec (0.18ms) that is defined in a nested `describe' - will override any outer spy  will override any outer spy (0.27ms) - will not be active outside it's scope  will not be active outside it's scope (0.17ms) - tracks all arguments of its calls  tracks all arguments of its calls (0.18ms) + will override any outer spy  will override any outer spy (0.29ms) + will not be active outside it's scope  will not be active outside it's scope (0.18ms) + tracks all arguments of its calls  tracks all arguments of its calls (0.16ms) stops all execution on a function  stops all execution on a function (0.16ms) A spy tracks that the spy was called twice  tracks that the spy was called twice (0.13ms) 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.18ms) - when called returns the requested value  when called returns the requested value (0.16ms) + tracks that the spy was called  tracks that the spy was called (0.13ms) + 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) A spy, when configured to fake a return value tracks that the spy was called  tracks that the spy was called (0.10ms) - should not affect other functions  should not affect other functions (0.14ms) + should not affect other functions  should not affect other functions (0.15ms) when called returns the requested value  when called returns the requested value (0.16ms) A spy, when configured with an alternate implementation @@ -749,35 +785,35 @@ when called returns the requested value  when called returns the requested value (0.16ms) A spy, when configured to throw an error - throws the error  throws the error (0.27ms) + throws the error  throws the error (0.22ms) A spy - tracks if it was called at all  tracks if it was called at all (0.25ms) - tracks the number of times it was called  tracks the number of times it was called (0.22ms) + tracks if it was called at all  tracks if it was called at all (0.22ms) + tracks the number of times it was called  tracks the number of times it was called (0.21ms) tracks the arguments of each call  tracks the arguments of each call (0.22ms) - tracks the arguments of all calls  tracks the arguments of all calls (0.17ms) + tracks the arguments of all calls  tracks the arguments of all calls (0.16ms) can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.17ms) - has a shortcut to the most recent call  has a shortcut to the most recent call (0.17ms) + has a shortcut to the most recent call  has a shortcut to the most recent call (0.18ms) has a shortcut to the first call  has a shortcut to the first call (0.18ms) - tracks the return values and error signals of each call  tracks the return values and error signals of each call (0.81ms) - counts the number of successful and failed calls  counts the number of successful and failed calls (0.95ms) - can be reset  can be reset (0.24ms) + tracks the return values and error signals of each call  tracks the return values and error signals of each call (0.80ms) + counts the number of successful and failed calls  counts the number of successful and failed calls (0.96ms) + can be reset  can be reset (0.26ms) A test - can issue warnings while running  can issue warnings while running (0.15ms) + can issue warnings while running  can issue warnings while running (0.16ms) 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.23ms) + can capture its own warnings as part of the test  can capture its own warnings as part of the test (0.24ms) -Ran 59 out of 63 specs, 0 failed, in 21.03ms. +Ran 59 out of 63 specs, 0 failed, in 21.12ms. Running 288 specs. The buttercup--enclosed-expr function should handle - expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (2.77ms) - a closure with expression copy?  a closure with expression copy? (0.16ms) - a lambda with expression copy?  a lambda with expression copy? (0.08ms) + expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (2.78ms) + a closure with expression copy?  a closure with expression copy? (0.15ms) + a lambda with expression copy?  a lambda with expression copy? (0.07ms) byte compiled - lambda objects  lambda objects (0.15ms) + lambda objects  lambda objects (0.14ms) wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.04ms) should error on a simple closure  on a simple closure (0.12ms) @@ -786,7 +822,7 @@ for closures with non-empty argument lists  for closures with non-empty argument lists (0.08ms) on simple lambda objects  on simple lambda objects (0.06ms) on a lambda with stackframe marker but no quoted expression  on a lambda with stackframe marker but no quoted expression (0.07ms) - for multi-statement lambdas  for multi-statement lambdas (0.08ms) + 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.07ms) on byte-compiled functions with arguments  on byte-compiled functions with arguments (0.17ms) @@ -794,22 +830,22 @@ can be raised  can be raised (0.09ms) The buttercup-pending signal - can be raised  can be raised (0.09ms) + can be raised  can be raised (0.07ms) 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.41ms) - with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (0.23ms) + with a matcher should translate to the function call with closures  with a matcher should translate to the function call with closures (0.38ms) + with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (0.22ms) 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.11ms) - should raise an error if the function returns false  should raise an error if the function returns false (0.12ms) + should raise an error if the function returns false  should raise an error if the function returns false (0.15ms) 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.11ms) should raise an error if the matcher returns false  should raise an error if the matcher returns false (0.09ms) The `buttercup-fail' function - should raise a signal with its arguments  should raise a signal with its arguments (0.08ms) + should raise a signal with its arguments  should raise a signal with its arguments (0.09ms) The `assume' form should raise a signal if the condition is nil  should raise a signal if the condition is nil (0.09ms) @@ -817,52 +853,52 @@ should not raise a signal if the condition is non-nil  should not raise a signal if the condition is non-nil (0.06ms) The `buttercup-skip' function - should raise a signal with its arguments  should raise a signal with its arguments (0.10ms) + should raise a signal with its arguments  should raise a signal with its arguments (0.11ms) The `buttercup-define-matcher' macro should create a matcher usable by apply-matcher  should create a matcher usable by apply-matcher (0.10ms) The `buttercup--apply-matcher' function should work with functions  should work with functions (0.10ms) - should work with matchers  should work with matchers (0.09ms) - should fail if the matcher is not defined  should fail if the matcher is not defined (0.10ms) + should work with matchers  should work with matchers (0.11ms) + should fail if the matcher is not defined  should fail if the matcher is not defined (0.11ms) The :buttercup-define-matcher-for-unary-function helper should not modify match data  should not modify match data (0.11ms) The :buttercup-define-matcher-for-binary-function helper - should not modify match data  should not modify match data (0.15ms) + should not modify match data  should not modify match data (0.13ms) The included matcher :to-be-truthy - should match for a truthy expression  should match for a truthy expression (0.11ms) - should not match for an untruthy expression  should not match for an untruthy expression (0.11ms) + should match for a truthy expression  should match for a truthy expression (0.12ms) + should not match for an untruthy expression  should not match for an untruthy expression (0.12ms) :to-be should match if the args are `eq'  should match if the args are `eq' (0.19ms) - should not match if the args are not `eq'  should not match if the args are not `eq' (0.19ms) + should not match if the args are not `eq'  should not match if the args are not `eq' (0.20ms) :to-equal should match if the args are `equal'  should match if the args are `equal' (0.18ms) - should not match if the args are not `equal'  should not match if the args are not `equal' (0.18ms) + should not match if the args are not `equal'  should not match if the args are not `equal' (0.19ms) :not - should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (0.24ms) + should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (0.26ms) :to-have-same-items-as - should match equal sets  should match equal sets (0.23ms) - should notice missing elements in the second argument  should notice missing elements in the second argument (18.28ms) + should match equal sets  should match equal sets (0.21ms) + should notice missing elements in the second argument  should notice missing elements in the second argument (19.03ms) should notice extra items in the second argument  should notice extra items in the second argument (0.23ms) - should notice extra items in both arguments  should notice extra items in both arguments (0.21ms) + should notice extra items in both arguments  should notice extra items in both arguments (0.22ms) :to-match - should match the first argument against a regex  should match the first argument against a regex (0.14ms) + should match the first argument against a regex  should match the first argument against a regex (0.15ms) should show regex mismatches  should show regex mismatches (0.13ms) :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.18ms) + 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.19ms) 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.19ms) :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.17ms) - 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.17ms) + 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.18ms) :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.15ms) + 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.14ms) 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.13ms) - 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.12ms) + 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.13ms) :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.12ms) 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.12ms) @@ -870,18 +906,18 @@ :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.12ms) 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.12ms) - 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.12ms) + 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.13ms) :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.12ms) - 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.12ms) - 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.12ms) + 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.15ms) + 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.13ms) + 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.13ms) :to-be-close-to - should match when value difference is less than precision  should match when value difference is less than precision (0.24ms) - should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.18ms) + should match when value difference is less than precision  should match when value difference is less than precision (0.22ms) + should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.19ms) :to-throw should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (0.13ms) should match the error symbol without args  should match the error symbol without args (0.10ms) - should match the with no error signal specified  should match the with no error signal specified (0.09ms) + should match the with no error signal specified  should match the with no error signal specified (0.10ms) should match a child signal  should match a child signal (0.10ms) should match child signals and equal arguments  should match child signals and equal arguments (0.11ms) should not match with different arguments  should not match with different arguments (0.14ms) @@ -891,22 +927,22 @@ and not mention unspecified signal  and not mention unspecified signal (0.11ms) and mention any specified signal  and mention any specified signal (0.12ms) :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.08ms) + should not match if the spy has not been called  should not match if the spy has not been called (0.09ms) should match if the spy has been called once  should match if the spy has been called once (0.07ms) - should match if the spy has been called multiple times  should match if the spy has been called multiple times (25.14ms) + should match if the spy has been called multiple times  should match if the spy has been called multiple times (25.05ms) :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.14ms) 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.15ms) - 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.12ms) - 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.11ms) + 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.13ms) + 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.12ms) :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.11ms) + should not match if the spy has been called less times  should not match if the spy has been called less times (0.14ms) should not match if the spy has been called more times  should not match if the spy has been called more times (0.12ms) - 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.12ms) - should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.12ms) + 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.11ms) + should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.10ms) 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.19ms) + 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.17ms) 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.14ms) should add the parent to the child  should add the parent to the child (0.09ms) @@ -920,39 +956,39 @@ should return the number of specs in a list of suites  should return the number of specs in a list of suites (0.08ms) 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.21ms) + 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.22ms) should also count skipped specs  should also count skipped specs (0.19ms) 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.10ms) + 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) 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.08ms) - should return the full name of a suite with parents  should return the full name of a suite with parents (0.07ms) + should return the full name of a suite with parents  should return the full name of a suite with parents (0.08ms) 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.08ms) - should return the full name of a spec with parents  should return the full name of a spec with parents (0.07ms) + should return the full name of a spec with parents  should return the full name of a spec with parents (0.08ms) The `buttercup-elapsed-time' function should report elapsed time for suites  should report elapsed time for suites (0.11ms) should report elapsed time for specs  should report elapsed time for specs (0.09ms) The `buttercup--run-suite' function - should set start and end time of the suite  should set start and end time of the suite (0.25ms) + should set start and end time of the suite  should set start and end time of the suite (0.24ms) The `buttercup--run-spec' function should set start and end time of the spec  should set start and end time of the spec (0.32ms) - should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.14ms) + should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.13ms) should set status to pending - for assume in `before-each'  for assume in `before-each' (0.21ms) + for assume in `before-each'  for assume in `before-each' (0.23ms) for assume in spec  for assume in spec (0.14ms) for assume in `after-each'  for assume in `after-each' (0.20ms) 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.09ms) - should support the :var argument  should support the :var argument (0.09ms) - 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.08ms) + should support the :var argument  should support the :var argument (0.08ms) + should support the :var* argument  should support the :var* argument (0.09ms) should error when :var is not first  :var is not first (0.08ms) :var* is not first  :var* is not first (0.08ms) @@ -960,11 +996,11 @@ 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.11ms) + 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.16ms) The `it' macro - should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.07ms) + should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.08ms) without argument should expand to xit.  without argument should expand to xit. (0.07ms) The `buttercup-it' function @@ -997,7 +1033,7 @@ The `xdescribe' macro expands directly to a function call  expands directly to a function call (0.08ms) - changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.11ms) + changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.12ms) should add a pending suite  should add a pending suite (0.09ms) The `xit' macro @@ -1005,35 +1041,35 @@ The `buttercup-xit' function should be a no-op  should be a no-op (0.08ms) - should add a function that raises a pending signal  should add a function that raises a pending signal (0.12ms) - should mark the suite as pending  should mark the suite as pending (0.11ms) - should set the failure description to PENDING  should set the failure description to PENDING (0.14ms) + should add a function that raises a pending signal  should add a function that raises a pending signal (0.11ms) + 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.15ms) The Spy `spy-on' function - replaces a symbol's function slot  replaces a symbol's function slot (0.10ms) + replaces a symbol's function slot  replaces a symbol's function slot (0.08ms) restores the old value after a spec run  restores the old value after a spec run (0.07ms) - allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.13ms) - can spy on autoloaded functions  can spy on autoloaded functions (0.88ms) + allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.14ms) + can spy on autoloaded functions  can spy on autoloaded functions (0.92ms) can spy on non-existing functions  can spy on non-existing functions (0.05ms) only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (0.20ms) - works on native-compilation primitives  works on native-compilation primitives (0.19ms) + works on native-compilation primitives  works on native-compilation primitives (0.17ms) will signal en error if - used in before-all  used in before-all (0.11ms) + used in before-all  used in before-all (0.10ms) used directly in describe  used directly in describe (0.09ms) :to-have-been-called matcher - returns false if the spy was not called  returns false if the spy was not called (0.11ms) + returns false if the spy was not called  returns false if the spy was not called (0.10ms) returns true if the spy was called at all  returns true if the spy was called at all (0.10ms) :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.14ms) returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.15ms) returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.13ms) :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.12ms) + returns error if the spy was called less than expected  returns error if the spy was called less than expected (0.13ms) returns error if the spy was called more than expected  returns error if the spy was called more than expected (0.12ms) - returns true if the spy was called the expected number of times  returns true if the spy was called the expected number of times (0.11ms) - use plural words in error message  use plural words in error message (0.11ms) - use singular expected word in error message  use singular expected word in error message (0.11ms) + 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.12ms) + use plural words in error message  use plural words in error message (0.12ms) + use singular expected word in error message  use singular expected word in error message (0.12ms) use singular actual word in error message  use singular actual word in error message (0.11ms) :and-call-through keyword functionality tracks calls to the function  tracks calls to the function (0.04ms) @@ -1043,124 +1079,124 @@ returns the specified value  returns the specified value (0.08ms) works with strings  works with strings (0.08ms) works with vectors  works with vectors (0.08ms) - works with symbols  works with symbols (0.07ms) - works with conses  works with conses (0.09ms) + works with symbols  works with symbols (0.09ms) + works with conses  works with conses (0.08ms) works with lists  works with lists (0.08ms) works with alists  works with alists (0.08ms) :and-call-fake keyword functionality tracks calls to the function  tracks calls to the function (0.04ms) - returns the specified value  returns the specified value (0.07ms) + returns the specified value  returns the specified value (0.08ms) :and-throw-error keyword functionality throws an error when called  throws an error when called (0.10ms) 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.14ms) counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (0.15ms) - 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.22ms) - records the signal thrown by a call to the function  records the signal thrown by a call to the function (0.18ms) + 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.23ms) + records the signal thrown by a call to the function  records the signal thrown by a call to the function (0.19ms) The batch reporters on the buttercup-started event - should print the number of specs  should print the number of specs (0.28ms) - should color-print the number of specs with the default color  should color-print the number of specs with the default color (0.20ms) + should print the number of specs  should print the number of specs (0.29ms) + should color-print the number of specs with the default color  should color-print the number of specs with the default color (0.18ms) should print the number of skipped specs  should print the number of skipped specs (0.18ms) - 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.17ms) + 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.18ms) on the suite-started event - should emit an indented suite description  should emit an indented suite description (0.15ms) - should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.15ms) + should emit an indented suite description  should emit an indented suite description (0.16ms) + should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.16ms) on the spec-started event should emit an indented spec description  should emit an indented spec description (0.16ms) should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.15ms) on the spec-done event for a passed spec - should print no status tag  should print no status tag (0.22ms) - should color-print the description in green and no status tag  should color-print the description in green and no status tag (0.35ms) - should print multiline specs cleanly  should print multiline specs cleanly (0.23ms) + should print no status tag  should print no status tag (0.20ms) + should color-print the description in green and no status tag  should color-print the description in green and no status tag (0.31ms) + should print multiline specs cleanly  should print multiline specs cleanly (0.22ms) should color-print multiline specs cleanly  should color-print multiline specs cleanly (0.27ms) for a failed spec - should say FAILED  should say FAILED (0.27ms) + should say FAILED  should say FAILED (0.25ms) should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (0.32ms) for a pending spec should output the failure-description  should output the failure-description (0.24ms) should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (0.32ms) should throw an error for an unknown spec status - for plain output  for plain output (0.11ms) + for plain output  for plain output (0.13ms) for colored output  for colored output (0.10ms) 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.15ms) - 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.17ms) + 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.16ms) + 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.15ms) should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.12ms) - should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.11ms) + should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.12ms) on the buttercup-done event should print a summary of run and failing specs  should print a summary of run and failing specs (0.21ms) - should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (0.31ms) + should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (0.32ms) should color-print `X failed' specs in red  should color-print `X failed' specs in red (0.30ms) - should print a summary separating run and pending specs  should print a summary separating run and pending specs (0.20ms) - should color-print pending spec count in default color  should color-print pending spec count in default color (0.28ms) - should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.19ms) + should print a summary separating run and pending specs  should print a summary separating run and pending specs (0.21ms) + should color-print pending spec count in default color  should color-print pending spec count in default color (0.29ms) + should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.18ms) on an unknown event - should raise an error  should raise an error (0.08ms) + should raise an error  should raise an error (0.09ms) Backtraces should not be collected or printed for - failed specs  failed specs (0.77ms) - passed specs  passed specs (0.41ms) - skipped specs  skipped specs (0.30ms) + failed specs  failed specs (0.78ms) + passed specs  passed specs (0.40ms) + skipped specs  skipped specs (0.34ms) should be collected for errors in matchers  matchers (0.52ms) with style - `crop' should print truncated lines  `crop' should print truncated lines (2.78ms) - `full' should print full lines  `full' should print full lines (0.86ms) - `pretty' should pretty-print frames  `pretty' should pretty-print frames (1.36ms) - `omit' should print nothing  `omit' should print nothing (0.32ms) - should signal an error for unknown styles  should signal an error for unknown styles (0.15ms) + `crop' should print truncated lines  `crop' should print truncated lines (2.77ms) + `full' should print full lines  `full' should print full lines (0.88ms) + `pretty' should pretty-print frames  `pretty' should pretty-print frames (1.35ms) + `omit' should print nothing  `omit' should print nothing (0.29ms) + should signal an error for unknown styles  should signal an error for unknown styles (0.13ms) should generate correct backtrace for - no matcher  no matcher (0.53ms) - :to-be-truthy  :to-be-truthy (0.53ms) - :not :to-be-truthy  :not :to-be-truthy (0.51ms) - :to-be  :to-be (0.53ms) + no matcher  no matcher (0.51ms) + :to-be-truthy  :to-be-truthy (0.54ms) + :not :to-be-truthy  :not :to-be-truthy (0.52ms) + :to-be  :to-be (0.56ms) :not :to-be  :not :to-be (0.56ms) - :to-equal  :to-equal (0.51ms) + :to-equal  :to-equal (0.52ms) :not :to-equal  :not :to-equal (0.54ms) - :to-have-same-items-as  :to-have-same-items-as (0.52ms) - :not :to-have-same-items-as  :not :to-have-same-items-as (0.55ms) - :to-match  :to-match (0.51ms) - :not :to-match  :not :to-match (0.54ms) - :to-be-in  :to-be-in (0.56ms) - :not :to-be-in  :not :to-be-in (0.54ms) - :to-contain  :to-contain (0.53ms) + :to-have-same-items-as  :to-have-same-items-as (0.53ms) + :not :to-have-same-items-as  :not :to-have-same-items-as (0.56ms) + :to-match  :to-match (0.52ms) + :not :to-match  :not :to-match (0.60ms) + :to-be-in  :to-be-in (0.54ms) + :not :to-be-in  :not :to-be-in (0.53ms) + :to-contain  :to-contain (0.51ms) :not :to-contain  :not :to-contain (0.54ms) - :to-be-less-than  :to-be-less-than (0.50ms) - :not :to-be-less-than  :not :to-be-less-than (0.57ms) - :to-be-greater-than  :to-be-greater-than (0.53ms) - :not :to-be-greater-than  :not :to-be-greater-than (0.56ms) - :to-be-weakly-less-than  :to-be-weakly-less-than (0.52ms) + :to-be-less-than  :to-be-less-than (0.54ms) + :not :to-be-less-than  :not :to-be-less-than (0.54ms) + :to-be-greater-than  :to-be-greater-than (0.69ms) + :not :to-be-greater-than  :not :to-be-greater-than (0.54ms) + :to-be-weakly-less-than  :to-be-weakly-less-than (0.51ms) :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (0.52ms) - :to-be-weakly-greater-than  :to-be-weakly-greater-than (0.51ms) - :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (0.53ms) - :to-be-close-to  :to-be-close-to (0.57ms) - :not :to-be-close-to  :not :to-be-close-to (0.54ms) - :to-have-been-called  :to-have-been-called (0.50ms) - :not :to-have-been-called  :not :to-have-been-called (0.56ms) - :to-have-been-called-with  :to-have-been-called-with (0.53ms) - :not :to-have-been-called-with  :not :to-have-been-called-with (0.52ms) - :to-have-been-called-times  :to-have-been-called-times (0.50ms) - :not :to-have-been-called-times  :not :to-have-been-called-times (0.58ms) - function matcher  function matcher (0.51ms) - :not function matcher  :not function matcher (0.53ms) + :to-be-weakly-greater-than  :to-be-weakly-greater-than (0.50ms) + :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (0.54ms) + :to-be-close-to  :to-be-close-to (0.53ms) + :not :to-be-close-to  :not :to-be-close-to (0.58ms) + :to-have-been-called  :to-have-been-called (0.51ms) + :not :to-have-been-called  :not :to-have-been-called (0.52ms) + :to-have-been-called-with  :to-have-been-called-with (0.54ms) + :not :to-have-been-called-with  :not :to-have-been-called-with (0.54ms) + :to-have-been-called-times  :to-have-been-called-times (0.53ms) + :not :to-have-been-called-times  :not :to-have-been-called-times (0.53ms) + function matcher  function matcher (0.52ms) + :not function matcher  :not function matcher (0.57ms) 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.31ms) - should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (0.54ms) - should quiet all of the given spec statuses  should quiet all of the given spec statuses (0.32ms) - should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (0.77ms) - should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (0.90ms) + should print nothing if all specs are quiet  should print nothing if all specs are quiet (0.30ms) + should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (0.55ms) + should quiet all of the given spec statuses  should quiet all of the given spec statuses (0.30ms) + should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (0.76ms) + should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (0.78ms) The `buttercup-run' function - should signal an error if no suites are defined  should signal an error if no suites are defined (0.14ms) - should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.11ms) - should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.13ms) - should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.11ms) - should return t for passing specs  should return t for passing specs (0.13ms) + should signal an error if no suites are defined  should signal an error if no suites are defined (0.12ms) + should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.10ms) + should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.12ms) + should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.10ms) + should return t for passing specs  should return t for passing specs (0.12ms) should call the reporter twice with events buttercup-started and -done  should call the reporter twice with events buttercup-started and -done (0.19ms) should call `buttercup--run-suite' once per suite  should call `buttercup--run-suite' once per suite (0.13ms) @@ -1168,12 +1204,12 @@ should send a formatted string to the terminal  should send a formatted string to the terminal (0.04ms) The `buttercup-mark-skipped' function - should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (0.62ms) - 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.26ms) + should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (0.59ms) + 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.28ms) should handle multiple patterns  should handle multiple patterns (0.27ms) should support predicates  should support predicates (0.29ms) should support reversed predicates  should support reversed predicates (0.29ms) - should signal an error for invalid matchers  should signal an error for invalid matchers (0.24ms) + should signal an error for invalid matchers  should signal an error for invalid matchers (0.25ms) Buttercup's ERT compatibility wrapper should convert `ert-test-failed' into `buttercup-failed'  should convert `ert-test-failed' into `buttercup-failed' (0.16ms) @@ -1182,40 +1218,40 @@ `buttercup-run-discover' should parse command line arguments ignoring `--'  ignoring `--' (0.09ms) - requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.10ms) - checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.13ms) + requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.11ms) + checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.12ms) setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (0.16ms) - requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (19.61ms) - collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.36ms) + requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (19.80ms) + collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.51ms) clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (0.24ms) - 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.20ms) - 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.19ms) - 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.11ms) + 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.22ms) + 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.20ms) + 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.12ms) search any unknown args for test files  search any unknown args for test files (0.22ms) find and load files - named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (1.94ms) - only in given directories  only in given directories (1.46ms) + named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (1.91ms) + only in given directories  only in given directories (1.47ms) butter-minor-mode - should fontify `describe' special form  should fontify `describe' special form (0.40ms) - should fontify `it' special form  should fontify `it' special form (0.27ms) - should add special forms to `imenu'  should add special forms to `imenu' (0.48ms) - should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.06ms) + should fontify `describe' special form  should fontify `describe' special form (0.41ms) + should fontify `it' special form  should fontify `it' special form (0.26ms) + should add special forms to `imenu'  should add special forms to `imenu' (0.47ms) + should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.07ms) For stale `elc' file checks `buttercup-check-for-stale-elc' should do nothing for `el' files  should do nothing for `el' files (0.14ms) should signal error when `elc' is older than `el'  should signal error when `elc' is older than `el' (0.15ms) - should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.13ms) + should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.12ms) should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.09ms) `buttercup-error-on-stale-elc' - should activate with no argument  should activate with no argument (0.08ms) + should activate with no argument  should activate with no argument (0.09ms) should deactivate with almost any argument  should deactivate with almost any argument (0.08ms) should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (0.12ms) -Ran 287 out of 288 specs, 0 failed, in 31.91ms. +Ran 287 out of 288 specs, 0 failed, in 32.10ms. make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.36' - rm -fr -- /tmp/dh-xdg-rundir-euVEDcmd + rm -fr -- /tmp/dh-xdg-rundir-TNdDeUwG create-stamp debian/debhelper-build-stamp dh_prep rm -f -- debian/elpa-buttercup.substvars @@ -1306,12 +1342,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/1679149/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1679149/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/875266 and its subdirectories -I: Current time: Mon Nov 11 13:12:15 -12 2024 -I: pbuilder-time-stamp: 1731373935 +I: removing directory /srv/workspace/pbuilder/1679149 and its subdirectories +I: Current time: Mon Dec 15 21:36:16 +14 2025 +I: pbuilder-time-stamp: 1765784176