Diff of the two buildlogs: -- --- b1/build.log 2025-03-17 10:21:10.450097207 +0000 +++ b2/build.log 2025-03-17 10:25:22.690757525 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Apr 19 04:42:06 -12 2026 -I: pbuilder-time-stamp: 1776616926 +I: Current time: Tue Mar 18 00:21:13 +14 2025 +I: pbuilder-time-stamp: 1742206873 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -22,52 +22,84 @@ dpkg-source: info: unpacking emacs-buttercup_1.37-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3123434/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1363266/tmp/hooks/D01_modify_environment starting +debug: Running on ionos1-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Mar 17 10:21 /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/1363266/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1363266/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + 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]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='492fdbf55b364875a42cc1c3f8ff82da' - 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='3123434' - PS1='# ' - PS2='> ' + INVOCATION_ID=c4fbe043090340bf92745175535e0cd1 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1363266 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.ozGcecJa/pbuilderrc_WGnJ --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.ozGcecJa/b1 --logfile b1/build.log emacs-buttercup_1.37-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152: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.ozGcecJa/pbuilderrc_uBbm --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.ozGcecJa/b2 --logfile b2/build.log emacs-buttercup_1.37-1.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3123434/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1363266/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -204,7 +236,7 @@ Get: 95 http://deb.debian.org/debian unstable/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Get: 96 http://deb.debian.org/debian unstable/main amd64 libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 97 http://deb.debian.org/debian unstable/main amd64 dh-elpa all 2.1.9 [30.5 kB] -Fetched 81.1 MB in 2s (38.0 MB/s) +Fetched 81.1 MB in 2s (41.5 MB/s) Preconfiguring packages ... Selecting previously unselected package netbase. (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 ... 19784 files and directories currently installed.) @@ -625,7 +657,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/emacs-buttercup-1.37/ && 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.37-1_source.changes +I: user script /srv/workspace/pbuilder/1363266/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1363266/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/emacs-buttercup-1.37/ && 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.37-1_source.changes dpkg-buildpackage: info: source package emacs-buttercup dpkg-buildpackage: info: source version 1.37-1 dpkg-buildpackage: info: source distribution unstable @@ -636,7 +672,7 @@ debian/rules clean dh clean --with elpa dh_auto_clean - make -j42 clean + make -j20 clean make[1]: Entering directory '/build/reproducible-path/emacs-buttercup-1.37' rm -f *.elc tests/*.elc make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.37' @@ -669,586 +705,586 @@ 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.37' emacs -batch -L . -f batch-byte-compile buttercup-compat.el emacs -batch -L . -f batch-byte-compile buttercup.el ./bin/buttercup -L . tests Running 291 specs. The buttercup--enclosed-expr function should handle expressions wrapped by buttercup--wrap-expr [32m expressions wrapped by buttercup--wrap-expr[0m (3.01ms) a closure with expression copy? [33m a closure with expression copy?[0m[33m !! CANCELLED !! Not testable on Emacs 30+, not relevant for Emacs 29+[0m (0.06ms) a lambda with expression copy? [32m a lambda with expression copy?[0m (0.10ms) byte compiled lambda objects [32m lambda objects[0m (0.17ms) wrapped expression [33m wrapped expression[0m[33m !! CANCELLED !! Not with Oclosures[0m (0.04ms) should error on a simple closure [32m on a simple closure[0m (0.14ms) on a closure with stackframe marker but no quoted expression [32m on a closure with stackframe marker but no quoted expression[0m (0.11ms) for multi-statement closures [32m for multi-statement closures[0m (0.10ms) for closures with non-empty argument lists [32m for closures with non-empty argument lists[0m (0.10ms) on simple lambda objects [32m on simple lambda objects[0m (0.08ms) on a lambda with stackframe marker but no quoted expression [32m on a lambda with stackframe marker but no quoted expression[0m (0.09ms) for multi-statement lambdas [32m for multi-statement lambdas[0m (0.09ms) for lambdas with non-empty argument lists [32m for lambdas with non-empty argument lists[0m (0.09ms) on byte-compiled functions with arguments [32m on byte-compiled functions with arguments[0m (0.19ms) The buttercup-failed signal can be raised [32m can be raised[0m (0.09ms) The buttercup-pending signal can be raised [32m can be raised[0m (0.08ms) The `expect' form with a matcher should translate to the function call with closures [32m with a matcher should translate to the function call with closures[0m (0.41ms) with no matcher should use `:to-be-truthy' as the matcher [32m with no matcher should use `:to-be-truthy' as the matcher[0m (0.25ms) The `buttercup-expect' function with a function as a matcher argument should not raise an error if the function returns true [32m should not raise an error if the function returns true[0m (0.13ms) should raise an error if the function returns false [32m should raise an error if the function returns false[0m (0.13ms) with a matcher argument should not raise an error if the matcher returns true [32m should not raise an error if the matcher returns true[0m (0.11ms) should raise an error if the matcher returns false [32m should raise an error if the matcher returns false[0m (0.11ms) The `buttercup-fail' function should raise a signal with its arguments [32m should raise a signal with its arguments[0m (0.10ms) The `assume' form should raise a signal if the condition is nil [32m should raise a signal if the condition is nil[0m (0.12ms) should show the format if no message is given [32m should show the format if no message is given[0m (0.10ms) should not raise a signal if the condition is non-nil [32m should not raise a signal if the condition is non-nil[0m (0.08ms) The `buttercup-skip' function should raise a signal with its arguments [32m should raise a signal with its arguments[0m (0.10ms) The `buttercup-define-matcher' macro should create a matcher usable by apply-matcher [32m should create a matcher usable by apply-matcher[0m (0.12ms) The `buttercup--apply-matcher' function should work with functions [32m should work with functions[0m (0.12ms) should work with matchers [32m should work with matchers[0m (0.13ms) should fail if the matcher is not defined [32m should fail if the matcher is not defined[0m (0.11ms) The :buttercup-define-matcher-for-unary-function helper should not modify match data [32m should not modify match data[0m (0.14ms) The :buttercup-define-matcher-for-binary-function helper should not modify match data [32m should not modify match data[0m (0.15ms) The included matcher :to-be-truthy should match for a truthy expression [32m should match for a truthy expression[0m (0.14ms) should not match for an untruthy expression [32m should not match for an untruthy expression[0m (0.13ms) :to-be should match if the args are `eq' [32m should match if the args are `eq'[0m (0.22ms) should not match if the args are not `eq' [32m should not match if the args are not `eq'[0m (0.22ms) :to-equal should match if the args are `equal' [32m should match if the args are `equal'[0m (0.21ms) should not match if the args are not `equal' [32m should not match if the args are not `equal'[0m (0.21ms) :not should invert the car of the nested matcher's return value [32m should invert the car of the nested matcher's return value[0m (0.26ms) :to-have-same-items-as should match equal sets [32m should match equal sets[0m (0.23ms) should notice missing elements in the second argument [32m should notice missing elements in the second argument[0m (0.24ms) should notice extra items in the second argument [32m should notice extra items in the second argument[0m (0.24ms) should notice extra items in both arguments [32m should notice extra items in both arguments[0m (0.25ms) :to-match should match the first argument against a regex [32m should match the first argument against a regex[0m (0.16ms) should show regex mismatches [32m should show regex mismatches[0m (0.15ms) :to-be-in should match when the first argument is a member of the second argument [32m should match when the first argument is a member of the second argument[0m (0.22ms) should not match when the first argument is not a member of the second argument [32m should not match when the first argument is not a member of the second argument[0m (0.23ms) :to-contain should match when the second argument is a member of the first argument [32m should match when the second argument is a member of the first argument[0m (0.21ms) should not match when the second argument is not a member of the first argument [32m should not match when the second argument is not a member of the first argument[0m (0.21ms) :to-be-less-than should match when the first argument is less than the second argument [32m should match when the first argument is less than the second argument[0m (0.15ms) should not match when the first argument is equal to the second argument [32m should not match when the first argument is equal to the second argument[0m (0.15ms) should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.17ms) :to-be-greater-than should match when the first argument is greater than the second argument [32m should match when the first argument is greater than the second argument[0m (0.16ms) should not match when the first argument is equal to the second argument [32m should not match when the first argument is equal to the second argument[0m (0.16ms) should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.17ms) :to-be-weakly-less-than should match when the first argument is less than the second argument [32m should match when the first argument is less than the second argument[0m (0.17ms) should match when the first argument is equal to the second argument [32m should match when the first argument is equal to the second argument[0m (0.16ms) should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.16ms) :to-be-weakly-greater-than should match when the first argument is greater than the second argument [32m should match when the first argument is greater than the second argument[0m (0.16ms) should match when the first argument is equal to the second argument [32m should match when the first argument is equal to the second argument[0m (0.15ms) should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.16ms) :to-be-close-to should match when value difference is less than precision [32m should match when value difference is less than precision[0m (0.26ms) should not match when value difference is larger than precision [32m should not match when value difference is larger than precision[0m (0.23ms) :to-throw should match when signal symbol and argument match exactly [32m should match when signal symbol and argument match exactly[0m (0.15ms) should match the error symbol without args [32m should match the error symbol without args[0m (0.15ms) should match the with no error signal specified [32m should match the with no error signal specified[0m (0.13ms) should match a child signal [32m should match a child signal[0m (0.13ms) should match child signals and equal arguments [32m should match child signals and equal arguments[0m (0.14ms) should not match with different arguments [32m should not match with different arguments[0m (0.17ms) should not match an unrelated symbol [32m should not match an unrelated symbol[0m (0.15ms) should not match a parent signal [32m should not match a parent signal[0m (0.13ms) should not match when no signal is raised and not mention unspecified signal [32m and not mention unspecified signal[0m (0.14ms) and mention any specified signal [32m and mention any specified signal[0m (0.16ms) :to-have-been-called should not match if the spy has not been called [32m should not match if the spy has not been called[0m (0.11ms) should match if the spy has been called once [32m should match if the spy has been called once[0m (0.10ms) should match if the spy has been called multiple times [32m should match if the spy has been called multiple times[0m (26.94ms) :to-have-been-called-with should not match if the spy has not been called at all [32m should not match if the spy has not been called at all[0m (0.14ms) should not match if the spy has not been called with the specified arguments [32m should not match if the spy has not been called with the specified arguments[0m (0.18ms) should match if the spy has been called once with the specified arguments [32m should match if the spy has been called once with the specified arguments[0m (0.15ms) should match if the spy has been called multiple times with the specified arguments [32m should match if the spy has been called multiple times with the specified arguments[0m (0.14ms) :to-have-been-called-times should not match if the spy has been called less times [32m should not match if the spy has been called less times[0m (0.15ms) should not match if the spy has been called more times [32m should not match if the spy has been called more times[0m (0.15ms) should match if the spy has been called the correct number of times [32m should match if the spy has been called the correct number of times[0m (0.15ms) should match if the spy has been called 0 times [32m should match if the spy has been called 0 times[0m (0.14ms) The `buttercup-suite-add-child' function should add an element at the end of the list and return it [32m should add an element at the end of the list and return it[0m (0.26ms) should add an element even if the list is empty and return it [32m should add an element even if the list is empty and return it[0m (0.17ms) should add the parent to the child [32m should add the parent to the child[0m (0.12ms) The `buttercup-suite-parents' function should return the list of parents for a suite [32m should return the list of parents for a suite[0m (0.12ms) The `buttercup-spec-parents' function should return the list of parents for a spec [32m should return the list of parents for a spec[0m (0.12ms) The `buttercup-suites-total-specs-defined' function should return the number of specs in a list of suites [32m should return the number of specs in a list of suites[0m (0.10ms) The `buttercup-suites-total-specs-pending' function should return the number of pending specs in a list of suites [32m should return the number of pending specs in a list of suites[0m (0.23ms) should also count skipped specs [32m should also count skipped specs[0m (0.22ms) The `buttercup-suites-total-specs-failed' function should return the number of failed specs in a list of suites [32m should return the number of failed specs in a list of suites[0m (0.11ms) The `buttercup-suite-full-name' function should return the full name of a suite without parents [32m should return the full name of a suite without parents[0m (0.10ms) should return the full name of a suite with parents [32m should return the full name of a suite with parents[0m (0.11ms) The `buttercup-spec-full-name' function should return the full name of a spec without parents [32m should return the full name of a spec without parents[0m (0.10ms) should return the full name of a spec with parents [32m should return the full name of a spec with parents[0m (0.10ms) The `buttercup-elapsed-time' function should report elapsed time for suites [32m should report elapsed time for suites[0m (0.14ms) should report elapsed time for specs [32m should report elapsed time for specs[0m (0.13ms) The `buttercup--run-suite' function should set start and end time of the suite [32m should set start and end time of the suite[0m (0.27ms) The `buttercup--run-spec' function should set start and end time of the spec [32m should set start and end time of the spec[0m (0.33ms) should not overwrite pending status with `after-each' results [32m should not overwrite pending status with `after-each' results[0m (0.17ms) should set status to pending for assume in `before-each' [32m for assume in `before-each'[0m (0.25ms) for assume in spec [32m for assume in spec[0m (0.18ms) for assume in `after-each' [32m for assume in `after-each'[0m (0.24ms) The `describe' macro should expand to a simple call to the buttercup-describe function [32m should expand to a simple call to the buttercup-describe function[0m (0.11ms) should support the :var argument [32m should support the :var argument[0m (0.10ms) should support the :var* argument [32m should support the :var* argument[0m (0.10ms) should error when :var is not first [32m :var is not first[0m (0.10ms) :var* is not first [32m :var* is not first[0m (0.09ms) is expanded with `lexical-binding' nil [32m is expanded with `lexical-binding' nil[0m (0.09ms) The `buttercup-describe' function should run the enclosing body [32m should run the enclosing body[0m (0.09ms) should set the `buttercup-suites' variable [32m should set the `buttercup-suites' variable[0m (0.12ms) should add child suites when called nested [32m should add child suites when called nested[0m (0.19ms) The `it' macro should expand to a call to the `buttercup-it' function [32m should expand to a call to the `buttercup-it' function[0m (0.09ms) without argument should expand to xit. [32m without argument should expand to xit.[0m (0.09ms) The `buttercup-it' function should fail if not called from within a describe form [32m should fail if not called from within a describe form[0m (0.09ms) should add a spec to the current suite and return the spec [32m should add a spec to the current suite and return the spec[0m (0.25ms) The `before-each' macro expands to a function call [32m expands to a function call[0m (0.09ms) The `buttercup-before-each' function adds its argument to the before-each list of the current suite [32m adds its argument to the before-each list of the current suite[0m (0.10ms) The `after-each' macro expands to a function call [32m expands to a function call[0m (0.10ms) The `buttercup-after-each' function adds its argument to the after-each list of the current suite [32m adds its argument to the after-each list of the current suite[0m (0.11ms) The `before-all' macro expands to a function call [32m expands to a function call[0m (0.09ms) The `buttercup-before-all' function adds its argument to the before-all list of the current suite [32m adds its argument to the before-all list of the current suite[0m (0.11ms) The `after-all' macro expands to a function call [32m expands to a function call[0m (0.09ms) The `buttercup-after-all' function adds its argument to the after-all list of the current suite [32m adds its argument to the after-all list of the current suite[0m (0.20ms) The `xdescribe' macro expands directly to a function call [32m expands directly to a function call[0m (0.10ms) changes contained it-specs to pending specs [32m changes contained it-specs to pending specs[0m (0.13ms) should add a pending suite [32m should add a pending suite[0m (0.12ms) The `xit' macro expands directly to a function call [32m expands directly to a function call[0m (0.09ms) The `buttercup-xit' function should be a no-op [32m should be a no-op[0m (0.11ms) should add a function that raises a pending signal [32m should add a function that raises a pending signal[0m (0.12ms) should mark the suite as pending [32m should mark the suite as pending[0m (0.13ms) should set the failure description to PENDING [32m should set the failure description to PENDING[0m (0.19ms) The Spy `spy-on' function replaces a symbol's function slot [32m replaces a symbol's function slot[0m (0.10ms) restores the old value after a spec run [32m restores the old value after a spec run[0m (0.09ms) allows a spied-on command to be executed as a command [32m allows a spied-on command to be executed as a command[0m (0.15ms) can spy on autoloaded functions [32m can spy on autoloaded functions[0m (4.64ms) can spy on non-existing functions [32m can spy on non-existing functions[0m (0.06ms) only accepts ARG for keywords that use it [32m only accepts ARG for keywords that use it[0m (0.24ms) works on native-compilation primitives [32m works on native-compilation primitives[0m (0.20ms) will signal en error if used in before-all [32m used in before-all[0m (0.12ms) used directly in describe [32m used directly in describe[0m (0.11ms) :to-have-been-called matcher returns false if the spy was not called [32m returns false if the spy was not called[0m (0.13ms) returns true if the spy was called at all [32m returns true if the spy was called at all[0m (0.12ms) :to-have-been-called-with matcher returns false if the spy was not called at all [32m returns false if the spy was not called at all[0m (0.17ms) returns false if the spy was called with different arguments [32m returns false if the spy was called with different arguments[0m (0.17ms) returns true if the spy was called with those arguments [32m returns true if the spy was called with those arguments[0m (0.16ms) :to-have-been-called-times matcher returns error if the spy was called less than expected [32m returns error if the spy was called less than expected[0m (0.15ms) returns error if the spy was called more than expected [32m returns error if the spy was called more than expected[0m (0.14ms) returns true if the spy was called the expected number of times [32m returns true if the spy was called the expected number of times[0m (0.15ms) use plural words in error message [32m use plural words in error message[0m (0.15ms) use singular expected word in error message [32m use singular expected word in error message[0m (0.14ms) use singular actual word in error message [32m use singular actual word in error message[0m (0.14ms) :and-call-through keyword functionality tracks calls to the function [32m tracks calls to the function[0m (0.05ms) passes the arguments to the original function [32m passes the arguments to the original function[0m (0.10ms) :and-return-value keyword functionality tracks calls to the function [32m tracks calls to the function[0m (0.07ms) returns the specified value [32m returns the specified value[0m (0.11ms) works with strings [32m works with strings[0m (0.11ms) works with vectors [32m works with vectors[0m (0.10ms) works with symbols [32m works with symbols[0m (0.10ms) works with conses [32m works with conses[0m (0.10ms) works with lists [32m works with lists[0m (0.11ms) works with alists [32m works with alists[0m (0.11ms) :and-call-fake keyword functionality tracks calls to the function [32m tracks calls to the function[0m (0.05ms) returns the specified value [32m returns the specified value[0m (0.10ms) :and-throw-error keyword functionality throws an error when called [32m throws an error when called[0m (0.12ms) error-recording functionality records the function as called even if it throws an error [32m records the function as called even if it throws an error[0m (0.16ms) counts both successful calls and calls that threw errors [32m counts both successful calls and calls that threw errors[0m (0.20ms) records args to the function whether it throw an error or not [32m records args to the function whether it throw an error or not[0m (0.26ms) records the signal thrown by a call to the function [32m records the signal thrown by a call to the function[0m (0.21ms) The batch reporters on the buttercup-started event should print the number of specs [32m should print the number of specs[0m (0.31ms) should color-print the number of specs with the default color [32m should color-print the number of specs with the default color[0m (0.24ms) should print the number of skipped specs [32m should print the number of skipped specs[0m (0.24ms) should color-print the number of skipped specs with the default color [32m should color-print the number of skipped specs with the default color[0m (0.22ms) on the suite-started event should emit an indented suite description [32m should emit an indented suite description[0m (0.20ms) should color-print an indented suite description with the default color [32m should color-print an indented suite description with the default color[0m (0.20ms) on the spec-started event should emit an indented spec description [32m should emit an indented spec description[0m (0.19ms) should color-print an indented spec description with the default color [32m should color-print an indented spec description with the default color[0m (0.22ms) on the spec-done event for a passed spec should print no status tag [32m should print no status tag[0m (0.26ms) should color-print the description in green and no status tag [32m should color-print the description in green and no status tag[0m (0.39ms) should print multiline specs cleanly [32m should print multiline specs cleanly[0m (0.29ms) should color-print multiline specs cleanly [32m should color-print multiline specs cleanly[0m (0.35ms) for a failed spec should say FAILED [32m should say FAILED[0m (0.41ms) should color-print the description in red and say FAILED [32m should color-print the description in red and say FAILED[0m (0.43ms) for a pending spec should output the failure-description [32m should output the failure-description[0m (0.31ms) should color-print the description and failure-description in yellow [32m should color-print the description and failure-description in yellow[0m (0.43ms) should throw an error for an unknown spec status for plain output [32m for plain output[0m (0.14ms) for colored output [32m for colored output[0m (0.13ms) on the suite-done event should emit a newline at the end of a top-level suite [32m should emit a newline at the end of a top-level suite[0m (0.20ms) should color-print a newline at the end of a top-level suite [32m should color-print a newline at the end of a top-level suite[0m (0.19ms) should not emit anything at the end of other suites [32m should not emit anything at the end of other suites[0m (0.17ms) should not color-print anything at the end of other suites [32m should not color-print anything at the end of other suites[0m (0.16ms) on the buttercup-done event should print a summary of run and failing specs [32m should print a summary of run and failing specs[0m (0.26ms) should color-print `0 failed' specs in green [32m should color-print `0 failed' specs in green[0m (0.39ms) should color-print `X failed' specs in red [32m should color-print `X failed' specs in red[0m (0.39ms) should print a summary separating run and pending specs [32m should print a summary separating run and pending specs[0m (0.27ms) should color-print pending spec count in default color [32m should color-print pending spec count in default color[0m (0.37ms) should not raise any error even if a spec failed [32m should not raise any error even if a spec failed[0m (0.23ms) on an unknown event should raise an error [32m should raise an error[0m (0.12ms) Backtraces should not be collected or printed for failed specs [32m failed specs[0m (0.89ms) passed specs [32m passed specs[0m (0.49ms) skipped specs [32m skipped specs[0m (0.40ms) should be collected for errors in matchers [32m matchers[0m (0.59ms) with style `crop' should print truncated lines [32m `crop' should print truncated lines[0m (3.25ms) `full' should print full lines [32m `full' should print full lines[0m (1.05ms) `pretty' should pretty-print frames [32m `pretty' should pretty-print frames[0m (1.71ms) `omit' should print nothing [32m `omit' should print nothing[0m (0.34ms) should signal an error for unknown styles [32m should signal an error for unknown styles[0m (0.15ms) should generate correct backtrace for no matcher [32m no matcher[0m (0.64ms) :to-be-truthy [32m :to-be-truthy[0m (0.60ms) :not :to-be-truthy [32m :not :to-be-truthy[0m (0.62ms) :to-be [32m :to-be[0m (0.62ms) :not :to-be [32m :not :to-be[0m (0.63ms) :to-equal [32m :to-equal[0m (0.61ms) :not :to-equal [32m :not :to-equal[0m (0.66ms) :to-have-same-items-as [32m :to-have-same-items-as[0m (0.62ms) :not :to-have-same-items-as [32m :not :to-have-same-items-as[0m (0.74ms) :to-match [32m :to-match[0m (0.62ms) :not :to-match [32m :not :to-match[0m (0.63ms) :to-be-in [32m :to-be-in[0m (0.61ms) :not :to-be-in [32m :not :to-be-in[0m (0.64ms) :to-contain [32m :to-contain[0m (22.24ms) :not :to-contain [32m :not :to-contain[0m (0.60ms) :to-be-less-than [32m :to-be-less-than[0m (0.54ms) :not :to-be-less-than [32m :not :to-be-less-than[0m (0.58ms) :to-be-greater-than [32m :to-be-greater-than[0m (0.54ms) :not :to-be-greater-than [32m :not :to-be-greater-than[0m (0.54ms) :to-be-weakly-less-than [32m :to-be-weakly-less-than[0m (0.53ms) :not :to-be-weakly-less-than [32m :not :to-be-weakly-less-than[0m (0.56ms) :to-be-weakly-greater-than [32m :to-be-weakly-greater-than[0m (0.62ms) :not :to-be-weakly-greater-than [32m :not :to-be-weakly-greater-than[0m (0.64ms) :to-be-close-to [32m :to-be-close-to[0m (0.57ms) :not :to-be-close-to [32m :not :to-be-close-to[0m (0.56ms) :to-have-been-called [32m :to-have-been-called[0m (0.52ms) :not :to-have-been-called [32m :not :to-have-been-called[0m (0.53ms) :to-have-been-called-with [32m :to-have-been-called-with[0m (0.53ms) :not :to-have-been-called-with [32m :not :to-have-been-called-with[0m (0.54ms) :to-have-been-called-times [32m :to-have-been-called-times[0m (0.54ms) :not :to-have-been-called-times [32m :not :to-have-been-called-times[0m (0.57ms) function matcher [32m function matcher[0m (0.53ms) :not function matcher [32m :not function matcher[0m (0.55ms) When using quiet specs in the batch reporter it should print nothing if all specs are quiet and color is disabled [32m and color is disabled[0m (0.39ms) and color is enabled [32m and color is enabled[0m (0.43ms) should print the containing suites for non-quiet specs and color is disabled [32m and color is disabled[0m (0.66ms) and color is enabled [32m and color is enabled[0m (0.86ms) should quiet all of the given spec statuses and color is disabled [32m and color is disabled[0m (0.43ms) and color is enabled [32m and color is enabled[0m (0.43ms) should handle `skipped' virtual status in quiet list [32m should handle `skipped' virtual status in quiet list[0m (0.86ms) should handle `disabled' virtual status in quiet list [32m should handle `disabled' virtual status in quiet list[0m (0.87ms) The `buttercup-run' function should signal an error if no suites are defined [32m should signal an error if no suites are defined[0m (0.14ms) should return :no-suites for no suites and noerror [32m should return :no-suites for no suites and noerror[0m (0.12ms) should raise an error if at least one spec failed [32m should raise an error if at least one spec failed[0m (0.14ms) should return nil for failing specs and noerror [32m should return nil for failing specs and noerror[0m (0.12ms) should return t for passing specs [32m should return t for passing specs[0m (0.15ms) should call the reporter twice with events buttercup-started and -done [32m should call the reporter twice with events buttercup-started and -done[0m (0.18ms) should call `buttercup--run-suite' once per suite [32m should call `buttercup--run-suite' once per suite[0m (0.15ms) The `buttercup--print' function should send a formatted string to the terminal [32m should send a formatted string to the terminal[0m (0.06ms) The `buttercup-mark-skipped' function should do nothing with a reversed match-all pattern [32m should do nothing with a reversed match-all pattern[0m (0.64ms) should mark all specs as pending with a reversed match none pattern [32m should mark all specs as pending with a reversed match none pattern[0m (0.28ms) should handle multiple patterns [32m should handle multiple patterns[0m (0.29ms) should support predicates [32m should support predicates[0m (0.31ms) should support reversed predicates [32m should support reversed predicates[0m (0.31ms) should signal an error for invalid matchers [32m should signal an error for invalid matchers[0m (0.26ms) Buttercup's ERT compatibility wrapper should convert `ert-test-failed' into `buttercup-failed' [32m should convert `ert-test-failed' into `buttercup-failed'[0m (0.16ms) should convert `ert-test-skipped' into `buttercup-pending' [32m should convert `ert-test-skipped' into `buttercup-pending'[0m (0.10ms) `buttercup-run-discover' should parse command line arguments ignoring `--' [32m ignoring `--'[0m (0.11ms) requiring an extra argument for `--traceback' [32m requiring an extra argument for `--traceback'[0m (0.11ms) checking `--traceback' argument for validity [32m checking `--traceback' argument for validity[0m (0.13ms) setting `buttercup-stack-frame-style' from `--traceback' arg [32m setting `buttercup-stack-frame-style' from `--traceback' arg[0m (0.18ms) requiring an extra argument for `--pattern' or `-p' [32m requiring an extra argument for `--pattern' or `-p'[0m (0.16ms) collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' [32m collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'[0m (0.19ms) clearing `buttercup-color' if `--no-color' is given [32m clearing `buttercup-color' if `--no-color' is given[0m (0.24ms) adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given [32m adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given[0m (0.22ms) adding `pending' and `passed' to quiet statuses if `--only-error' is given [32m adding `pending' and `passed' to quiet statuses if `--only-error' is given[0m (0.22ms) calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given [32m calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given[0m (0.16ms) search any unknown args for test files [32m search any unknown args for test files[0m (0.22ms) find and load files named test-*.el and *-tests?.el but no other files [32m named test-*.el and *-tests?.el but no other files[0m (6.79ms) only in given directories [32m only in given directories[0m (2.82ms) butter-minor-mode should fontify `describe' special form [32m should fontify `describe' special form[0m (0.46ms) should fontify `it' special form [32m should fontify `it' special form[0m (0.31ms) should add special forms to `imenu' [32m should add special forms to `imenu'[0m (0.53ms) should define `buttercup-minor-mode-map' [32m should define `buttercup-minor-mode-map'[0m (0.08ms) For stale `elc' file checks `buttercup-check-for-stale-elc' should do nothing for `el' files [32m should do nothing for `el' files[0m (0.15ms) should signal error when `elc' is older than `el' [32m should signal error when `elc' is older than `el'[0m (0.16ms) should not signal error when `elc' is newer than `el' [32m should not signal error when `elc' is newer than `el'[0m (0.20ms) should do nothing if the `el' file does not exist [32m should do nothing if the `el' file does not exist[0m (0.12ms) `buttercup-error-on-stale-elc' should activate with no argument [32m should activate with no argument[0m (0.09ms) should deactivate with almost any argument [32m should deactivate with almost any argument[0m (0.10ms) should toggle when given `toggle' as argument [32m should toggle when given `toggle' as argument[0m (0.15ms) Ran 289 out of 291 specs, [32m0 failed[0m, in -980.58ms. 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 [32m contains a spec with an expectation[0m (6.18ms) A suite is just a function and so is a spec [32m and so is a spec[0m (0.22ms) The :to-be matcher compares with `eq' and has a positive case [32m and has a positive case[0m (0.20ms) and can have a negative case [32m and can have a negative case[0m (0.27ms) Included matchers: The :to-be matcher compares with `eq' [32m The :to-be matcher compares with `eq'[0m (0.32ms) The :to-equal matcher works for simple literals and variables [32m works for simple literals and variables[0m (0.21ms) should work for compound objects [32m should work for compound objects[0m (0.22ms) The :to-have-same-items-as matcher compares two lists as sets [32m The :to-have-same-items-as matcher compares two lists as sets[0m (0.82ms) The :to-match matcher is for regular expressions [32m The :to-match matcher is for regular expressions[0m (0.40ms) The :to-be-truthy matcher is for boolean casting testing [32m The :to-be-truthy matcher is for boolean casting testing[0m (0.24ms) The :to-contain matcher is for finding an item in a list [32m The :to-contain matcher is for finding an item in a list[0m (0.27ms) The :to-be-less-than matcher is for mathematical comparisons [32m The :to-be-less-than matcher is for mathematical comparisons[0m (0.31ms) The :to-be-greater-than matcher is for mathematical comparisons [32m The :to-be-greater-than matcher is for mathematical comparisons[0m (0.28ms) The :to-be-close-to matcher is for precision math comparison [32m The :to-be-close-to matcher is for precision math comparison[0m (0.35ms) The :to-throw matcher is for testing if an expression throws an exception [32m is for testing if an expression throws an exception[0m (0.39ms) accepts a symbol to check for the signal thrown [32m accepts a symbol to check for the signal thrown[0m (0.37ms) optionally matches arguments to signals [32m optionally matches arguments to signals[0m (0.41ms) matches inherited signals [32m matches inherited signals[0m (0.81ms) ERT support allows you to use ERT macros in tests [32m allows you to use ERT macros in tests[0m (0.16ms) A spec is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.21ms) can have more than one expectation [32m can have more than one expectation[0m (0.32ms) A spec using :VAR has access to the variables bound in :VAR [32m has access to the variables bound in :VAR[0m (0.20ms) A spec using :VAR* has access to the variables bound in :VAR* which can refer to symbols already bound [32m has access to the variables bound in :VAR* which can refer to symbols already bound[0m (0.20ms) A spec using `before-each' and `after-each' is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.22ms) can have more than one expectation [32m can have more than one expectation[0m (0.33ms) A spec using `before-all' and `after-all' sets the initial value of foo before specs run [32m sets the initial value of foo before specs run[0m (0.29ms) does not reset foo between specs [32m does not reset foo between specs[0m (0.20ms) A spec is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.20ms) can have more than one expectation [32m can have more than one expectation[0m (0.28ms) nested inside a second describe can reference both scopes as needed [32m can reference both scopes as needed[0m (0.23ms) A spec is just a function, so it can contain any code [33m is just a function, so it can contain any code[0m[33m PENDING[0m (0.13ms) Pending specs can be declared using `xit' [33m can be declared using `xit'[0m[33m PENDING[0m (0.13ms) can be declared with `it' but without a body [33m can be declared with `it' but without a body[0m[33m PENDING[0m (0.13ms) Conditionally skip specs with the `assume' macro [33m with the `assume' macro[0m[33m !! CANCELLED !! `new-function' not availeble[0m (0.14ms) A spy tracks that the spy was called [32m tracks that the spy was called[0m (0.25ms) resets tracking after each spec [32m resets tracking after each spec[0m (0.30ms) that is defined in a nested `describe' will override any outer spy [32m will override any outer spy[0m (0.45ms) will not be active outside it's scope [32m will not be active outside it's scope[0m (0.33ms) tracks all arguments of its calls [32m tracks all arguments of its calls[0m (0.25ms) stops all execution on a function [32m stops all execution on a function[0m (0.27ms) A spy tracks that the spy was called twice [32m tracks that the spy was called twice[0m (0.25ms) A spy, when configured to call through tracks that the spy was called [32m tracks that the spy was called[0m (0.24ms) should not affect other functions [32m should not affect other functions[0m (0.31ms) when called returns the requested value [32m when called returns the requested value[0m (0.26ms) A spy, when configured to fake a return value tracks that the spy was called [32m tracks that the spy was called[0m (0.20ms) should not affect other functions [32m should not affect other functions[0m (0.28ms) when called returns the requested value [32m when called returns the requested value[0m (0.33ms) A spy, when configured with an alternate implementation tracks that the spy was called [32m tracks that the spy was called[0m (0.22ms) should not affect other functions [32m should not affect other functions[0m (0.29ms) when called returns the requested value [32m when called returns the requested value[0m (0.28ms) A spy, when configured to throw an error throws the error [32m throws the error[0m (0.31ms) A spy tracks if it was called at all [32m tracks if it was called at all[0m (0.33ms) tracks the number of times it was called [32m tracks the number of times it was called[0m (0.34ms) tracks the arguments of each call [32m tracks the arguments of each call[0m (0.34ms) tracks the arguments of all calls [32m tracks the arguments of all calls[0m (0.27ms) can provide the context and arguments to all calls [32m can provide the context and arguments to all calls[0m (0.28ms) has a shortcut to the most recent call [32m has a shortcut to the most recent call[0m (0.39ms) has a shortcut to the first call [32m has a shortcut to the first call[0m (0.28ms) tracks the return values and error signals of each call [32m tracks the return values and error signals of each call[0m (19.21ms) counts the number of successful and failed calls [32m counts the number of successful and failed calls[0m (0.97ms) can be reset [32m can be reset[0m (0.32ms) A test can issue warnings while running [32m can issue warnings while running[0m (0.23ms) [33mWarning (buttercup): This warning should be visible after the test report.[0m can capture its own warnings as part of the test [32m can capture its own warnings as part of the test[0m (0.28ms) Ran 59 out of 63 specs, [32m0 failed[0m, in 48.62ms. make[2]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.37', so suppress it. +dh_auto_build just runs make[2]: Entering directory '/build/reproducible-path/emacs-buttercup-1.37' emacs -batch -L . -f batch-byte-compile buttercup-compat.el emacs -batch -L . -f batch-byte-compile buttercup.el ./bin/buttercup -L . tests Running 291 specs. The buttercup--enclosed-expr function should handle expressions wrapped by buttercup--wrap-expr [32m expressions wrapped by buttercup--wrap-expr[0m (16.31ms) a closure with expression copy? [33m a closure with expression copy?[0m[33m !! CANCELLED !! Not testable on Emacs 30+, not relevant for Emacs 29+[0m (0.26ms) a lambda with expression copy? [32m a lambda with expression copy?[0m (0.51ms) byte compiled lambda objects [32m lambda objects[0m (0.66ms) wrapped expression [33m wrapped expression[0m[33m !! CANCELLED !! Not with Oclosures[0m (0.16ms) should error on a simple closure [32m on a simple closure[0m (0.46ms) on a closure with stackframe marker but no quoted expression [32m on a closure with stackframe marker but no quoted expression[0m (0.42ms) for multi-statement closures [32m for multi-statement closures[0m (0.45ms) for closures with non-empty argument lists [32m for closures with non-empty argument lists[0m (0.41ms) on simple lambda objects [32m on simple lambda objects[0m (8.77ms) on a lambda with stackframe marker but no quoted expression [32m on a lambda with stackframe marker but no quoted expression[0m (0.42ms) for multi-statement lambdas [32m for multi-statement lambdas[0m (0.18ms) for lambdas with non-empty argument lists [32m for lambdas with non-empty argument lists[0m (0.24ms) on byte-compiled functions with arguments [32m on byte-compiled functions with arguments[0m (0.52ms) The buttercup-failed signal can be raised [32m can be raised[0m (0.16ms) The buttercup-pending signal can be raised [32m can be raised[0m (0.14ms) The `expect' form with a matcher should translate to the function call with closures [32m with a matcher should translate to the function call with closures[0m (2.12ms) with no matcher should use `:to-be-truthy' as the matcher [32m with no matcher should use `:to-be-truthy' as the matcher[0m (0.60ms) The `buttercup-expect' function with a function as a matcher argument should not raise an error if the function returns true [32m should not raise an error if the function returns true[0m (0.26ms) should raise an error if the function returns false [32m should raise an error if the function returns false[0m (0.23ms) with a matcher argument should not raise an error if the matcher returns true [32m should not raise an error if the matcher returns true[0m (0.19ms) should raise an error if the matcher returns false [32m should raise an error if the matcher returns false[0m (0.19ms) The `buttercup-fail' function should raise a signal with its arguments [32m should raise a signal with its arguments[0m (0.17ms) The `assume' form should raise a signal if the condition is nil [32m should raise a signal if the condition is nil[0m (0.17ms) should show the format if no message is given [32m should show the format if no message is given[0m (0.17ms) should not raise a signal if the condition is non-nil [32m should not raise a signal if the condition is non-nil[0m (0.13ms) The `buttercup-skip' function should raise a signal with its arguments [32m should raise a signal with its arguments[0m (0.17ms) The `buttercup-define-matcher' macro should create a matcher usable by apply-matcher [32m should create a matcher usable by apply-matcher[0m (0.20ms) The `buttercup--apply-matcher' function should work with functions [32m should work with functions[0m (0.26ms) should work with matchers [32m should work with matchers[0m (9.40ms) should fail if the matcher is not defined [32m should fail if the matcher is not defined[0m (0.31ms) The :buttercup-define-matcher-for-unary-function helper should not modify match data [32m should not modify match data[0m (0.35ms) The :buttercup-define-matcher-for-binary-function helper should not modify match data [32m should not modify match data[0m (0.31ms) The included matcher :to-be-truthy should match for a truthy expression [32m should match for a truthy expression[0m (0.25ms) should not match for an untruthy expression [32m should not match for an untruthy expression[0m (0.23ms) :to-be should match if the args are `eq' [32m should match if the args are `eq'[0m (0.43ms) should not match if the args are not `eq' [32m should not match if the args are not `eq'[0m (0.67ms) :to-equal should match if the args are `equal' [32m should match if the args are `equal'[0m (0.38ms) should not match if the args are not `equal' [32m should not match if the args are not `equal'[0m (0.36ms) :not should invert the car of the nested matcher's return value [32m should invert the car of the nested matcher's return value[0m (0.51ms) :to-have-same-items-as should match equal sets [32m should match equal sets[0m (0.45ms) should notice missing elements in the second argument [32m should notice missing elements in the second argument[0m (0.48ms) should notice extra items in the second argument [32m should notice extra items in the second argument[0m (0.49ms) should notice extra items in both arguments [32m should notice extra items in both arguments[0m (0.51ms) :to-match should match the first argument against a regex [32m should match the first argument against a regex[0m (4.73ms) should show regex mismatches [32m should show regex mismatches[0m (0.40ms) :to-be-in should match when the first argument is a member of the second argument [32m should match when the first argument is a member of the second argument[0m (0.44ms) should not match when the first argument is not a member of the second argument [32m should not match when the first argument is not a member of the second argument[0m (0.43ms) :to-contain should match when the second argument is a member of the first argument [32m should match when the second argument is a member of the first argument[0m (0.40ms) should not match when the second argument is not a member of the first argument [32m should not match when the second argument is not a member of the first argument[0m (0.43ms) :to-be-less-than should match when the first argument is less than the second argument [32m should match when the first argument is less than the second argument[0m (0.35ms) should not match when the first argument is equal to the second argument [32m should not match when the first argument is equal to the second argument[0m (0.33ms) should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (4.66ms) :to-be-greater-than should match when the first argument is greater than the second argument [32m should match when the first argument is greater than the second argument[0m (0.65ms) should not match when the first argument is equal to the second argument [32m should not match when the first argument is equal to the second argument[0m (0.31ms) should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.33ms) :to-be-weakly-less-than should match when the first argument is less than the second argument [32m should match when the first argument is less than the second argument[0m (0.32ms) should match when the first argument is equal to the second argument [32m should match when the first argument is equal to the second argument[0m (0.32ms) should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.34ms) :to-be-weakly-greater-than should match when the first argument is greater than the second argument [32m should match when the first argument is greater than the second argument[0m (0.33ms) should match when the first argument is equal to the second argument [32m should match when the first argument is equal to the second argument[0m (0.31ms) should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (4.62ms) :to-be-close-to should match when value difference is less than precision [32m should match when value difference is less than precision[0m (0.71ms) should not match when value difference is larger than precision [32m should not match when value difference is larger than precision[0m (0.41ms) :to-throw should match when signal symbol and argument match exactly [32m should match when signal symbol and argument match exactly[0m (0.27ms) should match the error symbol without args [32m should match the error symbol without args[0m (0.28ms) should match the with no error signal specified [32m should match the with no error signal specified[0m (0.22ms) should match a child signal [32m should match a child signal[0m (0.27ms) should match child signals and equal arguments [32m should match child signals and equal arguments[0m (0.28ms) should not match with different arguments [32m should not match with different arguments[0m (0.34ms) should not match an unrelated symbol [32m should not match an unrelated symbol[0m (0.30ms) should not match a parent signal [32m should not match a parent signal[0m (4.64ms) should not match when no signal is raised and not mention unspecified signal [32m and not mention unspecified signal[0m (0.41ms) and mention any specified signal [32m and mention any specified signal[0m (0.34ms) :to-have-been-called should not match if the spy has not been called [32m should not match if the spy has not been called[0m (0.23ms) should match if the spy has been called once [32m should match if the spy has been called once[0m (0.20ms) should match if the spy has been called multiple times [32m should match if the spy has been called multiple times[0m (133.76ms) :to-have-been-called-with should not match if the spy has not been called at all [32m should not match if the spy has not been called at all[0m (2.32ms) should not match if the spy has not been called with the specified arguments [32m should not match if the spy has not been called with the specified arguments[0m (0.38ms) should match if the spy has been called once with the specified arguments [32m should match if the spy has been called once with the specified arguments[0m (0.27ms) should match if the spy has been called multiple times with the specified arguments [32m should match if the spy has been called multiple times with the specified arguments[0m (0.25ms) :to-have-been-called-times should not match if the spy has been called less times [32m should not match if the spy has been called less times[0m (0.27ms) should not match if the spy has been called more times [32m should not match if the spy has been called more times[0m (0.30ms) should match if the spy has been called the correct number of times [32m should match if the spy has been called the correct number of times[0m (0.31ms) should match if the spy has been called 0 times [32m should match if the spy has been called 0 times[0m (0.29ms) The `buttercup-suite-add-child' function should add an element at the end of the list and return it [32m should add an element at the end of the list and return it[0m (0.48ms) should add an element even if the list is empty and return it [32m should add an element even if the list is empty and return it[0m (0.31ms) should add the parent to the child [32m should add the parent to the child[0m (0.19ms) The `buttercup-suite-parents' function should return the list of parents for a suite [32m should return the list of parents for a suite[0m (0.21ms) The `buttercup-spec-parents' function should return the list of parents for a spec [32m should return the list of parents for a spec[0m (0.21ms) The `buttercup-suites-total-specs-defined' function should return the number of specs in a list of suites [32m should return the number of specs in a list of suites[0m (0.19ms) The `buttercup-suites-total-specs-pending' function should return the number of pending specs in a list of suites [32m should return the number of pending specs in a list of suites[0m (0.44ms) should also count skipped specs [32m should also count skipped specs[0m (0.40ms) The `buttercup-suites-total-specs-failed' function should return the number of failed specs in a list of suites [32m should return the number of failed specs in a list of suites[0m (0.20ms) The `buttercup-suite-full-name' function should return the full name of a suite without parents [32m should return the full name of a suite without parents[0m (0.18ms) should return the full name of a suite with parents [32m should return the full name of a suite with parents[0m (0.20ms) The `buttercup-spec-full-name' function should return the full name of a spec without parents [32m should return the full name of a spec without parents[0m (0.70ms) should return the full name of a spec with parents [32m should return the full name of a spec with parents[0m (0.53ms) The `buttercup-elapsed-time' function should report elapsed time for suites [32m should report elapsed time for suites[0m (1.01ms) should report elapsed time for specs [32m should report elapsed time for specs[0m (0.79ms) The `buttercup--run-suite' function should set start and end time of the suite [32m should set start and end time of the suite[0m (0.80ms) The `buttercup--run-spec' function should set start and end time of the spec [32m should set start and end time of the spec[0m (1.02ms) should not overwrite pending status with `after-each' results [32m should not overwrite pending status with `after-each' results[0m (0.35ms) should set status to pending for assume in `before-each' [32m for assume in `before-each'[0m (0.58ms) for assume in spec [32m for assume in spec[0m (0.32ms) for assume in `after-each' [32m for assume in `after-each'[0m (0.46ms) The `describe' macro should expand to a simple call to the buttercup-describe function [32m should expand to a simple call to the buttercup-describe function[0m (0.19ms) should support the :var argument [32m should support the :var argument[0m (0.21ms) should support the :var* argument [32m should support the :var* argument[0m (0.17ms) should error when :var is not first [32m :var is not first[0m (0.18ms) :var* is not first [32m :var* is not first[0m (0.20ms) is expanded with `lexical-binding' nil [32m is expanded with `lexical-binding' nil[0m (0.22ms) The `buttercup-describe' function should run the enclosing body [32m should run the enclosing body[0m (0.15ms) should set the `buttercup-suites' variable [32m should set the `buttercup-suites' variable[0m (0.20ms) should add child suites when called nested [32m should add child suites when called nested[0m (0.35ms) The `it' macro should expand to a call to the `buttercup-it' function [32m should expand to a call to the `buttercup-it' function[0m (0.16ms) without argument should expand to xit. [32m without argument should expand to xit.[0m (0.15ms) The `buttercup-it' function should fail if not called from within a describe form [32m should fail if not called from within a describe form[0m (0.15ms) should add a spec to the current suite and return the spec [32m should add a spec to the current suite and return the spec[0m (0.47ms) The `before-each' macro expands to a function call [32m expands to a function call[0m (0.16ms) The `buttercup-before-each' function adds its argument to the before-each list of the current suite [32m adds its argument to the before-each list of the current suite[0m (0.17ms) The `after-each' macro expands to a function call [32m expands to a function call[0m (0.16ms) The `buttercup-after-each' function adds its argument to the after-each list of the current suite [32m adds its argument to the after-each list of the current suite[0m (0.18ms) The `before-all' macro expands to a function call [32m expands to a function call[0m (0.16ms) The `buttercup-before-all' function adds its argument to the before-all list of the current suite [32m adds its argument to the before-all list of the current suite[0m (0.22ms) The `after-all' macro expands to a function call [32m expands to a function call[0m (0.19ms) The `buttercup-after-all' function adds its argument to the after-all list of the current suite [32m adds its argument to the after-all list of the current suite[0m (3.01ms) The `xdescribe' macro expands directly to a function call [32m expands directly to a function call[0m (0.26ms) changes contained it-specs to pending specs [32m changes contained it-specs to pending specs[0m (0.24ms) should add a pending suite [32m should add a pending suite[0m (0.24ms) The `xit' macro expands directly to a function call [32m expands directly to a function call[0m (0.17ms) The `buttercup-xit' function should be a no-op [32m should be a no-op[0m (0.19ms) should add a function that raises a pending signal [32m should add a function that raises a pending signal[0m (0.30ms) should mark the suite as pending [32m should mark the suite as pending[0m (0.22ms) should set the failure description to PENDING [32m should set the failure description to PENDING[0m (0.38ms) The Spy `spy-on' function replaces a symbol's function slot [32m replaces a symbol's function slot[0m (0.18ms) restores the old value after a spec run [32m restores the old value after a spec run[0m (0.15ms) allows a spied-on command to be executed as a command [32m allows a spied-on command to be executed as a command[0m (0.26ms) can spy on autoloaded functions [32m can spy on autoloaded functions[0m (15.37ms) can spy on non-existing functions [32m can spy on non-existing functions[0m (0.17ms) only accepts ARG for keywords that use it [32m only accepts ARG for keywords that use it[0m (0.50ms) works on native-compilation primitives [32m works on native-compilation primitives[0m (0.48ms) will signal en error if used in before-all [32m used in before-all[0m (0.20ms) used directly in describe [32m used directly in describe[0m (0.17ms) :to-have-been-called matcher returns false if the spy was not called [32m returns false if the spy was not called[0m (0.22ms) returns true if the spy was called at all [32m returns true if the spy was called at all[0m (0.20ms) :to-have-been-called-with matcher returns false if the spy was not called at all [32m returns false if the spy was not called at all[0m (0.40ms) returns false if the spy was called with different arguments [32m returns false if the spy was called with different arguments[0m (0.37ms) returns true if the spy was called with those arguments [32m returns true if the spy was called with those arguments[0m (0.29ms) :to-have-been-called-times matcher returns error if the spy was called less than expected [32m returns error if the spy was called less than expected[0m (0.25ms) returns error if the spy was called more than expected [32m returns error if the spy was called more than expected[0m (0.25ms) returns true if the spy was called the expected number of times [32m returns true if the spy was called the expected number of times[0m (0.25ms) use plural words in error message [32m use plural words in error message[0m (0.25ms) use singular expected word in error message [32m use singular expected word in error message[0m (0.25ms) use singular actual word in error message [32m use singular actual word in error message[0m (0.24ms) :and-call-through keyword functionality tracks calls to the function [32m tracks calls to the function[0m (0.07ms) passes the arguments to the original function [32m passes the arguments to the original function[0m (0.20ms) :and-return-value keyword functionality tracks calls to the function [32m tracks calls to the function[0m (0.08ms) returns the specified value [32m returns the specified value[0m (0.19ms) works with strings [32m works with strings[0m (0.19ms) works with vectors [32m works with vectors[0m (0.19ms) works with symbols [32m works with symbols[0m (0.19ms) works with conses [32m works with conses[0m (0.19ms) works with lists [32m works with lists[0m (0.19ms) works with alists [32m works with alists[0m (8.86ms) :and-call-fake keyword functionality tracks calls to the function [32m tracks calls to the function[0m (0.17ms) returns the specified value [32m returns the specified value[0m (0.18ms) :and-throw-error keyword functionality throws an error when called [32m throws an error when called[0m (0.23ms) error-recording functionality records the function as called even if it throws an error [32m records the function as called even if it throws an error[0m (0.34ms) counts both successful calls and calls that threw errors [32m counts both successful calls and calls that threw errors[0m (0.36ms) records args to the function whether it throw an error or not [32m records args to the function whether it throw an error or not[0m (0.50ms) records the signal thrown by a call to the function [32m records the signal thrown by a call to the function[0m (0.41ms) The batch reporters on the buttercup-started event should print the number of specs [32m should print the number of specs[0m (0.65ms) should color-print the number of specs with the default color [32m should color-print the number of specs with the default color[0m (0.94ms) should print the number of skipped specs [32m should print the number of skipped specs[0m (0.37ms) should color-print the number of skipped specs with the default color [32m should color-print the number of skipped specs with the default color[0m (0.35ms) on the suite-started event should emit an indented suite description [32m should emit an indented suite description[0m (0.31ms) should color-print an indented suite description with the default color [32m should color-print an indented suite description with the default color[0m (0.32ms) on the spec-started event should emit an indented spec description [32m should emit an indented spec description[0m (0.31ms) should color-print an indented spec description with the default color [32m should color-print an indented spec description with the default color[0m (0.31ms) on the spec-done event for a passed spec should print no status tag [32m should print no status tag[0m (0.43ms) should color-print the description in green and no status tag [32m should color-print the description in green and no status tag[0m (1.23ms) should print multiline specs cleanly [32m should print multiline specs cleanly[0m (0.49ms) should color-print multiline specs cleanly [32m should color-print multiline specs cleanly[0m (0.62ms) for a failed spec should say FAILED [32m should say FAILED[0m (0.74ms) should color-print the description in red and say FAILED [32m should color-print the description in red and say FAILED[0m (0.91ms) for a pending spec should output the failure-description [32m should output the failure-description[0m (0.59ms) should color-print the description and failure-description in yellow [32m should color-print the description and failure-description in yellow[0m (0.72ms) should throw an error for an unknown spec status for plain output [32m for plain output[0m (0.24ms) for colored output [32m for colored output[0m (0.21ms) on the suite-done event should emit a newline at the end of a top-level suite [32m should emit a newline at the end of a top-level suite[0m (0.33ms) should color-print a newline at the end of a top-level suite [32m should color-print a newline at the end of a top-level suite[0m (0.31ms) should not emit anything at the end of other suites [32m should not emit anything at the end of other suites[0m (0.28ms) should not color-print anything at the end of other suites [32m should not color-print anything at the end of other suites[0m (0.26ms) on the buttercup-done event should print a summary of run and failing specs [32m should print a summary of run and failing specs[0m (9.26ms) should color-print `0 failed' specs in green [32m should color-print `0 failed' specs in green[0m (0.93ms) should color-print `X failed' specs in red [32m should color-print `X failed' specs in red[0m (0.65ms) should print a summary separating run and pending specs [32m should print a summary separating run and pending specs[0m (0.42ms) should color-print pending spec count in default color [32m should color-print pending spec count in default color[0m (0.62ms) should not raise any error even if a spec failed [32m should not raise any error even if a spec failed[0m (9.56ms) on an unknown event should raise an error [32m should raise an error[0m (0.25ms) Backtraces should not be collected or printed for failed specs [32m failed specs[0m (2.72ms) passed specs [32m passed specs[0m (0.97ms) skipped specs [32m skipped specs[0m (0.84ms) should be collected for errors in matchers [32m matchers[0m (1.23ms) with style `crop' should print truncated lines [32m `crop' should print truncated lines[0m (25.48ms) `full' should print full lines [32m `full' should print full lines[0m (2.01ms) `pretty' should pretty-print frames [32m `pretty' should pretty-print frames[0m (6.57ms) `omit' should print nothing [32m `omit' should print nothing[0m (0.58ms) should signal an error for unknown styles [32m should signal an error for unknown styles[0m (0.25ms) should generate correct backtrace for no matcher [32m no matcher[0m (6.79ms) :to-be-truthy [32m :to-be-truthy[0m (5.00ms) :not :to-be-truthy [32m :not :to-be-truthy[0m (1.53ms) :to-be [32m :to-be[0m (1.24ms) :not :to-be [32m :not :to-be[0m (1.28ms) :to-equal [32m :to-equal[0m (3.79ms) :not :to-equal [32m :not :to-equal[0m (1.36ms) :to-have-same-items-as [32m :to-have-same-items-as[0m (1.18ms) :not :to-have-same-items-as [32m :not :to-have-same-items-as[0m (1.60ms) :to-match [32m :to-match[0m (7.72ms) :not :to-match [32m :not :to-match[0m (1.48ms) :to-be-in [32m :to-be-in[0m (1.21ms) :not :to-be-in [32m :not :to-be-in[0m (1.19ms) :to-contain [32m :to-contain[0m (68.54ms) :not :to-contain [32m :not :to-contain[0m (1.23ms) :to-be-less-than [32m :to-be-less-than[0m (1.10ms) :not :to-be-less-than [32m :not :to-be-less-than[0m (1.12ms) :to-be-greater-than [32m :to-be-greater-than[0m (1.33ms) :not :to-be-greater-than [32m :not :to-be-greater-than[0m (1.27ms) :to-be-weakly-less-than [32m :to-be-weakly-less-than[0m (1.22ms) :not :to-be-weakly-less-than [32m :not :to-be-weakly-less-than[0m (1.33ms) :to-be-weakly-greater-than [32m :to-be-weakly-greater-than[0m (1.19ms) :not :to-be-weakly-greater-than [32m :not :to-be-weakly-greater-than[0m (1.29ms) :to-be-close-to [32m :to-be-close-to[0m (1.64ms) :not :to-be-close-to [32m :not :to-be-close-to[0m (1.08ms) :to-have-been-called [32m :to-have-been-called[0m (1.01ms) :not :to-have-been-called [32m :not :to-have-been-called[0m (1.08ms) :to-have-been-called-with [32m :to-have-been-called-with[0m (1.10ms) :not :to-have-been-called-with [32m :not :to-have-been-called-with[0m (1.07ms) :to-have-been-called-times [32m :to-have-been-called-times[0m (0.99ms) :not :to-have-been-called-times [32m :not :to-have-been-called-times[0m (3.24ms) function matcher [32m function matcher[0m (1.16ms) :not function matcher [32m :not function matcher[0m (1.10ms) When using quiet specs in the batch reporter it should print nothing if all specs are quiet and color is disabled [32m and color is disabled[0m (0.71ms) and color is enabled [32m and color is enabled[0m (0.76ms) should print the containing suites for non-quiet specs and color is disabled [32m and color is disabled[0m (1.22ms) and color is enabled [32m and color is enabled[0m (2.47ms) should quiet all of the given spec statuses and color is disabled [32m and color is disabled[0m (0.79ms) and color is enabled [32m and color is enabled[0m (0.79ms) should handle `skipped' virtual status in quiet list [32m should handle `skipped' virtual status in quiet list[0m (1.62ms) should handle `disabled' virtual status in quiet list [32m should handle `disabled' virtual status in quiet list[0m (1.60ms) The `buttercup-run' function should signal an error if no suites are defined [32m should signal an error if no suites are defined[0m (0.23ms) should return :no-suites for no suites and noerror [32m should return :no-suites for no suites and noerror[0m (0.22ms) should raise an error if at least one spec failed [32m should raise an error if at least one spec failed[0m (0.27ms) should return nil for failing specs and noerror [32m should return nil for failing specs and noerror[0m (0.54ms) should return t for passing specs [32m should return t for passing specs[0m (0.34ms) should call the reporter twice with events buttercup-started and -done [32m should call the reporter twice with events buttercup-started and -done[0m (0.41ms) should call `buttercup--run-suite' once per suite [32m should call `buttercup--run-suite' once per suite[0m (0.30ms) The `buttercup--print' function should send a formatted string to the terminal [32m should send a formatted string to the terminal[0m (0.10ms) The `buttercup-mark-skipped' function should do nothing with a reversed match-all pattern [32m should do nothing with a reversed match-all pattern[0m (1.45ms) should mark all specs as pending with a reversed match none pattern [32m should mark all specs as pending with a reversed match none pattern[0m (0.58ms) should handle multiple patterns [32m should handle multiple patterns[0m (0.67ms) should support predicates [32m should support predicates[0m (0.57ms) should support reversed predicates [32m should support reversed predicates[0m (0.57ms) should signal an error for invalid matchers [32m should signal an error for invalid matchers[0m (0.49ms) Buttercup's ERT compatibility wrapper should convert `ert-test-failed' into `buttercup-failed' [32m should convert `ert-test-failed' into `buttercup-failed'[0m (0.29ms) should convert `ert-test-skipped' into `buttercup-pending' [32m should convert `ert-test-skipped' into `buttercup-pending'[0m (0.19ms) `buttercup-run-discover' should parse command line arguments ignoring `--' [32m ignoring `--'[0m (0.20ms) requiring an extra argument for `--traceback' [32m requiring an extra argument for `--traceback'[0m (0.21ms) checking `--traceback' argument for validity [32m checking `--traceback' argument for validity[0m (0.26ms) setting `buttercup-stack-frame-style' from `--traceback' arg [32m setting `buttercup-stack-frame-style' from `--traceback' arg[0m (0.37ms) requiring an extra argument for `--pattern' or `-p' [32m requiring an extra argument for `--pattern' or `-p'[0m (0.43ms) collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' [32m collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'[0m (0.42ms) clearing `buttercup-color' if `--no-color' is given [32m clearing `buttercup-color' if `--no-color' is given[0m (0.57ms) adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given [32m adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given[0m (0.51ms) adding `pending' and `passed' to quiet statuses if `--only-error' is given [32m adding `pending' and `passed' to quiet statuses if `--only-error' is given[0m (0.49ms) calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given [32m calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given[0m (0.28ms) search any unknown args for test files [32m search any unknown args for test files[0m (0.52ms) find and load files named test-*.el and *-tests?.el but no other files [32m named test-*.el and *-tests?.el but no other files[0m (28.63ms) only in given directories [32m only in given directories[0m (24.58ms) butter-minor-mode should fontify `describe' special form [32m should fontify `describe' special form[0m (0.83ms) should fontify `it' special form [32m should fontify `it' special form[0m (0.42ms) should add special forms to `imenu' [32m should add special forms to `imenu'[0m (0.95ms) should define `buttercup-minor-mode-map' [32m should define `buttercup-minor-mode-map'[0m (0.13ms) For stale `elc' file checks `buttercup-check-for-stale-elc' should do nothing for `el' files [32m should do nothing for `el' files[0m (0.24ms) should signal error when `elc' is older than `el' [32m should signal error when `elc' is older than `el'[0m (0.28ms) should not signal error when `elc' is newer than `el' [32m should not signal error when `elc' is newer than `el'[0m (9.26ms) should do nothing if the `el' file does not exist [32m should do nothing if the `el' file does not exist[0m (0.26ms) `buttercup-error-on-stale-elc' should activate with no argument [32m should activate with no argument[0m (0.20ms) should deactivate with almost any argument [32m should deactivate with almost any argument[0m (0.20ms) should toggle when given `toggle' as argument [32m should toggle when given `toggle' as argument[0m (0.32ms) Ran 289 out of 291 specs, [32m0 failed[0m, in -918.00ms. 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 [32m contains a spec with an expectation[0m (22.94ms) A suite is just a function and so is a spec [32m and so is a spec[0m (0.52ms) The :to-be matcher compares with `eq' and has a positive case [32m and has a positive case[0m (0.23ms) and can have a negative case [32m and can have a negative case[0m (0.29ms) Included matchers: The :to-be matcher compares with `eq' [32m The :to-be matcher compares with `eq'[0m (0.42ms) The :to-equal matcher works for simple literals and variables [32m works for simple literals and variables[0m (0.27ms) should work for compound objects [32m should work for compound objects[0m (0.26ms) The :to-have-same-items-as matcher compares two lists as sets [32m The :to-have-same-items-as matcher compares two lists as sets[0m (1.60ms) The :to-match matcher is for regular expressions [32m The :to-match matcher is for regular expressions[0m (0.69ms) The :to-be-truthy matcher is for boolean casting testing [32m The :to-be-truthy matcher is for boolean casting testing[0m (0.36ms) The :to-contain matcher is for finding an item in a list [32m The :to-contain matcher is for finding an item in a list[0m (0.43ms) The :to-be-less-than matcher is for mathematical comparisons [32m The :to-be-less-than matcher is for mathematical comparisons[0m (0.47ms) The :to-be-greater-than matcher is for mathematical comparisons [32m The :to-be-greater-than matcher is for mathematical comparisons[0m (0.55ms) The :to-be-close-to matcher is for precision math comparison [32m The :to-be-close-to matcher is for precision math comparison[0m (0.52ms) The :to-throw matcher is for testing if an expression throws an exception [32m is for testing if an expression throws an exception[0m (0.69ms) accepts a symbol to check for the signal thrown [32m accepts a symbol to check for the signal thrown[0m (0.67ms) optionally matches arguments to signals [32m optionally matches arguments to signals[0m (0.72ms) matches inherited signals [32m matches inherited signals[0m (1.68ms) ERT support allows you to use ERT macros in tests [32m allows you to use ERT macros in tests[0m (0.17ms) A spec is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.27ms) can have more than one expectation [32m can have more than one expectation[0m (0.37ms) A spec using :VAR has access to the variables bound in :VAR [32m has access to the variables bound in :VAR[0m (0.32ms) A spec using :VAR* has access to the variables bound in :VAR* which can refer to symbols already bound [32m has access to the variables bound in :VAR* which can refer to symbols already bound[0m (0.26ms) A spec using `before-each' and `after-each' is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.27ms) can have more than one expectation [32m can have more than one expectation[0m (0.43ms) A spec using `before-all' and `after-all' sets the initial value of foo before specs run [32m sets the initial value of foo before specs run[0m (0.48ms) does not reset foo between specs [32m does not reset foo between specs[0m (0.36ms) A spec is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.30ms) can have more than one expectation [32m can have more than one expectation[0m (0.45ms) nested inside a second describe can reference both scopes as needed [32m can reference both scopes as needed[0m (0.30ms) A spec is just a function, so it can contain any code [33m is just a function, so it can contain any code[0m[33m PENDING[0m (0.13ms) Pending specs can be declared using `xit' [33m can be declared using `xit'[0m[33m PENDING[0m (0.12ms) can be declared with `it' but without a body [33m can be declared with `it' but without a body[0m[33m PENDING[0m (0.12ms) Conditionally skip specs with the `assume' macro [33m with the `assume' macro[0m[33m !! CANCELLED !! `new-function' not availeble[0m (0.13ms) A spy tracks that the spy was called [32m tracks that the spy was called[0m (0.31ms) resets tracking after each spec [32m resets tracking after each spec[0m (0.41ms) that is defined in a nested `describe' will override any outer spy [32m will override any outer spy[0m (0.59ms) will not be active outside it's scope [32m will not be active outside it's scope[0m (0.43ms) tracks all arguments of its calls [32m tracks all arguments of its calls[0m (0.33ms) stops all execution on a function [32m stops all execution on a function[0m (0.39ms) A spy tracks that the spy was called twice [32m tracks that the spy was called twice[0m (0.29ms) A spy, when configured to call through tracks that the spy was called [32m tracks that the spy was called[0m (0.26ms) should not affect other functions [32m should not affect other functions[0m (0.41ms) when called returns the requested value [32m when called returns the requested value[0m (0.39ms) A spy, when configured to fake a return value tracks that the spy was called [32m tracks that the spy was called[0m (0.31ms) should not affect other functions [32m should not affect other functions[0m (0.40ms) when called returns the requested value [32m when called returns the requested value[0m (4.55ms) A spy, when configured with an alternate implementation tracks that the spy was called [32m tracks that the spy was called[0m (0.56ms) should not affect other functions [32m should not affect other functions[0m (0.53ms) when called returns the requested value [32m when called returns the requested value[0m (0.40ms) A spy, when configured to throw an error throws the error [32m throws the error[0m (0.51ms) A spy tracks if it was called at all [32m tracks if it was called at all[0m (0.51ms) tracks the number of times it was called [32m tracks the number of times it was called[0m (0.52ms) tracks the arguments of each call [32m tracks the arguments of each call[0m (1.18ms) tracks the arguments of all calls [32m tracks the arguments of all calls[0m (0.41ms) can provide the context and arguments to all calls [32m can provide the context and arguments to all calls[0m (0.48ms) has a shortcut to the most recent call [32m has a shortcut to the most recent call[0m (0.65ms) has a shortcut to the first call [32m has a shortcut to the first call[0m (0.47ms) tracks the return values and error signals of each call [32m tracks the return values and error signals of each call[0m (51.09ms) counts the number of successful and failed calls [32m counts the number of successful and failed calls[0m (3.83ms) can be reset [32m can be reset[0m (0.60ms) A test can issue warnings while running [32m can issue warnings while running[0m (0.37ms) [33mWarning (buttercup): This warning should be visible after the test report.[0m can capture its own warnings as part of the test [32m can capture its own warnings as part of the test[0m (0.57ms) Ran 59 out of 63 specs, [32m0 failed[0m, in 117.51ms. make[2]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.37', so suppress it. make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.37' dh_auto_test - make -j42 test + make -j20 test make[1]: Entering directory '/build/reproducible-path/emacs-buttercup-1.37' ./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/50autoconf.el (source)... +Loading /etc/emacs/site-start.d/00debian.el (source)... Package autoload is deprecated -Running 60 out of 63 specs. - -A suite - contains a spec with an expectation [32m contains a spec with an expectation[0m (6.29ms) - -A suite is just a function - and so is a spec [32m and so is a spec[0m (0.23ms) - -The :to-be matcher compares with `eq' - and has a positive case [32m and has a positive case[0m (0.23ms) - and can have a negative case [32m and can have a negative case[0m (0.24ms) - -Included matchers: - The :to-be matcher compares with `eq' [32m The :to-be matcher compares with `eq'[0m (0.40ms) - The :to-equal matcher - works for simple literals and variables [32m works for simple literals and variables[0m (0.29ms) - should work for compound objects [32m should work for compound objects[0m (0.25ms) - The :to-have-same-items-as matcher compares two lists as sets [32m The :to-have-same-items-as matcher compares two lists as sets[0m (0.72ms) - The :to-match matcher is for regular expressions [32m The :to-match matcher is for regular expressions[0m (0.43ms) - The :to-be-truthy matcher is for boolean casting testing [32m The :to-be-truthy matcher is for boolean casting testing[0m (0.28ms) - The :to-contain matcher is for finding an item in a list [32m The :to-contain matcher is for finding an item in a list[0m (0.37ms) - The :to-be-less-than matcher is for mathematical comparisons [32m The :to-be-less-than matcher is for mathematical comparisons[0m (0.34ms) - The :to-be-greater-than matcher is for mathematical comparisons [32m The :to-be-greater-than matcher is for mathematical comparisons[0m (0.36ms) - The :to-be-close-to matcher is for precision math comparison [32m The :to-be-close-to matcher is for precision math comparison[0m (0.36ms) - The :to-throw matcher - is for testing if an expression throws an exception [32m is for testing if an expression throws an exception[0m (0.43ms) - accepts a symbol to check for the signal thrown [32m accepts a symbol to check for the signal thrown[0m (0.37ms) - optionally matches arguments to signals [32m optionally matches arguments to signals[0m (0.44ms) - matches inherited signals [32m matches inherited signals[0m (0.79ms) - -ERT support - allows you to use ERT macros in tests [32m allows you to use ERT macros in tests[0m (0.18ms) - -A spec - is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.23ms) - can have more than one expectation [32m can have more than one expectation[0m (0.31ms) - -A spec using :VAR - has access to the variables bound in :VAR [32m has access to the variables bound in :VAR[0m (0.22ms) - -A spec using :VAR* - has access to the variables bound in :VAR* which can refer to symbols already bound [32m has access to the variables bound in :VAR* which can refer to symbols already bound[0m (0.22ms) - -A spec using `before-each' and `after-each' - is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.25ms) - can have more than one expectation [32m can have more than one expectation[0m (0.35ms) - -A spec using `before-all' and `after-all' - sets the initial value of foo before specs run [32m sets the initial value of foo before specs run[0m (0.24ms) - does not reset foo between specs [32m does not reset foo between specs[0m (0.23ms) - -A spec - is just a function, so it can contain any code [32m is just a function, so it can contain any code[0m (0.24ms) - can have more than one expectation [32m can have more than one expectation[0m (0.36ms) - nested inside a second describe - can reference both scopes as needed [32m can reference both scopes as needed[0m (0.28ms) - -A spec - is just a function, so it can contain any code [33m is just a function, so it can contain any code[0m[33m PENDING[0m (0.12ms) - -Pending specs - can be declared using `xit' [33m can be declared using `xit'[0m[33m PENDING[0m (0.11ms) - can be declared with `it' but without a body [33m can be declared with `it' but without a body[0m[33m PENDING[0m (0.13ms) - -Conditionally skip specs - with the `assume' macro [33m with the `assume' macro[0m[33m !! CANCELLED !! `new-function' not availeble[0m (0.18ms) - -A spy - tracks that the spy was called [32m tracks that the spy was called[0m (0.29ms) - resets tracking after each spec [32m resets tracking after each spec[0m (0.35ms) - that is defined in a nested `describe' - will override any outer spy [32m will override any outer spy[0m (0.41ms) - will not be active outside it's scope [32m will not be active outside it's scope[0m (0.30ms) - tracks all arguments of its calls [32m tracks all arguments of its calls[0m (0.28ms) - stops all execution on a function [32m stops all execution on a function[0m (0.30ms) - -A spy - tracks that the spy was called twice [32m tracks that the spy was called twice[0m (0.25ms) - -A spy, when configured to call through - tracks that the spy was called [32m tracks that the spy was called[0m (0.25ms) - should not affect other functions [32m should not affect other functions[0m (0.34ms) - when called returns the requested value [32m when called returns the requested value[0m (0.36ms) - -A spy, when configured to fake a return value - tracks that the spy was called [32m tracks that the spy was called[0m (0.24ms) - should not affect other functions [32m should not affect other functions[0m (0.34ms) - when called returns the requested value [32m when called returns the requested value[0m (0.30ms) - -A spy, when configured with an alternate implementation - tracks that the spy was called [32m tracks that the spy was called[0m (0.23ms) - should not affect other functions [32m should not affect other functions[0m (0.32ms) - when called returns the requested value [32m when called returns the requested value[0m (0.32ms) - -A spy, when configured to throw an error - throws the error [32m throws the error[0m (0.36ms) - -A spy - tracks if it was called at all [32m tracks if it was called at all[0m (0.35ms) - tracks the number of times it was called [32m tracks the number of times it was called[0m (0.36ms) - tracks the arguments of each call [32m tracks the arguments of each call[0m (0.36ms) - tracks the arguments of all calls [32m tracks the arguments of all calls[0m (0.33ms) - can provide the context and arguments to all calls [32m can provide the context and arguments to all calls[0m (0.33ms) - has a shortcut to the most recent call [32m has a shortcut to the most recent call[0m (0.41ms) - has a shortcut to the first call [32m has a shortcut to the first call[0m (0.32ms) - tracks the return values and error signals of each call [32m tracks the return values and error signals of each call[0m (17.88ms) - counts the number of successful and failed calls [32m counts the number of successful and failed calls[0m (1.03ms) - can be reset [32m can be reset[0m (0.32ms) - -A test - can issue warnings while running [32m can issue warnings while running[0m (0.24ms) -[33mWarning (buttercup): This warning should be visible after the test report.[0m - can capture its own warnings as part of the test [32m can capture its own warnings as part of the test[0m (0.30ms) - -Ran 59 out of 63 specs, [32m0 failed[0m, in 48.68ms. +Loading /etc/emacs/site-start.d/50autoconf.el (source)... Running 291 specs. The buttercup--enclosed-expr function should handle - expressions wrapped by buttercup--wrap-expr [32m expressions wrapped by buttercup--wrap-expr[0m (2.68ms) - a closure with expression copy? [33m a closure with expression copy?[0m[33m !! CANCELLED !! Not testable on Emacs 30+, not relevant for Emacs 29+[0m (0.08ms) - a lambda with expression copy? [32m a lambda with expression copy?[0m (0.15ms) + expressions wrapped by buttercup--wrap-expr [32m expressions wrapped by buttercup--wrap-expr[0m (5.72ms) + a closure with expression copy? [33m a closure with expression copy?[0m[33m !! CANCELLED !! Not testable on Emacs 30+, not relevant for Emacs 29+[0m (0.51ms) + a lambda with expression copy? [32m a lambda with expression copy?[0m (0.48ms) byte compiled - lambda objects [32m lambda objects[0m (0.23ms) - wrapped expression [33m wrapped expression[0m[33m !! CANCELLED !! Not with Oclosures[0m (0.06ms) + lambda objects [32m lambda objects[0m (0.60ms) + wrapped expression [33m wrapped expression[0m[33m !! CANCELLED !! Not with Oclosures[0m (0.42ms) should error - on a simple closure [32m on a simple closure[0m (0.20ms) - on a closure with stackframe marker but no quoted expression [32m on a closure with stackframe marker but no quoted expression[0m (0.18ms) - for multi-statement closures [32m for multi-statement closures[0m (0.20ms) - for closures with non-empty argument lists [32m for closures with non-empty argument lists[0m (0.18ms) - on simple lambda objects [32m on simple lambda objects[0m (0.14ms) - on a lambda with stackframe marker but no quoted expression [32m on a lambda with stackframe marker but no quoted expression[0m (0.16ms) - for multi-statement lambdas [32m for multi-statement lambdas[0m (0.16ms) - for lambdas with non-empty argument lists [32m for lambdas with non-empty argument lists[0m (0.16ms) - on byte-compiled functions with arguments [32m on byte-compiled functions with arguments[0m (0.28ms) + on a simple closure [32m on a simple closure[0m (0.50ms) + on a closure with stackframe marker but no quoted expression [32m on a closure with stackframe marker but no quoted expression[0m (0.50ms) + for multi-statement closures [32m for multi-statement closures[0m (0.45ms) + for closures with non-empty argument lists [32m for closures with non-empty argument lists[0m (0.76ms) + on simple lambda objects [32m on simple lambda objects[0m (0.41ms) + on a lambda with stackframe marker but no quoted expression [32m on a lambda with stackframe marker but no quoted expression[0m (0.43ms) + for multi-statement lambdas [32m for multi-statement lambdas[0m (0.46ms) + for lambdas with non-empty argument lists [32m for lambdas with non-empty argument lists[0m (0.48ms) + on byte-compiled functions with arguments [32m on byte-compiled functions with arguments[0m (1.06ms) The buttercup-failed signal - can be raised [32m can be raised[0m (0.15ms) + can be raised [32m can be raised[0m (0.56ms) The buttercup-pending signal - can be raised [32m can be raised[0m (0.15ms) + can be raised [32m can be raised[0m (0.97ms) The `expect' form - with a matcher should translate to the function call with closures [32m with a matcher should translate to the function call with closures[0m (0.53ms) - with no matcher should use `:to-be-truthy' as the matcher [32m with no matcher should use `:to-be-truthy' as the matcher[0m (0.32ms) + with a matcher should translate to the function call with closures [32m with a matcher should translate to the function call with closures[0m (1.53ms) + with no matcher should use `:to-be-truthy' as the matcher [32m with no matcher should use `:to-be-truthy' as the matcher[0m (0.81ms) The `buttercup-expect' function with a function as a matcher argument - should not raise an error if the function returns true [32m should not raise an error if the function returns true[0m (0.20ms) - should raise an error if the function returns false [32m should raise an error if the function returns false[0m (0.21ms) + should not raise an error if the function returns true [32m should not raise an error if the function returns true[0m (6.33ms) + should raise an error if the function returns false [32m should raise an error if the function returns false[0m (0.84ms) with a matcher argument - should not raise an error if the matcher returns true [32m should not raise an error if the matcher returns true[0m (0.19ms) - should raise an error if the matcher returns false [32m should raise an error if the matcher returns false[0m (0.19ms) + should not raise an error if the matcher returns true [32m should not raise an error if the matcher returns true[0m (0.48ms) + should raise an error if the matcher returns false [32m should raise an error if the matcher returns false[0m (0.48ms) The `buttercup-fail' function - should raise a signal with its arguments [32m should raise a signal with its arguments[0m (0.17ms) + should raise a signal with its arguments [32m should raise a signal with its arguments[0m (0.46ms) The `assume' form - should raise a signal if the condition is nil [32m should raise a signal if the condition is nil[0m (0.20ms) - should show the format if no message is given [32m should show the format if no message is given[0m (0.18ms) - should not raise a signal if the condition is non-nil [32m should not raise a signal if the condition is non-nil[0m (0.13ms) + should raise a signal if the condition is nil [32m should raise a signal if the condition is nil[0m (1.17ms) + should show the format if no message is given [32m should show the format if no message is given[0m (0.46ms) + should not raise a signal if the condition is non-nil [32m should not raise a signal if the condition is non-nil[0m (0.49ms) The `buttercup-skip' function - should raise a signal with its arguments [32m should raise a signal with its arguments[0m (0.17ms) + should raise a signal with its arguments [32m should raise a signal with its arguments[0m (0.45ms) The `buttercup-define-matcher' macro - should create a matcher usable by apply-matcher [32m should create a matcher usable by apply-matcher[0m (0.21ms) + should create a matcher usable by apply-matcher [32m should create a matcher usable by apply-matcher[0m (0.67ms) The `buttercup--apply-matcher' function - should work with functions [32m should work with functions[0m (0.20ms) - should work with matchers [32m should work with matchers[0m (0.19ms) - should fail if the matcher is not defined [32m should fail if the matcher is not defined[0m (0.19ms) + should work with functions [32m should work with functions[0m (0.51ms) + should work with matchers [32m should work with matchers[0m (0.47ms) + should fail if the matcher is not defined [32m should fail if the matcher is not defined[0m (0.45ms) The :buttercup-define-matcher-for-unary-function helper - should not modify match data [32m should not modify match data[0m (0.23ms) + should not modify match data [32m should not modify match data[0m (0.54ms) The :buttercup-define-matcher-for-binary-function helper - should not modify match data [32m should not modify match data[0m (0.25ms) + should not modify match data [32m should not modify match data[0m (0.62ms) The included matcher :to-be-truthy - should match for a truthy expression [32m should match for a truthy expression[0m (0.23ms) - should not match for an untruthy expression [32m should not match for an untruthy expression[0m (0.22ms) + should match for a truthy expression [32m should match for a truthy expression[0m (0.64ms) + should not match for an untruthy expression [32m should not match for an untruthy expression[0m (0.51ms) :to-be - should match if the args are `eq' [32m should match if the args are `eq'[0m (0.35ms) - should not match if the args are not `eq' [32m should not match if the args are not `eq'[0m (0.31ms) + should match if the args are `eq' [32m should match if the args are `eq'[0m (0.71ms) + should not match if the args are not `eq' [32m should not match if the args are not `eq'[0m (0.71ms) :to-equal - should match if the args are `equal' [32m should match if the args are `equal'[0m (0.28ms) - should not match if the args are not `equal' [32m should not match if the args are not `equal'[0m (0.32ms) + should match if the args are `equal' [32m should match if the args are `equal'[0m (0.68ms) + should not match if the args are not `equal' [32m should not match if the args are not `equal'[0m (0.65ms) :not - should invert the car of the nested matcher's return value [32m should invert the car of the nested matcher's return value[0m (0.36ms) + should invert the car of the nested matcher's return value [32m should invert the car of the nested matcher's return value[0m (0.85ms) :to-have-same-items-as - should match equal sets [32m should match equal sets[0m (0.30ms) - should notice missing elements in the second argument [32m should notice missing elements in the second argument[0m (0.33ms) - should notice extra items in the second argument [32m should notice extra items in the second argument[0m (0.33ms) - should notice extra items in both arguments [32m should notice extra items in both arguments[0m (0.34ms) + should match equal sets [32m should match equal sets[0m (0.68ms) + should notice missing elements in the second argument [32m should notice missing elements in the second argument[0m (0.77ms) + should notice extra items in the second argument [32m should notice extra items in the second argument[0m (0.80ms) + should notice extra items in both arguments [32m should notice extra items in both arguments[0m (0.84ms) :to-match - should match the first argument against a regex [32m should match the first argument against a regex[0m (0.23ms) - should show regex mismatches [32m should show regex mismatches[0m (0.23ms) + should match the first argument against a regex [32m should match the first argument against a regex[0m (0.64ms) + should show regex mismatches [32m should show regex mismatches[0m (0.55ms) :to-be-in - should match when the first argument is a member of the second argument [32m should match when the first argument is a member of the second argument[0m (0.30ms) - should not match when the first argument is not a member of the second argument [32m should not match when the first argument is not a member of the second argument[0m (0.32ms) + should match when the first argument is a member of the second argument [32m should match when the first argument is a member of the second argument[0m (1.49ms) + should not match when the first argument is not a member of the second argument [32m should not match when the first argument is not a member of the second argument[0m (0.77ms) :to-contain - should match when the second argument is a member of the first argument [32m should match when the second argument is a member of the first argument[0m (0.31ms) - should not match when the second argument is not a member of the first argument [32m should not match when the second argument is not a member of the first argument[0m (0.37ms) + should match when the second argument is a member of the first argument [32m should match when the second argument is a member of the first argument[0m (0.68ms) + should not match when the second argument is not a member of the first argument [32m should not match when the second argument is not a member of the first argument[0m (0.82ms) :to-be-less-than - should match when the first argument is less than the second argument [32m should match when the first argument is less than the second argument[0m (0.19ms) - should not match when the first argument is equal to the second argument [32m should not match when the first argument is equal to the second argument[0m (0.26ms) - should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.25ms) + should match when the first argument is less than the second argument [32m should match when the first argument is less than the second argument[0m (0.60ms) + should not match when the first argument is equal to the second argument [32m should not match when the first argument is equal to the second argument[0m (0.56ms) + should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.57ms) :to-be-greater-than - should match when the first argument is greater than the second argument [32m should match when the first argument is greater than the second argument[0m (0.25ms) - should not match when the first argument is equal to the second argument [32m should not match when the first argument is equal to the second argument[0m (0.26ms) - should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.27ms) + should match when the first argument is greater than the second argument [32m should match when the first argument is greater than the second argument[0m (0.58ms) + should not match when the first argument is equal to the second argument [32m should not match when the first argument is equal to the second argument[0m (0.74ms) + should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.65ms) :to-be-weakly-less-than - should match when the first argument is less than the second argument [32m should match when the first argument is less than the second argument[0m (0.29ms) - should match when the first argument is equal to the second argument [32m should match when the first argument is equal to the second argument[0m (0.28ms) - should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.27ms) + should match when the first argument is less than the second argument [32m should match when the first argument is less than the second argument[0m (0.63ms) + should match when the first argument is equal to the second argument [32m should match when the first argument is equal to the second argument[0m (0.58ms) + should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.59ms) :to-be-weakly-greater-than - should match when the first argument is greater than the second argument [32m should match when the first argument is greater than the second argument[0m (0.27ms) - should match when the first argument is equal to the second argument [32m should match when the first argument is equal to the second argument[0m (0.27ms) - should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.27ms) + should match when the first argument is greater than the second argument [32m should match when the first argument is greater than the second argument[0m (0.64ms) + should match when the first argument is equal to the second argument [32m should match when the first argument is equal to the second argument[0m (0.58ms) + should not match when the first argument is greater than the second argument [32m should not match when the first argument is greater than the second argument[0m (0.61ms) :to-be-close-to - should match when value difference is less than precision [32m should match when value difference is less than precision[0m (0.42ms) - should not match when value difference is larger than precision [32m should not match when value difference is larger than precision[0m (0.32ms) + should match when value difference is less than precision [32m should match when value difference is less than precision[0m (0.94ms) + should not match when value difference is larger than precision [32m should not match when value difference is larger than precision[0m (0.69ms) :to-throw - should match when signal symbol and argument match exactly [32m should match when signal symbol and argument match exactly[0m (0.24ms) - should match the error symbol without args [32m should match the error symbol without args[0m (0.26ms) - should match the with no error signal specified [32m should match the with no error signal specified[0m (0.21ms) - should match a child signal [32m should match a child signal[0m (0.24ms) - should match child signals and equal arguments [32m should match child signals and equal arguments[0m (0.24ms) - should not match with different arguments [32m should not match with different arguments[0m (0.29ms) - should not match an unrelated symbol [32m should not match an unrelated symbol[0m (0.26ms) - should not match a parent signal [32m should not match a parent signal[0m (0.22ms) + should match when signal symbol and argument match exactly [32m should match when signal symbol and argument match exactly[0m (0.71ms) + should match the error symbol without args [32m should match the error symbol without args[0m (0.50ms) + should match the with no error signal specified [32m should match the with no error signal specified[0m (0.50ms) + should match a child signal [32m should match a child signal[0m (0.51ms) + should match child signals and equal arguments [32m should match child signals and equal arguments[0m (0.57ms) + should not match with different arguments [32m should not match with different arguments[0m (0.57ms) + should not match an unrelated symbol [32m should not match an unrelated symbol[0m (0.61ms) + should not match a parent signal [32m should not match a parent signal[0m (0.50ms) should not match when no signal is raised - and not mention unspecified signal [32m and not mention unspecified signal[0m (0.24ms) - and mention any specified signal [32m and mention any specified signal[0m (0.25ms) + and not mention unspecified signal [32m and not mention unspecified signal[0m (0.54ms) + and mention any specified signal [32m and mention any specified signal[0m (0.67ms) :to-have-been-called - should not match if the spy has not been called [32m should not match if the spy has not been called[0m (0.18ms) - should match if the spy has been called once [32m should match if the spy has been called once[0m (0.18ms) - should match if the spy has been called multiple times [32m should match if the spy has been called multiple times[0m (29.05ms) + should not match if the spy has not been called [32m should not match if the spy has not been called[0m (0.53ms) + should match if the spy has been called once [32m should match if the spy has been called once[0m (0.63ms) + should match if the spy has been called multiple times [32m should match if the spy has been called multiple times[0m (63.06ms) :to-have-been-called-with - should not match if the spy has not been called at all [32m should not match if the spy has not been called at all[0m (0.29ms) - should not match if the spy has not been called with the specified arguments [32m should not match if the spy has not been called with the specified arguments[0m (0.27ms) - should match if the spy has been called once with the specified arguments [32m should match if the spy has been called once with the specified arguments[0m (0.24ms) - should match if the spy has been called multiple times with the specified arguments [32m should match if the spy has been called multiple times with the specified arguments[0m (0.23ms) + should not match if the spy has not been called at all [32m should not match if the spy has not been called at all[0m (0.78ms) + should not match if the spy has not been called with the specified arguments [32m should not match if the spy has not been called with the specified arguments[0m (0.61ms) + should match if the spy has been called once with the specified arguments [32m should match if the spy has been called once with the specified arguments[0m (0.55ms) + should match if the spy has been called multiple times with the specified arguments [32m should match if the spy has been called multiple times with the specified arguments[0m (0.53ms) :to-have-been-called-times - should not match if the spy has been called less times [32m should not match if the spy has been called less times[0m (0.24ms) - should not match if the spy has been called more times [32m should not match if the spy has been called more times[0m (0.27ms) - should match if the spy has been called the correct number of times [32m should match if the spy has been called the correct number of times[0m (0.25ms) - should match if the spy has been called 0 times [32m should match if the spy has been called 0 times[0m (0.23ms) + should not match if the spy has been called less times [32m should not match if the spy has been called less times[0m (0.55ms) + should not match if the spy has been called more times [32m should not match if the spy has been called more times[0m (0.60ms) + should match if the spy has been called the correct number of times [32m should match if the spy has been called the correct number of times[0m (0.56ms) + should match if the spy has been called 0 times [32m should match if the spy has been called 0 times[0m (0.51ms) The `buttercup-suite-add-child' function - should add an element at the end of the list and return it [32m should add an element at the end of the list and return it[0m (0.34ms) - should add an element even if the list is empty and return it [32m should add an element even if the list is empty and return it[0m (0.27ms) - should add the parent to the child [32m should add the parent to the child[0m (0.20ms) + should add an element at the end of the list and return itRunning 60 out of 63 specs. + + A suite +[32m should add an element at the end of the list and return it[0m contains a spec with an expectation (0.96ms) + should add an element even if the list is empty and return it [32m should add an element even if the list is empty and return it[0m (0.58ms) + should add the parent to the child [32m should add the parent to the child[0m (0.59ms) The `buttercup-suite-parents' function - should return the list of parents for a suite [32m should return the list of parents for a suite[0m (0.22ms) + should return the list of parents for a suite [32m should return the list of parents for a suite[0m (0.56ms) The `buttercup-spec-parents' function - should return the list of parents for a spec [32m should return the list of parents for a spec[0m (0.19ms) + should return the list of parents for a spec [32m should return the list of parents for a spec[0m (0.55ms) The `buttercup-suites-total-specs-defined' function - should return the number of specs in a list of suites [32m should return the number of specs in a list of suites[0m (0.19ms) + should return the number of specs in a list of suites [32m should return the number of specs in a list of suites[0m (0.47ms) The `buttercup-suites-total-specs-pending' function - should return the number of pending specs in a list of suites [32m should return the number of pending specs in a list of suites[0m (0.34ms) - should also count skipped specs [32m should also count skipped specs[0m (0.30ms) + should return the number of pending specs in a list of suites [32m should return the number of pending specs in a list of suites[0m (0.68ms) + should also count skipped specs [32m should also count skipped specs[0m (0.70ms) The `buttercup-suites-total-specs-failed' function - should return the number of failed specs in a list of suites [32m should return the number of failed specs in a list of suites[0m (0.18ms) + should return the number of failed specs in a list of suites [32m contains a spec with an expectation[0m [32m should return the number of failed specs in a list of suites[0m (0.62ms) The `buttercup-suite-full-name' function - should return the full name of a suite without parents [32m should return the full name of a suite without parents[0m (0.17ms) - should return the full name of a suite with parents [32m should return the full name of a suite with parents[0m (0.19ms) + should return the full name of a suite without parents [32m should return the full name of a suite without parents[0m (0.46ms) + should return the full name of a suite with parents [32m should return the full name of a suite with parents[0m (0.46ms) The `buttercup-spec-full-name' function - should return the full name of a spec without parents [32m should return the full name of a spec without parents[0m (0.18ms) - should return the full name of a spec with parents [32m should return the full name of a spec with parents[0m (0.18ms) + should return the full name of a spec without parents [32m should return the full name of a spec without parents[0m (0.49ms) + should return the full name of a spec with parents [32m should return the full name of a spec with parents[0m (0.61ms) The `buttercup-elapsed-time' function - should report elapsed time for suites [32m should report elapsed time for suites[0m (0.23ms) - should report elapsed time for specs [32m should report elapsed time for specs[0m (0.23ms) + should report elapsed time for suites [32m should report elapsed time for suites[0m (0.59ms) + should report elapsed time for specs [32m should report elapsed time for specs[0m (0.48ms) The `buttercup--run-suite' function - should set start and end time of the suite [32m should set start and end time of the suite[0m (0.41ms) + should set start and end time of the suite [32m should set start and end time of the suite[0m (0.81ms) The `buttercup--run-spec' function - should set start and end time of the spec [32m should set start and end time of the spec[0m (0.43ms) - should not overwrite pending status with `after-each' results [32m should not overwrite pending status with `after-each' results[0m (0.47ms) + should set start and end time of the spec [32m should set start and end time of the spec[0m (1.03ms) + should not overwrite pending status with `after-each' results [32m should not overwrite pending status with `after-each' results[0m (0.58ms) should set status to pending - for assume in `before-each' [32m for assume in `before-each'[0m (0.40ms) - for assume in spec [32m for assume in spec[0m (0.28ms) - for assume in `after-each' [32m for assume in `after-each'[0m (0.37ms) - -The `describe' macro - should expand to a simple call to the buttercup-describe function [32m should expand to a simple call to the buttercup-describe function[0m (0.20ms) - should support the :var argument [32m should support the :var argument[0m (0.20ms) - should support the :var* argument [32m should support the :var* argument[0m (0.20ms) + for assume in `before-each' [32m for assume in `before-each'[0m (0.76ms) + for assume in spec [32m for assume in spec[0m (16.01ms) + (0.57ms) + + for assume in `after-each'A suite is just a function + and so is a spec [32m and so is a spec[0m (0.60ms) + +The :to-be matcher compares with `eq' +[32m for assume in `after-each'[0m and has a positive case (0.99ms) + + [32m and has a positive case[0m (0.38ms) + and can have a negative caseThe `describe' macro + [32m and can have a negative case[0m (0.29ms) + +Included matchers: + The :to-be matcher compares with `eq' should expand to a simple call to the buttercup-describe function [32m The :to-be matcher compares with `eq'[0m (0.72ms) + The :to-equal matcher + works for simple literals and variables [32m works for simple literals and variables[0m (0.42ms) + should work for compound objects[32m should expand to a simple call to the buttercup-describe function[0m [32m should work for compound objects[0m (0.29ms) + (1.64ms) + The :to-have-same-items-as matcher compares two lists as sets should support the :var argument [32m should support the :var argument[0m (0.72ms) + should support the :var* argument [32m The :to-have-same-items-as matcher compares two lists as sets[0m (1.57ms) + The :to-match matcher is for regular expressions [32m should support the :var* argument[0m (0.94ms) should error when - :var is not first [32m :var is not first[0m (0.20ms) + :var is not first [32m :var is not first[0m (0.31ms) :var* is not first [32m :var* is not first[0m (0.20ms) - is expanded with `lexical-binding' nil [32m is expanded with `lexical-binding' nil[0m (0.20ms) + is expanded with `lexical-binding' nil [32m is expanded with `lexical-binding' nil[0m (0.30ms) The `buttercup-describe' function - should run the enclosing body [32m should run the enclosing body[0m (0.18ms) - should set the `buttercup-suites' variable [32m should set the `buttercup-suites' variable[0m (0.24ms) - should add child suites when called nested [32m should add child suites when called nested[0m (0.35ms) - -The `it' macro - should expand to a call to the `buttercup-it' function [32m should expand to a call to the `buttercup-it' function[0m (0.23ms) - without argument should expand to xit. [32m without argument should expand to xit.[0m (0.18ms) + should run the enclosing body [32m should run the enclosing body[0m (0.29ms) + should set the `buttercup-suites' variable[32m The :to-match matcher is for regular expressions[0m (2.40ms) + The :to-be-truthy matcher is for boolean casting testing[32m should set the `buttercup-suites' variable[0m (0.66ms) + should add child suites when called nested [32m The :to-be-truthy matcher is for boolean casting testing[0m (0.45ms) + The :to-contain matcher is for finding an item in a list [32m should add child suites when called nested[0m (0.59ms) + +[32m The :to-contain matcher is for finding an item in a list[0m (0.77ms) + The :to-be-less-than matcher is for mathematical comparisonsThe `it' macro + should expand to a call to the `buttercup-it' function [32m The :to-be-less-than matcher is for mathematical comparisons[0m (0.70ms) + The :to-be-greater-than matcher is for mathematical comparisons[32m should expand to a call to the `buttercup-it' function[0m (0.67ms) + without argument should expand to xit. [32m The :to-be-greater-than matcher is for mathematical comparisons[0m (0.51ms) + The :to-be-close-to matcher is for precision math comparison [32m without argument should expand to xit.[0m [32m The :to-be-close-to matcher is for precision math comparison[0m (0.49ms) + The :to-throw matcher + is for testing if an expression throws an exception (0.87ms) The `buttercup-it' function - should fail if not called from within a describe form [32m should fail if not called from within a describe form[0m (0.18ms) - should add a spec to the current suite and return the spec [32m should add a spec to the current suite and return the spec[0m (0.37ms) + should fail if not called from within a describe form [32m is for testing if an expression throws an exception[0m (0.71ms) + accepts a symbol to check for the signal thrown [32m should fail if not called from within a describe form[0m (0.77ms) + should add a spec to the current suite and return the spec [32m accepts a symbol to check for the signal thrown[0m (0.74ms) + optionally matches arguments to signals [32m should add a spec to the current suite and return the spec[0m [32m optionally matches arguments to signals[0m (1.42ms) + matches inherited signals (0.99ms) The `before-each' macro - expands to a function call [32m expands to a function call[0m (0.19ms) + expands to a function call [32m expands to a function call[0m (0.46ms) The `buttercup-before-each' function - adds its argument to the before-each list of the current suite [32m adds its argument to the before-each list of the current suite[0m (0.20ms) + adds its argument to the before-each list of the current suite [32m adds its argument to the before-each list of the current suite[0m [32m matches inherited signals[0m (1.73ms) + +ERT support + allows you to use ERT macros in tests (0.72ms) The `after-each' macro - expands to a function call [32m expands to a function call[0m (0.20ms) + [32m allows you to use ERT macros in tests[0m (0.45ms) + +A spec + is just a function, so it can contain any code expands to a function call [32m is just a function, so it can contain any code[0m (0.32ms) + can have more than one expectation [32m can have more than one expectation[0m (0.50ms) + +A spec using :VAR + has access to the variables bound in :VAR[32m expands to a function call[0m (1.04ms) -The `buttercup-after-each' function - adds its argument to the after-each list of the current suite [32m adds its argument to the after-each list of the current suite[0m (0.21ms) +[32m has access to the variables bound in :VAR[0mThe `buttercup-after-each' function + (0.43ms) + + adds its argument to the after-each list of the current suiteA spec using :VAR* + has access to the variables bound in :VAR* which can refer to symbols already bound [32m has access to the variables bound in :VAR* which can refer to symbols already bound[0m (0.37ms) + +A spec using `before-each' and `after-each' + is just a function, so it can contain any code [32m adds its argument to the after-each list of the current suite[0m [32m is just a function, so it can contain any code[0m (0.33ms) + can have more than one expectation (1.18ms) The `before-all' macro - expands to a function call [32m expands to a function call[0m (0.19ms) + [32m can have more than one expectation[0m (0.45ms) +A spec using `before-all' and `after-all' + expands to a function call sets the initial value of foo before specs run [32m expands to a function call[0m (0.46ms) + [32m sets the initial value of foo before specs run[0m (0.43ms) + does not reset foo between specs The `buttercup-before-all' function - adds its argument to the before-all list of the current suite [32m adds its argument to the before-all list of the current suite[0m (0.22ms) + [32m does not reset foo between specs[0m (0.27ms) + +A spec + is just a function, so it can contain any code adds its argument to the before-all list of the current suite [32m is just a function, so it can contain any code[0m (0.35ms) + can have more than one expectation [32m adds its argument to the before-all list of the current suite[0m (0.72ms) The `after-all' macro - expands to a function call [32m expands to a function call[0m (0.19ms) + [32m can have more than one expectation[0m (0.52ms) + nested inside a second describe + expands to a function call [32m expands to a function call[0m (0.21ms) The `buttercup-after-all' function - adds its argument to the after-all list of the current suite [32m adds its argument to the after-all list of the current suite[0m (0.21ms) + adds its argument to the after-all list of the current suite [32m adds its argument to the after-all list of the current suite[0m (0.27ms) The `xdescribe' macro - expands directly to a function call [32m expands directly to a function call[0m (0.21ms) - changes contained it-specs to pending specs [32m changes contained it-specs to pending specs[0m (0.26ms) - should add a pending suite [32m should add a pending suite[0m (0.23ms) + expands directly to a function call [32m expands directly to a function call[0m (0.35ms) + changes contained it-specs to pending specs can reference both scopes as needed [32m changes contained it-specs to pending specs[0m (0.53ms) + should add a pending suite [32m can reference both scopes as needed[0m (1.21ms) + +[32m should add a pending suite[0m (0.59ms) +A spec -The `xit' macro - expands directly to a function call [32m expands directly to a function call[0m (0.19ms) + is just a function, so it can contain any codeThe `xit' macro + [33m is just a function, so it can contain any code[0m[33m PENDING[0m (0.24ms) + +Pending specs + expands directly to a function call can be declared using `xit' [33m can be declared using `xit'[0m[33m PENDING[0m (0.34ms) + can be declared with `it' but without a body [33m can be declared with `it' but without a body[0m [33m PENDING[0m (0.39ms) +[32m expands directly to a function call[0m +Conditionally skip specs + with the `assume' macro (1.09ms) + [33m with the `assume' macro[0m[33m !! CANCELLED !! `new-function' not availeble[0m (0.17ms) +A spy + tracks that the spy was called The `buttercup-xit' function - should be a no-op [32m should be a no-op[0m (0.22ms) - should add a function that raises a pending signal [32m should add a function that raises a pending signal[0m (0.24ms) - should mark the suite as pending [32m should mark the suite as pending[0m (0.25ms) - should set the failure description to PENDING [32m should set the failure description to PENDING[0m (0.34ms) + should be a no-op [32m tracks that the spy was called[0m (0.38ms) + resets tracking after each spec [32m resets tracking after each spec[0m (0.42ms) + that is defined in a nested `describe' + will override any outer spy[32m should be a no-op[0m (0.88ms) + should add a function that raises a pending signal [32m will override any outer spy[0m (0.84ms) + will not be active outside it's scope[32m should add a function that raises a pending signal[0m (0.79ms) + should mark the suite as pending [32m will not be active outside it's scope[0m (0.42ms) + tracks all arguments of its calls [32m should mark the suite as pending[0m[32m tracks all arguments of its calls[0m (0.47ms) + (0.37ms) + should set the failure description to PENDING stops all execution on a function [32m should set the failure description to PENDING[0m (0.40ms) The Spy `spy-on' function - replaces a symbol's function slot [32m replaces a symbol's function slot[0m (0.20ms) - restores the old value after a spec run [32m restores the old value after a spec run[0m (0.18ms) - allows a spied-on command to be executed as a command [32m allows a spied-on command to be executed as a command[0m (0.26ms) - can spy on autoloaded functions [32m can spy on autoloaded functions[0m (71.98ms) - can spy on non-existing functions [32m can spy on non-existing functions[0m (0.10ms) - only accepts ARG for keywords that use it [32m only accepts ARG for keywords that use it[0m (0.33ms) - works on native-compilation primitives [32m works on native-compilation primitives[0m (0.31ms) + replaces a symbol's function slot [32m replaces a symbol's function slot[0m [32m stops all execution on a function[0m (0.93ms) + +A spy + tracks that the spy was called twice (0.67ms) + restores the old value after a spec run [32m tracks that the spy was called twice[0m (0.32ms) + +A spy, when configured to call through + tracks that the spy was called [32m tracks that the spy was called[0m (0.36ms) + should not affect other functions [32m restores the old value after a spec run[0m (0.91ms) + [32m should not affect other functions[0m (0.50ms) + when called returns the requested value allows a spied-on command to be executed as a command [32m when called returns the requested value[0m (0.46ms) + +A spy, when configured to fake a return value + tracks that the spy was called [32m tracks that the spy was called[0m (0.29ms) + should not affect other functions[32m allows a spied-on command to be executed as a command[0m (1.45ms) + [32m should not affect other functions[0m (0.40ms) + when called returns the requested value can spy on autoloaded functions [32m when called returns the requested value[0m (0.52ms) + +A spy, when configured with an alternate implementation + tracks that the spy was called [32m tracks that the spy was called[0m (0.30ms) + should not affect other functions [32m should not affect other functions[0m (0.41ms) + when called returns the requested value [32m when called returns the requested value[0m (0.59ms) + +A spy, when configured to throw an error + throws the error [32m throws the error[0m (0.67ms) +[32m can spy on autoloaded functions[0m + (2.71ms) +A spy + can spy on non-existing functions tracks if it was called at all [32m can spy on non-existing functions[0m (0.08ms) + only accepts ARG for keywords that use it [32m tracks if it was called at all[0m [32m only accepts ARG for keywords that use it[0m (0.51ms) + (0.41ms) + works on native-compilation primitives tracks the number of times it was called [32m works on native-compilation primitives[0m (0.33ms) will signal en error if - used in before-all [32m used in before-all[0m (0.21ms) - used directly in describe [32m used directly in describe[0m (0.19ms) + used in before-all [32m tracks the number of times it was called[0m (0.52ms) +[32m used in before-all[0m (0.18ms) + used directly in describe tracks the arguments of each call [32m used directly in describe[0m (0.16ms) :to-have-been-called matcher - returns false if the spy was not called [32m returns false if the spy was not called[0m (0.22ms) - returns true if the spy was called at all [32m returns true if the spy was called at all[0m (0.24ms) + returns false if the spy was not called [32m tracks the arguments of each call[0m (0.80ms) + tracks the arguments of all calls [32m returns false if the spy was not called[0m (1.17ms) + returns true if the spy was called at all [32m returns true if the spy was called at all[0m (0.23ms) :to-have-been-called-with matcher - returns false if the spy was not called at all [32m returns false if the spy was not called at all[0m (0.28ms) - returns false if the spy was called with different arguments [32m returns false if the spy was called with different arguments[0m (0.29ms) - returns true if the spy was called with those arguments [32m returns true if the spy was called with those arguments[0m (0.27ms) - :to-have-been-called-times matcher - returns error if the spy was called less than expected [32m returns error if the spy was called less than expected[0m (0.25ms) - returns error if the spy was called more than expected [32m returns error if the spy was called more than expected[0m (0.24ms) - returns true if the spy was called the expected number of times [32m returns true if the spy was called the expected number of times[0m (0.27ms) - use plural words in error message [32m use plural words in error message[0m (0.26ms) - use singular expected word in error message [32m use singular expected word in error message[0m (0.25ms) - use singular actual word in error message [32m use singular actual word in error message[0m (0.25ms) + returns false if the spy was not called at all[32m tracks the arguments of all calls[0m (1.02ms) + [32m returns false if the spy was not called at all[0m (0.43ms) + returns false if the spy was called with different arguments can provide the context and arguments to all calls [32m can provide the context and arguments to all calls[0m (0.66ms) + has a shortcut to the most recent call[32m returns false if the spy was called with different arguments[0m (0.88ms) + returns true if the spy was called with those arguments [32m has a shortcut to the most recent call[0m (0.68ms) + has a shortcut to the first call[32m returns true if the spy was called with those arguments[0m (0.75ms) + :to-have-been-called-times matcher + returns error if the spy was called less than expected[32m has a shortcut to the first call[0m (0.64ms) + [32m returns error if the spy was called less than expected[0m (0.65ms) + returns error if the spy was called more than expected [32m returns error if the spy was called more than expected[0m (0.58ms) + returns true if the spy was called the expected number of times [32m returns true if the spy was called the expected number of times[0m (0.58ms) + use plural words in error message [32m use plural words in error message[0m (0.52ms) + use singular expected word in error message [32m use singular expected word in error message[0m (0.52ms) + use singular actual word in error message [32m use singular actual word in error message[0m (0.56ms) :and-call-through keyword functionality - tracks calls to the function [32m tracks calls to the function[0m (0.08ms) - passes the arguments to the original function [32m passes the arguments to the original function[0m (0.19ms) + tracks calls to the function [32m tracks calls to the function[0m (0.34ms) + passes the arguments to the original function [32m passes the arguments to the original function[0m (0.46ms) :and-return-value keyword functionality - tracks calls to the function [32m tracks calls to the function[0m (0.08ms) - returns the specified value [32m returns the specified value[0m (0.17ms) - works with strings [32m works with strings[0m (0.18ms) - works with vectors [32m works with vectors[0m (0.18ms) - works with symbols [32m works with symbols[0m (0.19ms) - works with conses [32m works with conses[0m (0.18ms) - works with lists [32m works with lists[0m (0.18ms) - works with alists [32m works with alists[0m (0.18ms) + tracks calls to the function [32m tracks calls to the function[0m (0.36ms) + returns the specified value [32m returns the specified value[0m (0.44ms) + works with strings [32m works with strings[0m (0.46ms) + works with vectors [32m works with vectors[0m (0.45ms) + works with symbols [32m works with symbols[0m (0.42ms) + works with conses [32m works with conses[0m (0.69ms) + works with lists [32m works with lists[0m (0.71ms) + works with alists [32m works with alists[0m (0.69ms) :and-call-fake keyword functionality - tracks calls to the function [32m tracks calls to the function[0m (0.08ms) - returns the specified value [32m returns the specified value[0m (0.18ms) + tracks calls to the function [32m tracks calls to the function[0m (0.35ms) + returns the specified value [32m returns the specified value[0m (0.75ms) :and-throw-error keyword functionality - throws an error when called [32m throws an error when called[0m (0.20ms) + throws an error when called [32m throws an error when called[0m (0.52ms) error-recording functionality - records the function as called even if it throws an error [32m records the function as called even if it throws an error[0m (0.27ms) - counts both successful calls and calls that threw errors [32m counts both successful calls and calls that threw errors[0m (0.34ms) - records args to the function whether it throw an error or not [32m records args to the function whether it throw an error or not[0m (0.43ms) - records the signal thrown by a call to the function [32m records the signal thrown by a call to the function[0m (0.31ms) + records the function as called even if it throws an error [32m records the function as called even if it throws an error[0m (0.59ms) + counts both successful calls and calls that threw errors [32m counts both successful calls and calls that threw errors[0m (0.63ms) + records args to the function whether it throw an error or not [32m records args to the function whether it throw an error or not[0m (0.87ms) + records the signal thrown by a call to the function [32m records the signal thrown by a call to the function[0m (0.98ms) The batch reporters on the buttercup-started event - should print the number of specs [32m should print the number of specs[0m (0.39ms) - should color-print the number of specs with the default color [32m should color-print the number of specs with the default color[0m (0.31ms) - should print the number of skipped specs [32m should print the number of skipped specs[0m (0.33ms) - should color-print the number of skipped specs with the default color [32m should color-print the number of skipped specs with the default color[0m (0.38ms) + should print the number of specs [32m should print the number of specs[0m (1.00ms) + should color-print the number of specs with the default color [32m should color-print the number of specs with the default color[0m (0.63ms) + should print the number of skipped specs [32m should print the number of skipped specs[0m (0.66ms) + should color-print the number of skipped specs with the default color [32m should color-print the number of skipped specs with the default color[0m (0.96ms) on the suite-started event - should emit an indented suite description [32m should emit an indented suite description[0m (0.31ms) - should color-print an indented suite description with the default color [32m should color-print an indented suite description with the default color[0m (0.33ms) + should emit an indented suite description [32m should emit an indented suite description[0m (1.03ms) + should color-print an indented suite description with the default color [32m should color-print an indented suite description with the default color[0m (0.97ms) on the spec-started event - should emit an indented spec description [32m should emit an indented spec description[0m (0.33ms) - should color-print an indented spec description with the default color [32m should color-print an indented spec description with the default color[0m (0.34ms) + should emit an indented spec description [32m should emit an indented spec description[0m (0.81ms) + should color-print an indented spec description with the default color [32m should color-print an indented spec description with the default color[0m (0.62ms) on the spec-done event for a passed spec - should print no status tag [32m should print no status tag[0m (0.41ms) - should color-print the description in green and no status tag [32m should color-print the description in green and no status tag[0m (0.52ms) - should print multiline specs cleanly [32m should print multiline specs cleanly[0m (0.39ms) - should color-print multiline specs cleanly [32m should color-print multiline specs cleanly[0m (0.45ms) + should print no status tag [32m should print no status tag[0m (0.75ms) + should color-print the description in green and no status tag [32m should color-print the description in green and no status tag[0m (0.99ms) + should print multiline specs cleanly [32m should print multiline specs cleanly[0m (1.05ms) + should color-print multiline specs cleanly [32m should color-print multiline specs cleanly[0m (1.09ms) for a failed spec - should say FAILED [32m should say FAILED[0m (0.50ms) - should color-print the description in red and say FAILED [32m should color-print the description in red and say FAILED[0m (0.55ms) + should say FAILED [32m should say FAILED[0m (1.06ms) + should color-print the description in red and say FAILED [32m should color-print the description in red and say FAILED[0m (1.16ms) for a pending spec - should output the failure-description [32m should output the failure-description[0m (0.41ms) - should color-print the description and failure-description in yellow [32m should color-print the description and failure-description in yellow[0m (0.58ms) + should output the failure-description [32m should output the failure-description[0m (0.84ms) + should color-print the description and failure-description in yellow [32m should color-print the description and failure-description in yellow[0m (1.18ms) should throw an error for an unknown spec status - for plain output [32m for plain output[0m (0.22ms) - for colored output [32m for colored output[0m (0.23ms) + for plain output [32m for plain output[0m (0.85ms) + for colored output [32m for colored output[0m (0.67ms) on the suite-done event - should emit a newline at the end of a top-level suite [32m should emit a newline at the end of a top-level suite[0m (0.30ms) - should color-print a newline at the end of a top-level suite [32m should color-print a newline at the end of a top-level suite[0m (0.30ms) - should not emit anything at the end of other suites [32m should not emit anything at the end of other suites[0m (0.28ms) - should not color-print anything at the end of other suites [32m should not color-print anything at the end of other suites[0m (0.28ms) + should emit a newline at the end of a top-level suite [32m should emit a newline at the end of a top-level suite[0m (0.88ms) + should color-print a newline at the end of a top-level suite [32m should color-print a newline at the end of a top-level suite[0m (0.63ms) + should not emit anything at the end of other suites [32m should not emit anything at the end of other suites[0m (0.58ms) + should not color-print anything at the end of other suites [32m should not color-print anything at the end of other suites[0m (0.71ms) on the buttercup-done event - should print a summary of run and failing specs [32m should print a summary of run and failing specs[0m (0.41ms) - should color-print `0 failed' specs in green [32m should color-print `0 failed' specs in green[0m (0.52ms) - should color-print `X failed' specs in red [32m should color-print `X failed' specs in red[0m (0.49ms) - should print a summary separating run and pending specs [32m should print a summary separating run and pending specs[0m (0.37ms) - should color-print pending spec count in default color [32m should color-print pending spec count in default color[0m (0.48ms) - should not raise any error even if a spec failed [32m should not raise any error even if a spec failed[0m (0.33ms) + should print a summary of run and failing specs [32m should print a summary of run and failing specs[0m (0.79ms) + should color-print `0 failed' specs in green [32m should color-print `0 failed' specs in green[0m (1.11ms) + should color-print `X failed' specs in red [32m should color-print `X failed' specs in red[0m (0.99ms) + should print a summary separating run and pending specs [32m should print a summary separating run and pending specs[0m (0.92ms) + should color-print pending spec count in default color tracks the return values and error signals of each call[32m should color-print pending spec count in default color[0m (0.89ms) + should not raise any error even if a spec failed [32m should not raise any error even if a spec failed[0m (0.83ms) on an unknown event - should raise an error [32m should raise an error[0m (0.21ms) + should raise an error [32m should raise an error[0m (0.67ms) Backtraces should not be collected or printed for - failed specs [32m failed specs[0m (1.00ms) - passed specs [32m passed specs[0m (0.64ms) - skipped specs [32m skipped specs[0m (0.50ms) + failed specs [32m tracks the return values and error signals of each call[0m (48.02ms) + counts the number of successful and failed calls [32m failed specs[0m (2.00ms) + passed specs [32m passed specs[0m (0.95ms) + skipped specs [32m counts the number of successful and failed calls[0m (3.24ms) + can be reset [32m skipped specs[0m (0.64ms) should be collected for errors in - matchers [32m matchers[0m (0.71ms) + matchers [32m can be reset[0m (0.74ms) + +A test + can issue warnings while running [32m can issue warnings while running[0m (0.42ms) +[33mWarning (buttercup): This warning should be visible after the test report.[0m + can capture its own warnings as part of the test [32m can capture its own warnings as part of the test[0m (0.54ms) + + [32m matchers[0m (2.60ms) with style - `crop' should print truncated lines [32m `crop' should print truncated lines[0m (2.89ms) - `full' should print full lines [32m `full' should print full lines[0m (1.16ms) - `pretty' should pretty-print frames [32m `pretty' should pretty-print frames[0m (1.81ms) - `omit' should print nothing [32m `omit' should print nothing[0m (0.46ms) - should signal an error for unknown styles [32m should signal an error for unknown styles[0m (0.24ms) + `crop' should print truncated linesRan 59 out of 63 specs, [32m0 failed[0m, in 113.08ms. + [32m `crop' should print truncated lines[0m (6.68ms) + `full' should print full lines [32m `full' should print full lines[0m (2.46ms) + `pretty' should pretty-print frames [32m `pretty' should pretty-print frames[0m (3.75ms) + `omit' should print nothing [32m `omit' should print nothing[0m (1.03ms) + should signal an error for unknown styles [32m should signal an error for unknown styles[0m (0.52ms) should generate correct backtrace for - no matcher [32m no matcher[0m (0.73ms) - :to-be-truthy [32m :to-be-truthy[0m (0.72ms) - :not :to-be-truthy [32m :not :to-be-truthy[0m (0.72ms) - :to-be [32m :to-be[0m (0.73ms) - :not :to-be [32m :not :to-be[0m (0.79ms) - :to-equal [32m :to-equal[0m (0.73ms) - :not :to-equal [32m :not :to-equal[0m (0.76ms) - :to-have-same-items-as [32m :to-have-same-items-as[0m (0.73ms) - :not :to-have-same-items-as [32m :not :to-have-same-items-as[0m (0.83ms) - :to-match [32m :to-match[0m (0.76ms) - :not :to-match [32m :not :to-match[0m (0.75ms) - :to-be-in [32m :to-be-in[0m (0.74ms) - :not :to-be-in [32m :not :to-be-in[0m (0.76ms) - :to-contain [32m :to-contain[0m (22.15ms) - :not :to-contain [32m :not :to-contain[0m (0.72ms) - :to-be-less-than [32m :to-be-less-than[0m (0.68ms) - :not :to-be-less-than [32m :not :to-be-less-than[0m (0.67ms) - :to-be-greater-than [32m :to-be-greater-than[0m (0.66ms) - :not :to-be-greater-than [32m :not :to-be-greater-than[0m (0.70ms) - :to-be-weakly-less-than [32m :to-be-weakly-less-than[0m (0.66ms) - :not :to-be-weakly-less-than [32m :not :to-be-weakly-less-than[0m (0.67ms) - :to-be-weakly-greater-than [32m :to-be-weakly-greater-than[0m (0.69ms) - :not :to-be-weakly-greater-than [32m :not :to-be-weakly-greater-than[0m (0.67ms) - :to-be-close-to [32m :to-be-close-to[0m (0.66ms) - :not :to-be-close-to [32m :not :to-be-close-to[0m (0.73ms) - :to-have-been-called [32m :to-have-been-called[0m (0.65ms) - :not :to-have-been-called [32m :not :to-have-been-called[0m (0.66ms) - :to-have-been-called-with [32m :to-have-been-called-with[0m (0.65ms) - :not :to-have-been-called-with [32m :not :to-have-been-called-with[0m (0.67ms) - :to-have-been-called-times [32m :to-have-been-called-times[0m (0.71ms) - :not :to-have-been-called-times [32m :not :to-have-been-called-times[0m (0.69ms) - function matcher [32m function matcher[0m (0.66ms) - :not function matcher [32m :not function matcher[0m (0.69ms) + no matcher [32m no matcher[0m (1.48ms) + :to-be-truthy [32m :to-be-truthy[0m (1.52ms) + :not :to-be-truthy [32m :not :to-be-truthy[0m (1.40ms) + :to-be [32m :to-be[0m (1.49ms) + :not :to-be [32m :not :to-be[0m (1.72ms) + :to-equal [32m :to-equal[0m (1.93ms) + :not :to-equal [32m :not :to-equal[0m (1.73ms) + :to-have-same-items-as [32m :to-have-same-items-as[0m (1.42ms) + :not :to-have-same-items-as [32m :not :to-have-same-items-as[0m (1.82ms) + :to-match [32m :to-match[0m (1.41ms) + :not :to-match [32m :not :to-match[0m (1.78ms) + :to-be-in [32m :to-be-in[0m (1.47ms) + :not :to-be-in [32m :not :to-be-in[0m (1.62ms) + :to-contain [32m :to-contain[0m (48.91ms) + :not :to-contain [32m :not :to-contain[0m (1.61ms) + :to-be-less-than [32m :to-be-less-than[0m (1.55ms) + :not :to-be-less-than [32m :not :to-be-less-than[0m (1.68ms) + :to-be-greater-than [32m :to-be-greater-than[0m (1.97ms) + :not :to-be-greater-than [32m :not :to-be-greater-than[0m (1.41ms) + :to-be-weakly-less-than [32m :to-be-weakly-less-than[0m (1.31ms) + :not :to-be-weakly-less-than [32m :not :to-be-weakly-less-than[0m (1.39ms) + :to-be-weakly-greater-than [32m :to-be-weakly-greater-than[0m (1.32ms) + :not :to-be-weakly-greater-than [32m :not :to-be-weakly-greater-than[0m (1.63ms) + :to-be-close-to [32m :to-be-close-to[0m (2.24ms) + :not :to-be-close-to [32m :not :to-be-close-to[0m (1.90ms) + :to-have-been-called [32m :to-have-been-called[0m (1.41ms) + :not :to-have-been-called [32m :not :to-have-been-called[0m (1.38ms) + :to-have-been-called-with [32m :to-have-been-called-with[0m (1.32ms) + :not :to-have-been-called-with [32m :not :to-have-been-called-with[0m (1.51ms) + :to-have-been-called-times [32m :to-have-been-called-times[0m (1.38ms) + :not :to-have-been-called-times [32m :not :to-have-been-called-times[0m (1.38ms) + function matcher [32m function matcher[0m (1.28ms) + :not function matcher [32m :not function matcher[0m (1.48ms) When using quiet specs in the batch reporter it should print nothing if all specs are quiet - and color is disabled [32m and color is disabled[0m (0.50ms) - and color is enabled [32m and color is enabled[0m (0.55ms) + and color is disabled [32m and color is disabled[0m (1.05ms) + and color is enabled [32m and color is enabled[0m (1.10ms) should print the containing suites for non-quiet specs - and color is disabled [32m and color is disabled[0m (0.82ms) - and color is enabled [32m and color is enabled[0m (1.02ms) + and color is disabled [32m and color is disabled[0m (1.52ms) + and color is enabled [32m and color is enabled[0m (2.14ms) should quiet all of the given spec statuses - and color is disabled [32m and color is disabled[0m (0.52ms) - and color is enabled [32m and color is enabled[0m (0.58ms) - should handle `skipped' virtual status in quiet list [32m should handle `skipped' virtual status in quiet list[0m (1.00ms) - should handle `disabled' virtual status in quiet list [32m should handle `disabled' virtual status in quiet list[0m (1.02ms) + and color is disabled [32m and color is disabled[0m (1.19ms) + and color is enabled [32m and color is enabled[0m (1.13ms) + should handle `skipped' virtual status in quiet list [32m should handle `skipped' virtual status in quiet list[0m (2.24ms) + should handle `disabled' virtual status in quiet list [32m should handle `disabled' virtual status in quiet list[0m (2.01ms) The `buttercup-run' function - should signal an error if no suites are defined [32m should signal an error if no suites are defined[0m (0.23ms) - should return :no-suites for no suites and noerror [32m should return :no-suites for no suites and noerror[0m (0.22ms) - should raise an error if at least one spec failed [32m should raise an error if at least one spec failed[0m (0.24ms) - should return nil for failing specs and noerror [32m should return nil for failing specs and noerror[0m (0.23ms) - should return t for passing specs [32m should return t for passing specs[0m (0.28ms) - should call the reporter twice with events buttercup-started and -done [32m should call the reporter twice with events buttercup-started and -done[0m (0.33ms) - should call `buttercup--run-suite' once per suite [32m should call `buttercup--run-suite' once per suite[0m (0.24ms) + should signal an error if no suites are defined [32m should signal an error if no suites are defined[0m (0.58ms) + should return :no-suites for no suites and noerror [32m should return :no-suites for no suites and noerror[0m (0.50ms) + should raise an error if at least one spec failed [32m should raise an error if at least one spec failed[0m (0.50ms) + should return nil for failing specs and noerror [32m should return nil for failing specs and noerror[0m (0.50ms) + should return t for passing specs [32m should return t for passing specs[0m (0.59ms) + should call the reporter twice with events buttercup-started and -done [32m should call the reporter twice with events buttercup-started and -done[0m (0.72ms) + should call `buttercup--run-suite' once per suite [32m should call `buttercup--run-suite' once per suite[0m (0.64ms) The `buttercup--print' function - should send a formatted string to the terminal [32m should send a formatted string to the terminal[0m (0.13ms) + should send a formatted string to the terminal [32m should send a formatted string to the terminal[0m (0.37ms) The `buttercup-mark-skipped' function - should do nothing with a reversed match-all pattern [32m should do nothing with a reversed match-all pattern[0m (0.73ms) - should mark all specs as pending with a reversed match none pattern [32m should mark all specs as pending with a reversed match none pattern[0m (0.38ms) - should handle multiple patterns [32m should handle multiple patterns[0m (0.42ms) - should support predicates [32m should support predicates[0m (0.41ms) - should support reversed predicates [32m should support reversed predicates[0m (0.41ms) - should signal an error for invalid matchers [32m should signal an error for invalid matchers[0m (0.37ms) + should do nothing with a reversed match-all pattern [32m should do nothing with a reversed match-all pattern[0m (1.56ms) + should mark all specs as pending with a reversed match none pattern [32m should mark all specs as pending with a reversed match none pattern[0m (0.79ms) + should handle multiple patterns [32m should handle multiple patterns[0m (0.87ms) + should support predicates [32m should support predicates[0m (0.85ms) + should support reversed predicates [32m should support reversed predicates[0m (0.85ms) + should signal an error for invalid matchers [32m should signal an error for invalid matchers[0m (0.74ms) Buttercup's ERT compatibility wrapper - should convert `ert-test-failed' into `buttercup-failed' [32m should convert `ert-test-failed' into `buttercup-failed'[0m (0.25ms) - should convert `ert-test-skipped' into `buttercup-pending' [32m should convert `ert-test-skipped' into `buttercup-pending'[0m (0.19ms) + should convert `ert-test-failed' into `buttercup-failed' [32m should convert `ert-test-failed' into `buttercup-failed'[0m (0.63ms) + should convert `ert-test-skipped' into `buttercup-pending' [32m should convert `ert-test-skipped' into `buttercup-pending'[0m (0.46ms) `buttercup-run-discover' should parse command line arguments - ignoring `--' [32m ignoring `--'[0m (0.19ms) - requiring an extra argument for `--traceback' [32m requiring an extra argument for `--traceback'[0m (0.21ms) - checking `--traceback' argument for validity [32m checking `--traceback' argument for validity[0m (0.25ms) - setting `buttercup-stack-frame-style' from `--traceback' arg [32m setting `buttercup-stack-frame-style' from `--traceback' arg[0m (0.33ms) - requiring an extra argument for `--pattern' or `-p' [32m requiring an extra argument for `--pattern' or `-p'[0m (0.26ms) - collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' [32m collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'[0m (0.29ms) - clearing `buttercup-color' if `--no-color' is given [32m clearing `buttercup-color' if `--no-color' is given[0m (0.46ms) - adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given [32m adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given[0m (0.32ms) - adding `pending' and `passed' to quiet statuses if `--only-error' is given [32m adding `pending' and `passed' to quiet statuses if `--only-error' is given[0m (0.33ms) - calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given [32m calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given[0m (0.24ms) - search any unknown args for test files [32m search any unknown args for test files[0m (0.33ms) + ignoring `--' [32m ignoring `--'[0m (0.53ms) + requiring an extra argument for `--traceback' [32m requiring an extra argument for `--traceback'[0m (0.47ms) + checking `--traceback' argument for validity [32m checking `--traceback' argument for validity[0m (0.50ms) + setting `buttercup-stack-frame-style' from `--traceback' arg [32m setting `buttercup-stack-frame-style' from `--traceback' arg[0m (0.67ms) + requiring an extra argument for `--pattern' or `-p' [32m requiring an extra argument for `--pattern' or `-p'[0m (0.66ms) + collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' [32m collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'[0m (0.80ms) + clearing `buttercup-color' if `--no-color' is given [32m clearing `buttercup-color' if `--no-color' is given[0m (0.75ms) + adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given [32m adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given[0m (0.68ms) + adding `pending' and `passed' to quiet statuses if `--only-error' is given [32m adding `pending' and `passed' to quiet statuses if `--only-error' is given[0m (0.79ms) + calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given [32m calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given[0m (0.72ms) + search any unknown args for test files [32m search any unknown args for test files[0m (0.89ms) find and load files - named test-*.el and *-tests?.el but no other files [32m named test-*.el and *-tests?.el but no other files[0m (2.65ms) - only in given directories [32m only in given directories[0m (2.03ms) + named test-*.el and *-tests?.el but no other files [32m named test-*.el and *-tests?.el but no other files[0m (5.99ms) + only in given directories [32m only in given directories[0m (4.31ms) butter-minor-mode - should fontify `describe' special form [32m should fontify `describe' special form[0m (0.51ms) - should fontify `it' special form [32m should fontify `it' special form[0m (0.41ms) - should add special forms to `imenu' [32m should add special forms to `imenu'[0m (0.64ms) - should define `buttercup-minor-mode-map' [32m should define `buttercup-minor-mode-map'[0m (0.17ms) + should fontify `describe' special form [32m should fontify `describe' special form[0m (1.22ms) + should fontify `it' special form [32m should fontify `it' special form[0m (0.76ms) + should add special forms to `imenu' [32m should add special forms to `imenu'[0m (1.34ms) + should define `buttercup-minor-mode-map' [32m should define `buttercup-minor-mode-map'[0m (0.40ms) For stale `elc' file checks `buttercup-check-for-stale-elc' - should do nothing for `el' files [32m should do nothing for `el' files[0m (0.23ms) - should signal error when `elc' is older than `el' [32m should signal error when `elc' is older than `el'[0m (0.26ms) - should not signal error when `elc' is newer than `el' [32m should not signal error when `elc' is newer than `el'[0m (0.26ms) - should do nothing if the `el' file does not exist [32m should do nothing if the `el' file does not exist[0m (0.23ms) + should do nothing for `el' files [32m should do nothing for `el' files[0m (0.55ms) + should signal error when `elc' is older than `el' [32m should signal error when `elc' is older than `el'[0m (0.59ms) + should not signal error when `elc' is newer than `el' [32m should not signal error when `elc' is newer than `el'[0m (0.56ms) + should do nothing if the `el' file does not exist [32m should do nothing if the `el' file does not exist[0m (0.48ms) `buttercup-error-on-stale-elc' - should activate with no argument [32m should activate with no argument[0m (0.19ms) - should deactivate with almost any argument [32m should deactivate with almost any argument[0m (0.20ms) - should toggle when given `toggle' as argument [32m should toggle when given `toggle' as argument[0m (0.29ms) + should activate with no argument [32m should activate with no argument[0m (0.45ms) + should deactivate with almost any argument [32m should deactivate with almost any argument[0m (0.48ms) + should toggle when given `toggle' as argument [32m should toggle when given `toggle' as argument[0m (0.56ms) -Ran 289 out of 291 specs, [32m0 failed[0m, in -980.59ms. +Ran 289 out of 291 specs, [32m0 failed[0m, in -953.64ms. make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.37' - rm -fr -- /tmp/dh-xdg-rundir-NCDnIq1N + rm -fr -- /tmp/dh-xdg-rundir-6zmP40Vs create-stamp debian/debhelper-build-stamp dh_prep rm -f -- debian/elpa-buttercup.substvars @@ -1339,12 +1375,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/1363266/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1363266/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/3123434 and its subdirectories -I: Current time: Sun Apr 19 04:44:09 -12 2026 -I: pbuilder-time-stamp: 1776617049 +I: removing directory /srv/workspace/pbuilder/1363266 and its subdirectories +I: Current time: Tue Mar 18 00:25:21 +14 2025 +I: pbuilder-time-stamp: 1742207121