Diff of the two buildlogs: -- --- b1/build.log 2024-04-19 06:03:47.684132440 +0000 +++ b2/build.log 2024-04-19 06:10:12.191686573 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Apr 18 18:00:14 -12 2024 -I: pbuilder-time-stamp: 1713506414 +I: Current time: Fri Apr 19 20:04:01 +14 2024 +I: pbuilder-time-stamp: 1713506641 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: unpacking emacs-buttercup_1.35-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/32495/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/12444/tmp/hooks/D01_modify_environment starting +debug: Running on virt32b. +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 Apr 19 06:04 /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/12444/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/12444/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='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='cca62af4cc5f4b25bc4e54c1b6905f16' - 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='32495' - PS1='# ' - PS2='> ' + INVOCATION_ID=1fefc0dfa66b4e709cb96958cd01f8d4 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=12444 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.uqTBRmtB/pbuilderrc_qrrD --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.uqTBRmtB/b1 --logfile b1/build.log emacs-buttercup_1.35-1.dsc' - SUDO_GID='114' - SUDO_UID='108' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.uqTBRmtB/pbuilderrc_P5aI --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.uqTBRmtB/b2 --logfile b2/build.log emacs-buttercup_1.35-1.dsc' + SUDO_GID=112 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt64a 6.1.0-20-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-20-armmp-lpae #1 SMP Debian 6.1.85-1 (2024-04-11) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Apr 17 11:24 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/32495/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/12444/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -229,7 +261,7 @@ Get: 117 http://deb.debian.org/debian trixie/main armhf libtext-glob-perl all 0.11-3 [7676 B] Get: 118 http://deb.debian.org/debian trixie/main armhf libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 119 http://deb.debian.org/debian trixie/main armhf dh-elpa all 2.0.17 [31.0 kB] -Fetched 83.4 MB in 5s (18.1 MB/s) +Fetched 83.4 MB in 2s (38.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libapparmor1:armhf. (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 ... 19635 files and directories currently installed.) @@ -748,7 +780,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/emacs-buttercup-1.35/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../emacs-buttercup_1.35-1_source.changes +I: user script /srv/workspace/pbuilder/12444/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/12444/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/emacs-buttercup-1.35/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../emacs-buttercup_1.35-1_source.changes dpkg-buildpackage: info: source package emacs-buttercup dpkg-buildpackage: info: source version 1.35-1 dpkg-buildpackage: info: source distribution unstable @@ -759,7 +795,7 @@ debian/rules clean dh clean --with elpa dh_auto_clean - make -j3 clean + make -j4 clean make[1]: Entering directory '/build/reproducible-path/emacs-buttercup-1.35' rm -f *.elc tests/*.elc make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.35' @@ -770,7 +806,7 @@ dh_autoreconf dh_auto_configure dh_auto_build - make -j3 "INSTALL=install --strip-program=true" + make -j4 "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/reproducible-path/emacs-buttercup-1.35' emacs -batch -L . -f batch-byte-compile buttercup-compat.el emacs -batch -L . -f batch-byte-compile buttercup.el @@ -788,557 +824,557 @@ Running 60 out of 63 specs. A suite - contains a spec with an expectation  contains a spec with an expectation (75.56ms) + contains a spec with an expectation  contains a spec with an expectation (31.40ms) A suite is just a function - and so is a spec  and so is a spec (4.84ms) + and so is a spec  and so is a spec (1.88ms) The :to-be matcher compares with `eq' - and has a positive case  and has a positive case (0.79ms) - and can have a negative case  and can have a negative case (0.97ms) + and has a positive case  and has a positive case (0.52ms) + and can have a negative case  and can have a negative case (0.57ms) Included matchers: - The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (1.12ms) + The :to-be matcher compares with `eq'  The :to-be matcher compares with `eq' (0.87ms) The :to-equal matcher - works for simple literals and variables  works for simple literals and variables (3.42ms) - should work for compound objects  should work for compound objectsRunning 284 specs. - - (1.67ms) - The :to-have-same-items-as matcher compares two lists as setsThe buttercup--enclosed-expr function - should handle - expressions wrapped by buttercup--wrap-expr  The :to-have-same-items-as matcher compares two lists as sets (10.51ms) - The :to-match matcher is for regular expressions  The :to-match matcher is for regular expressions (1.49ms) - The :to-be-truthy matcher is for boolean casting testing  The :to-be-truthy matcher is for boolean casting testing (5.25ms) - The :to-contain matcher is for finding an item in a list  The :to-contain matcher is for finding an item in a list  expressions wrapped by buttercup--wrap-expr (1.99ms) - The :to-be-less-than matcher is for mathematical comparisons  The :to-be-less-than matcher is for mathematical comparisons (5.35ms) - The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (1.30ms) - The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (1.06ms) + works for simple literals and variables  works for simple literals and variables (0.47ms) + should work for compound objects  should work for compound objects (0.48ms) + The :to-have-same-items-as matcher compares two lists as sets  The :to-have-same-items-as matcher compares two lists as sets (3.21ms) + The :to-match matcher is for regular expressions  The :to-match matcher is for regular expressions (2.07ms) + The :to-be-truthy matcher is for boolean casting testing  The :to-be-truthy matcher is for boolean casting testing (0.99ms) + The :to-contain matcher is for finding an item in a list  The :to-contain matcher is for finding an item in a list (1.71ms) + The :to-be-less-than matcher is for mathematical comparisons  The :to-be-less-than matcher is for mathematical comparisons (1.62ms) + The :to-be-greater-than matcher is for mathematical comparisons  The :to-be-greater-than matcher is for mathematical comparisons (1.31ms) + The :to-be-close-to matcher is for precision math comparison  The :to-be-close-to matcher is for precision math comparison (0.99ms) The :to-throw matcher - is for testing if an expression throws an exception  is for testing if an expression throws an exception (1.33ms) - accepts a symbol to check for the signal thrown  accepts a symbol to check for the signal thrown (19.80ms) - a closure with expression copy? (7.39ms) - optionally matches arguments to signals  a closure with expression copy? (0.59ms) - a lambda with expression copy?  a lambda with expression copy? (0.33ms) - byte compiled - lambda objects  lambda objects (0.62ms) - wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.29ms) - should error - on a simple closure  on a simple closure (0.56ms) - on a closure with stackframe marker but no quoted expression  optionally matches arguments to signals (2.64ms) - matches inherited signals  on a closure with stackframe marker but no quoted expression (0.45ms) - for multi-statement closures  for multi-statement closures (0.56ms) - for closures with non-empty argument lists  for closures with non-empty argument lists  matches inherited signals (3.43ms) - on simple lambda objects (4.51ms) -  on simple lambda objects - (0.46ms) + is for testing if an expression throws an exception  is for testing if an expression throws an exception (1.08ms) + accepts a symbol to check for the signal thrown  accepts a symbol to check for the signal thrown (1.18ms) + optionally matches arguments to signals  optionally matches arguments to signals (6.23ms) + matches inherited signals  matches inherited signals (8.57ms) + ERT support - on a lambda with stackframe marker but no quoted expression allows you to use ERT macros in tests  on a lambda with stackframe marker but no quoted expression (0.34ms) - for multi-statement lambdas  for multi-statement lambdas  allows you to use ERT macros in tests (1.58ms) - for lambdas with non-empty argument lists  for lambdas with non-empty argument lists (0.54ms) - on byte-compiled functions with arguments (0.55ms) + allows you to use ERT macros in tests  allows you to use ERT macros in tests (1.39ms) A spec -  on byte-compiled functions with arguments (0.99ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (2.23ms) + can have more than one expectation  can have more than one expectation (2.78ms) - is just a function, so it can contain any code  is just a function, so it can contain any code (1.01ms) - can have more than one expectation  can have more than one expectationThe buttercup-failed signal - can be raised (2.54ms) -  can be raised - (0.50ms) - -The buttercup-pending signal - can be raisedA spec using :VAR -  can be raised has access to the variables bound in :VAR (0.42ms) - -The `expect' form - with a matcher should translate to the function call with closures  has access to the variables bound in :VAR  with a matcher should translate to the function call with closures (1.70ms) - with no matcher should use `:to-be-truthy' as the matcher (2.18ms) +A spec using :VAR + has access to the variables bound in :VAR  has access to the variables bound in :VAR (2.13ms) A spec using :VAR* - has access to the variables bound in :VAR* which can refer to symbols already bound  with no matcher should use `:to-be-truthy' as the matcher  has access to the variables bound in :VAR* which can refer to symbols already bound (4.66ms) - (3.85ms) + has access to the variables bound in :VAR* which can refer to symbols already bound  has access to the variables bound in :VAR* which can refer to symbols already bound (2.15ms) -The `buttercup-expect' function - with a function as a matcher argument - should not raise an error if the function returns true A spec using `before-each' and `after-each' -  should not raise an error if the function returns true is just a function, so it can contain any code (0.64ms) - should raise an error if the function returns false  should raise an error if the function returns false  is just a function, so it can contain any code (1.18ms) - (0.93ms) - with a matcher argument - should not raise an error if the matcher returns true can have more than one expectation  should not raise an error if the matcher returns true (0.41ms) - should raise an error if the matcher returns false  should raise an error if the matcher returns false  can have more than one expectation (1.29ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (1.91ms) + can have more than one expectation  can have more than one expectation (1.06ms) A spec using `before-all' and `after-all' - sets the initial value of foo before specs run (1.78ms) - -The `buttercup-fail' function - should raise a signal with its arguments  should raise a signal with its arguments (0.69ms) + sets the initial value of foo before specs run  sets the initial value of foo before specs run (0.94ms) + does not reset foo between specs  does not reset foo between specs (0.90ms) -The `assume' form -  sets the initial value of foo before specs run should raise a signal if the condition is nil  should raise a signal if the condition is nil (1.49ms) - does not reset foo between specs (0.99ms) - should show the format if no message is given  does not reset foo between specs  should show the format if no message is given (0.89ms) - (5.09ms) - should not raise a signal if the condition is non-nil A spec -  should not raise a signal if the condition is non-nil is just a function, so it can contain any code (0.51ms) - -The `buttercup-skip' function - should raise a signal with its arguments  should raise a signal with its arguments (0.52ms) - -The `buttercup-define-matcher' macro - should create a matcher usable by apply-matcher  is just a function, so it can contain any code (1.45ms) -  should create a matcher usable by apply-matcher (0.73ms) - -The `buttercup--apply-matcher' function - should work with functions can have more than one expectation  should work with functions (0.70ms) - should work with matchers  should work with matchers (0.69ms) -  can have more than one expectation should fail if the matcher is not defined (1.76ms) + is just a function, so it can contain any code  is just a function, so it can contain any code (1.74ms) + can have more than one expectation  can have more than one expectation (1.91ms) nested inside a second describe - can reference both scopes as needed  should fail if the matcher is not defined (0.73ms) - -The :buttercup-define-matcher-for-unary-function helper - should not modify match data  should not modify match data  can reference both scopes as needed (1.24ms) + can reference both scopes as needed  can reference both scopes as needed (1.59ms) A spec - (1.21ms) - - is just a function, so it can contain any codeThe :buttercup-define-matcher-for-binary-function helper - should not modify match data  is just a function, so it can contain any code PENDING (0.76ms) + is just a function, so it can contain any code  is just a function, so it can contain any code PENDING (0.73ms) Pending specs -  should not modify match data can be declared using `xit'  can be declared using `xit' PENDING (0.44ms) - (4.15ms) - can be declared with `it' but without a body -The included matcher - :to-be-truthy - should match for a truthy expression  can be declared with `it' but without a body PENDING (1.00ms) -  should match for a truthy expression (0.67ms) - should not match for an untruthy expression + can be declared using `xit'  can be declared using `xit' PENDING (0.21ms) + can be declared with `it' but without a body  can be declared with `it' but without a body PENDING (0.20ms) + Conditionally skip specs -  should not match for an untruthy expression (0.47ms) - :to-be - should match if the args are `eq' with the `assume' macro  with the `assume' macro !! CANCELLED !! `new-function' not availeble  should match if the args are `eq' (0.78ms) - should not match if the args are not `eq' (0.81ms) + with the `assume' macro  with the `assume' macro !! CANCELLED !! `new-function' not availeble (0.20ms) A spy -  should not match if the args are not `eq' tracks that the spy was called  tracks that the spy was called (0.75ms) - resets tracking after each spec  resets tracking after each spec (5.13ms) + tracks that the spy was called  tracks that the spy was called (0.52ms) + resets tracking after each spec  resets tracking after each spec (0.71ms) that is defined in a nested `describe' - will override any outer spy  will override any outer spy (1.50ms) - will not be active outside it's scope  will not be active outside it's scope (1.10ms) - tracks all arguments of its calls  tracks all arguments of its calls (3.46ms) - (14.08ms) - :to-equal - should match if the args are `equal' stops all execution on a function  should match if the args are `equal' (0.90ms) - should not match if the args are not `equal'  stops all execution on a function (1.44ms) -  should not match if the args are not `equal' (0.83ms) - :not - should invert the car of the nested matcher's return value + will override any outer spy  will override any outer spy (1.32ms) + will not be active outside it's scope  will not be active outside it's scope (0.72ms) + tracks all arguments of its calls  tracks all arguments of its calls (0.75ms) + stops all execution on a function  stops all execution on a function (4.10ms) + A spy - tracks that the spy was called twice  should invert the car of the nested matcher's return value  tracks that the spy was called twice (0.92ms) + tracks that the spy was called twice  tracks that the spy was called twice (1.33ms) A spy, when configured to call through - tracks that the spy was called  tracks that the spy was called (0.92ms) - should not affect other functions  should not affect other functions (1.09ms) - when called returns the requested value  when called returns the requested value (1.11ms) + tracks that the spy was called  tracks that the spy was called (0.88ms) + should not affect other functions  should not affect other functions (2.00ms) + when called returns the requested value  when called returns the requested value (1.86ms) A spy, when configured to fake a return value - tracks that the spy was called  tracks that the spy was called (0.84ms) - should not affect other functions  should not affect other functions (13.86ms) - :to-have-same-items-as - should match equal sets (2.84ms) - when called returns the requested value  should match equal sets  when called returns the requested value (1.10ms) - should notice missing elements in the second argument (1.03ms) + tracks that the spy was called  tracks that the spy was called (1.04ms) + should not affect other functions  should not affect other functions (1.20ms) + when called returns the requested value  when called returns the requested value (1.00ms) A spy, when configured with an alternate implementation -  should notice missing elements in the second argument (1.05ms) - should notice extra items in the second argument tracks that the spy was called  tracks that the spy was called  should notice extra items in the second argument (1.12ms) - should not affect other functions  should not affect other functions (1.22ms) - when called returns the requested value  when called returns the requested value (1.13ms) + tracks that the spy was called  tracks that the spy was called (0.55ms) + should not affect other functions  should not affect other functions (0.72ms) + when called returns the requested value  when called returns the requested value (0.74ms) A spy, when configured to throw an error - throws the error  throws the error (1.35ms) + throws the error  throws the error (5.07ms) A spy - tracks if it was called at all  tracks if it was called at all (13.27ms) - should notice extra items in both arguments  should notice extra items in both arguments (1.16ms) + tracks if it was called at all  tracks if it was called at all (1.00ms) + tracks the number of times it was called  tracks the number of times it was called (0.99ms) + tracks the arguments of each call  tracks the arguments of each call (5.15ms) + tracks the arguments of all calls  tracks the arguments of all calls (0.93ms) + can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.72ms) + has a shortcut to the most recent call  has a shortcut to the most recent call (0.79ms) + has a shortcut to the first call  has a shortcut to the first call (0.75ms) + tracks the return values and error signals of each call  tracks the return values and error signals of each call (6.45ms) + counts the number of successful and failed calls  counts the number of successful and failed calls (12.96ms) + can be reset  can be reset (1.14ms) + +A test + can issue warnings while running  can issue warnings while running (0.67ms) +Warning (buttercup): This warning should be visible after the test report. + can capture its own warnings as part of the test  can capture its own warnings as part of the test (0.84ms) + +Ran 59 out of 63 specs, 0 failed, in 181.31ms. +Running 284 specs. + +The buttercup--enclosed-expr function + should handle + expressions wrapped by buttercup--wrap-expr  expressions wrapped by buttercup--wrap-expr (19.04ms) + a closure with expression copy?  a closure with expression copy? (8.87ms) + a lambda with expression copy?  a lambda with expression copy? (0.31ms) + byte compiled + lambda objects  lambda objects (0.54ms) + wrapped expression  wrapped expression !! CANCELLED !! Not with Oclosures (0.13ms) + should error + on a simple closure  on a simple closure (0.46ms) + on a closure with stackframe marker but no quoted expression  on a closure with stackframe marker but no quoted expression (0.42ms) + for multi-statement closures  for multi-statement closures (12.69ms) + for closures with non-empty argument lists  for closures with non-empty argument lists (0.61ms) + on simple lambda objects  on simple lambda objects (0.34ms) + on a lambda with stackframe marker but no quoted expression  on a lambda with stackframe marker but no quoted expression (0.37ms) + for multi-statement lambdas  for multi-statement lambdas (0.36ms) + for lambdas with non-empty argument lists  for lambdas with non-empty argument lists (0.38ms) + on byte-compiled functions with arguments  on byte-compiled functions with arguments (0.73ms) + +The buttercup-failed signal + can be raised  can be raised (0.38ms) + +The buttercup-pending signal + can be raised  can be raised (0.34ms) + +The `expect' form + with a matcher should translate to the function call with closures  with a matcher should translate to the function call with closures (1.92ms) + with no matcher should use `:to-be-truthy' as the matcher  with no matcher should use `:to-be-truthy' as the matcher (1.12ms) + +The `buttercup-expect' function + with a function as a matcher argument + should not raise an error if the function returns true  should not raise an error if the function returns true (9.08ms) + should raise an error if the function returns false  should raise an error if the function returns false (0.58ms) + with a matcher argument + should not raise an error if the matcher returns true  should not raise an error if the matcher returns true (0.46ms) + should raise an error if the matcher returns false  should raise an error if the matcher returns false (0.45ms) + +The `buttercup-fail' function + should raise a signal with its arguments  should raise a signal with its arguments (0.42ms) + +The `assume' form + should raise a signal if the condition is nil  should raise a signal if the condition is nil (0.42ms) + should show the format if no message is given  should show the format if no message is given (4.65ms) + should not raise a signal if the condition is non-nil  should not raise a signal if the condition is non-nil (0.36ms) + +The `buttercup-skip' function + should raise a signal with its arguments  should raise a signal with its arguments (0.42ms) + +The `buttercup-define-matcher' macro + should create a matcher usable by apply-matcher  should create a matcher usable by apply-matcher (0.46ms) + +The `buttercup--apply-matcher' function + should work with functions  should work with functions (0.44ms) + should work with matchers  should work with matchers (0.45ms) + should fail if the matcher is not defined  should fail if the matcher is not defined (0.39ms) + +The :buttercup-define-matcher-for-unary-function helper + should not modify match data  should not modify match data (0.47ms) + +The :buttercup-define-matcher-for-binary-function helper + should not modify match data  should not modify match data (0.65ms) + +The included matcher + :to-be-truthy + should match for a truthy expression  should match for a truthy expression (0.55ms) + should not match for an untruthy expression  should not match for an untruthy expression (0.50ms) + :to-be + should match if the args are `eq'  should match if the args are `eq' (0.91ms) + should not match if the args are not `eq'  should not match if the args are not `eq' (1.26ms) + :to-equal + should match if the args are `equal'  should match if the args are `equal' (0.82ms) + should not match if the args are not `equal'  should not match if the args are not `equal' (0.87ms) + :not + should invert the car of the nested matcher's return value  should invert the car of the nested matcher's return value (1.46ms) + :to-have-same-items-as + should match equal sets  should match equal sets (1.03ms) + should notice missing elements in the second argument  should notice missing elements in the second argument (1.14ms) + should notice extra items in the second argument  should notice extra items in the second argument (1.02ms) + should notice extra items in both arguments  should notice extra items in both arguments (1.30ms) :to-match - should match the first argument against a regex  should match the first argument against a regex (0.76ms) - should show regex mismatches  should show regex mismatches (0.76ms) + should match the first argument against a regex  should match the first argument against a regex (0.72ms) + should show regex mismatches  should show regex mismatches (0.67ms) :to-be-in - should match when the first argument is a member of the second argument (6.64ms) - tracks the number of times it was called  should match when the first argument is a member of the second argument (0.98ms) - should not match when the first argument is not a member of the second argument  tracks the number of times it was called (1.19ms) - tracks the arguments of each call  tracks the arguments of each call (6.48ms) - tracks the arguments of all calls  should not match when the first argument is not a member of the second argument  tracks the arguments of all calls (0.85ms) - can provide the context and arguments to all calls  can provide the context and arguments to all calls (0.71ms) - has a shortcut to the most recent call  has a shortcut to the most recent call (0.91ms) - (10.47ms) - has a shortcut to the first call :to-contain - should match when the second argument is a member of the first argument  has a shortcut to the first call (0.73ms) - tracks the return values and error signals of each call  should match when the second argument is a member of the first argument (5.28ms) - should not match when the second argument is not a member of the first argument  should not match when the second argument is not a member of the first argument (0.97ms) + should match when the first argument is a member of the second argument  should match when the first argument is a member of the second argument (0.96ms) + should not match when the first argument is not a member of the second argument  should not match when the first argument is not a member of the second argument (1.36ms) + :to-contain + should match when the second argument is a member of the first argument  should match when the second argument is a member of the first argument (0.94ms) + should not match when the second argument is not a member of the first argument  should not match when the second argument is not a member of the first argument (0.90ms) :to-be-less-than - should match when the first argument is less than the second argument  should match when the first argument is less than the second argument  tracks the return values and error signals of each call (7.32ms) - counts the number of successful and failed calls (1.43ms) - should not match when the first argument is equal to the second argument  should not match when the first argument is equal to the second argument (8.54ms) - should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.80ms) + should match when the first argument is less than the second argument  should match when the first argument is less than the second argument (1.08ms) + should not match when the first argument is equal to the second argument  should not match when the first argument is equal to the second argument (0.72ms) + should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.68ms) :to-be-greater-than - should match when the first argument is greater than the second argument  should match when the first argument is greater than the second argument  counts the number of successful and failed calls (11.96ms) - can be reset (2.08ms) - should not match when the first argument is equal to the second argument  should not match when the first argument is equal to the second argument (4.52ms) - should not match when the first argument is greater than the second argument  can be reset (5.23ms) - -A test -  should not match when the first argument is greater than the second argument can issue warnings while running (0.72ms) + should match when the first argument is greater than the second argument  should match when the first argument is greater than the second argument (0.67ms) + should not match when the first argument is equal to the second argument  should not match when the first argument is equal to the second argument (0.73ms) + should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.91ms) :to-be-weakly-less-than - should match when the first argument is less than the second argument  can issue warnings while running  should match when the first argument is less than the second argument (0.58ms) - should match when the first argument is equal to the second argument  should match when the first argument is equal to the second argument (0.60ms) - should not match when the first argument is greater than the second argument (1.54ms) -  should not match when the first argument is greater than the second argument (0.61ms) + should match when the first argument is less than the second argument  should match when the first argument is less than the second argument (0.71ms) + should match when the first argument is equal to the second argument  should match when the first argument is equal to the second argument (0.64ms) + should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (0.62ms) :to-be-weakly-greater-than - should match when the first argument is greater than the second argumentWarning (buttercup): This warning should be visible after the test report. - can capture its own warnings as part of the test  should match when the first argument is greater than the second argument (0.64ms) - should match when the first argument is equal to the second argument  can capture its own warnings as part of the test (9.40ms) - -  should match when the first argument is equal to the second argument (12.92ms) - should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (7.15ms) + should match when the first argument is greater than the second argument  should match when the first argument is greater than the second argument (0.62ms) + should match when the first argument is equal to the second argument  should match when the first argument is equal to the second argument (1.31ms) + should not match when the first argument is greater than the second argument  should not match when the first argument is greater than the second argument (1.27ms) :to-be-close-to - should match when value difference is less than precision  should match when value difference is less than precision (1.09ms) - should not match when value difference is larger than precision  should not match when value difference is larger than precision (6.43ms) + should match when value difference is less than precision  should match when value difference is less than precision (1.00ms) + should not match when value difference is larger than precision  should not match when value difference is larger than precision (0.99ms) :to-throw - should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (3.72ms) - should match the error symbol without args  should match the error symbol without args (0.67ms) - should match the with no error signal specified  should match the with no error signal specified (2.93ms) - should match a child signal  should match a child signal (0.65ms) - should match child signals and equal arguments  should match child signals and equal arguments (3.11ms) - should not match with different arguments  should not match with different arguments (0.77ms) - should not match an unrelated symbol  should not match an unrelated symbol (0.78ms) - should not match a parent signal  should not match a parent signal (3.02ms) + should match when signal symbol and argument match exactly  should match when signal symbol and argument match exactly (0.62ms) + should match the error symbol without args  should match the error symbol without args (0.51ms) + should match the with no error signal specified  should match the with no error signal specified (0.47ms) + should match a child signal  should match a child signal (0.50ms) + should match child signals and equal arguments  should match child signals and equal arguments (0.55ms) + should not match with different arguments  should not match with different arguments (1.43ms) + should not match an unrelated symbol  should not match an unrelated symbol (0.59ms) + should not match a parent signal  should not match a parent signal (0.52ms) should not match when no signal is raised - and not mention unspecified signal  and not mention unspecified signal (3.70ms) - and mention any specified signal  and mention any specified signal (0.79ms) + and not mention unspecified signal  and not mention unspecified signal (0.64ms) + and mention any specified signal  and mention any specified signal (0.64ms) :to-have-been-called - should not match if the spy has not been called  should not match if the spy has not been called (0.54ms) - should match if the spy has been called once  should match if the spy has been called once (0.63ms) - should match if the spy has been called multiple timesRan 59 out of 63 specs, 0 failed, in 292.66ms. -  should match if the spy has been called multiple times (244.61ms) + should not match if the spy has not been called  should not match if the spy has not been called (0.95ms) + should match if the spy has been called once  should match if the spy has been called once (0.77ms) + should match if the spy has been called multiple times  should match if the spy has been called multiple times (78.64ms) :to-have-been-called-with - should not match if the spy has not been called at all  should not match if the spy has not been called at all (0.63ms) - should not match if the spy has not been called with the specified arguments  should not match if the spy has not been called with the specified arguments (3.73ms) - should match if the spy has been called once with the specified arguments  should match if the spy has been called once with the specified arguments (5.62ms) - should match if the spy has been called multiple times with the specified arguments  should match if the spy has been called multiple times with the specified arguments (0.74ms) + should not match if the spy has not been called at all  should not match if the spy has not been called at all (1.16ms) + should not match if the spy has not been called with the specified arguments  should not match if the spy has not been called with the specified arguments (1.35ms) + should match if the spy has been called once with the specified arguments  should match if the spy has been called once with the specified arguments (1.22ms) + should match if the spy has been called multiple times with the specified arguments  should match if the spy has been called multiple times with the specified arguments (0.94ms) :to-have-been-called-times - should not match if the spy has been called less times  should not match if the spy has been called less times (0.64ms) + should not match if the spy has been called less times  should not match if the spy has been called less times (3.86ms) should not match if the spy has been called more times  should not match if the spy has been called more times (0.67ms) - should match if the spy has been called the correct number of times  should match if the spy has been called the correct number of times (0.69ms) - should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.66ms) + should match if the spy has been called the correct number of times  should match if the spy has been called the correct number of times (0.60ms) + should match if the spy has been called 0 times  should match if the spy has been called 0 times (0.54ms) The `buttercup-suite-add-child' function - should add an element at the end of the list and return it  should add an element at the end of the list and return it (0.81ms) - should add an element even if the list is empty and return it  should add an element even if the list is empty and return it (6.77ms) - should add the parent to the child  should add the parent to the child (0.63ms) + should add an element at the end of the list and return it  should add an element at the end of the list and return it (0.78ms) + should add an element even if the list is empty and return it  should add an element even if the list is empty and return it (0.69ms) + should add the parent to the child  should add the parent to the child (0.81ms) The `buttercup-suite-parents' function - should return the list of parents for a suite  should return the list of parents for a suite (0.61ms) + should return the list of parents for a suite  should return the list of parents for a suite (0.83ms) The `buttercup-spec-parents' function - should return the list of parents for a spec  should return the list of parents for a spec (6.02ms) + should return the list of parents for a spec  should return the list of parents for a spec (0.83ms) The `buttercup-suites-total-specs-defined' function - should return the number of specs in a list of suites  should return the number of specs in a list of suites (0.56ms) + should return the number of specs in a list of suites  should return the number of specs in a list of suites (0.77ms) The `buttercup-suites-total-specs-pending' function - should return the number of pending specs in a list of suites  should return the number of pending specs in a list of suites (0.93ms) - should also count skipped specs  should also count skipped specs (0.97ms) + should return the number of pending specs in a list of suites  should return the number of pending specs in a list of suites (1.27ms) + should also count skipped specs  should also count skipped specs (1.31ms) The `buttercup-suites-total-specs-failed' function - should return the number of failed specs in a list of suites  should return the number of failed specs in a list of suites (0.53ms) + should return the number of failed specs in a list of suites  should return the number of failed specs in a list of suites (0.83ms) The `buttercup-suite-full-name' function - should return the full name of a suite without parents  should return the full name of a suite without parents (0.48ms) - should return the full name of a suite with parents  should return the full name of a suite with parents (3.29ms) + should return the full name of a suite without parents  should return the full name of a suite without parents (0.75ms) + should return the full name of a suite with parents  should return the full name of a suite with parents (0.75ms) The `buttercup-spec-full-name' function - should return the full name of a spec without parents  should return the full name of a spec without parents (0.54ms) - should return the full name of a spec with parents  should return the full name of a spec with parents (0.50ms) + should return the full name of a spec without parents  should return the full name of a spec without parents (0.72ms) + should return the full name of a spec with parents  should return the full name of a spec with parents (0.72ms) The `buttercup-elapsed-time' function - should report elapsed time for suites  should report elapsed time for suites (6.24ms) - should report elapsed time for specs  should report elapsed time for specs (0.65ms) + should report elapsed time for suites  should report elapsed time for suites (0.92ms) + should report elapsed time for specs  should report elapsed time for specs (0.87ms) The `buttercup--run-suite' function - should set start and end time of the suite  should set start and end time of the suite (1.29ms) + should set start and end time of the suite  should set start and end time of the suite (1.56ms) The `buttercup--run-spec' function - should set start and end time of the spec  should set start and end time of the spec (1.21ms) - should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (5.17ms) + should set start and end time of the spec  should set start and end time of the spec (1.85ms) + should not overwrite pending status with `after-each' results  should not overwrite pending status with `after-each' results (0.96ms) should set status to pending - for assume in `before-each'  for assume in `before-each' (1.12ms) - for assume in spec  for assume in spec (6.20ms) - for assume in `after-each'  for assume in `after-each' (1.12ms) + for assume in `before-each'  for assume in `before-each' (1.29ms) + for assume in spec  for assume in spec (0.98ms) + for assume in `after-each'  for assume in `after-each' (1.17ms) The `describe' macro - should expand to a simple call to the buttercup-describe function  should expand to a simple call to the buttercup-describe function (0.62ms) - should support the :var argument  should support the :var argument (0.67ms) - should support the :var* argument  should support the :var* argument (4.39ms) + should expand to a simple call to the buttercup-describe function  should expand to a simple call to the buttercup-describe function (0.77ms) + should support the :var argument  should support the :var argument (0.77ms) + should support the :var* argument  should support the :var* argument (0.74ms) should error when - :var is not first  :var is not first (0.71ms) - :var* is not first  :var* is not first (0.65ms) - is expanded with `lexical-binding' nil  is expanded with `lexical-binding' nil (0.62ms) + :var is not first  :var is not first (0.92ms) + :var* is not first  :var* is not first (0.74ms) + is expanded with `lexical-binding' nil  is expanded with `lexical-binding' nil (0.69ms) The `buttercup-describe' function - should run the enclosing body  should run the enclosing body (0.56ms) - should set the `buttercup-suites' variable  should set the `buttercup-suites' variable (4.49ms) - should add child suites when called nested  should add child suites when called nested (7.15ms) + should run the enclosing body  should run the enclosing body (0.76ms) + should set the `buttercup-suites' variable  should set the `buttercup-suites' variable (0.82ms) + should add child suites when called nested  should add child suites when called nested (1.03ms) The `it' macro - should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.68ms) - without argument should expand to xit.  without argument should expand to xit. (0.63ms) + should expand to a call to the `buttercup-it' function  should expand to a call to the `buttercup-it' function (0.67ms) + without argument should expand to xit.  without argument should expand to xit. (0.99ms) The `buttercup-it' function - should fail if not called from within a describe form  should fail if not called from within a describe form (0.61ms) - should add a spec to the current suite and return the spec  should add a spec to the current suite and return the spec (4.68ms) + should fail if not called from within a describe form  should fail if not called from within a describe form (1.00ms) + should add a spec to the current suite and return the spec  should add a spec to the current suite and return the spec (1.58ms) The `before-each' macro - expands to a function call  expands to a function call (0.64ms) + expands to a function call  expands to a function call (0.70ms) The `buttercup-before-each' function - adds its argument to the before-each list of the current suite  adds its argument to the before-each list of the current suite (0.70ms) + adds its argument to the before-each list of the current suite  adds its argument to the before-each list of the current suite (0.75ms) The `after-each' macro - expands to a function call  expands to a function call (0.64ms) + expands to a function call  expands to a function call (0.82ms) The `buttercup-after-each' function - adds its argument to the after-each list of the current suite  adds its argument to the after-each list of the current suite (0.70ms) + adds its argument to the after-each list of the current suite  adds its argument to the after-each list of the current suite (0.80ms) The `before-all' macro - expands to a function call  expands to a function call (0.61ms) + expands to a function call  expands to a function call (0.73ms) The `buttercup-before-all' function - adds its argument to the before-all list of the current suite  adds its argument to the before-all list of the current suite (2.03ms) + adds its argument to the before-all list of the current suite  adds its argument to the before-all list of the current suite (0.75ms) The `after-all' macro - expands to a function call  expands to a function call (0.58ms) + expands to a function call  expands to a function call (0.73ms) The `buttercup-after-all' function - adds its argument to the after-all list of the current suite  adds its argument to the after-all list of the current suite (0.60ms) + adds its argument to the after-all list of the current suite  adds its argument to the after-all list of the current suite (0.51ms) The `xdescribe' macro - expands directly to a function call  expands directly to a function call (0.67ms) - changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.72ms) - should add a pending suite  should add a pending suite (0.65ms) + expands directly to a function call  expands directly to a function call (0.43ms) + changes contained it-specs to pending specs  changes contained it-specs to pending specs (0.48ms) + should add a pending suite  should add a pending suite (0.40ms) The `xit' macro - expands directly to a function call  expands directly to a function call (0.58ms) + expands directly to a function call  expands directly to a function call (0.35ms) The `buttercup-xit' function - should be a no-op  should be a no-op (0.59ms) - should add a function that raises a pending signal  should add a function that raises a pending signal (0.71ms) - should mark the suite as pending  should mark the suite as pending (0.71ms) - should set the failure description to PENDING  should set the failure description to PENDING (0.92ms) + should be a no-op  should be a no-op (0.34ms) + should add a function that raises a pending signal  should add a function that raises a pending signal (0.47ms) + should mark the suite as pending  should mark the suite as pending (0.55ms) + should set the failure description to PENDING  should set the failure description to PENDING (0.79ms) The Spy `spy-on' function - replaces a symbol's function slot  replaces a symbol's function slot (0.60ms) - restores the old value after a spec run  restores the old value after a spec run (2.92ms) - allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.84ms) - can spy on autoloaded functions  can spy on autoloaded functions (8.04ms) - can spy on non-existing functions  can spy on non-existing functions (0.42ms) - only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (1.13ms) - works on native-compilation primitives  works on native-compilation primitives (4.59ms) + replaces a symbol's function slot  replaces a symbol's function slot (0.36ms) + restores the old value after a spec run  restores the old value after a spec run (0.34ms) + allows a spied-on command to be executed as a command  allows a spied-on command to be executed as a command (0.55ms) + can spy on autoloaded functions  can spy on autoloaded functions (22.22ms) + can spy on non-existing functions  can spy on non-existing functions (0.49ms) + only accepts ARG for keywords that use it  only accepts ARG for keywords that use it (1.64ms) + works on native-compilation primitives  works on native-compilation primitives (2.19ms) will signal en error if - used in before-all  used in before-all (0.70ms) - used directly in describe  used directly in describe (0.65ms) + used in before-all  used in before-all (0.74ms) + used directly in describe  used directly in describe (0.92ms) :to-have-been-called matcher - returns false if the spy was not called  returns false if the spy was not called (0.72ms) - returns true if the spy was called at all  returns true if the spy was called at all (0.68ms) + returns false if the spy was not called  returns false if the spy was not called (0.79ms) + returns true if the spy was called at all  returns true if the spy was called at all (1.06ms) :to-have-been-called-with matcher - returns false if the spy was not called at all  returns false if the spy was not called at all (3.77ms) - returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.96ms) - returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.83ms) + returns false if the spy was not called at all  returns false if the spy was not called at all (0.81ms) + returns false if the spy was called with different arguments  returns false if the spy was called with different arguments (0.81ms) + returns true if the spy was called with those arguments  returns true if the spy was called with those arguments (0.87ms) :to-have-been-called-times matcher - returns error if the spy was called less than expected  returns error if the spy was called less than expected (0.81ms) - returns error if the spy was called more than expected  returns error if the spy was called more than expected (4.46ms) - returns true if the spy was called the expected number of times  returns true if the spy was called the expected number of times (0.87ms) - use plural words in error message  use plural words in error message (0.82ms) - use singular expected word in error message  use singular expected word in error message (0.81ms) - use singular actual word in error message  use singular actual word in error message (1.12ms) + returns error if the spy was called less than expected  returns error if the spy was called less than expected (1.09ms) + returns error if the spy was called more than expected  returns error if the spy was called more than expected (0.62ms) + returns true if the spy was called the expected number of times  returns true if the spy was called the expected number of times (0.85ms) + use plural words in error message  use plural words in error message (0.80ms) + use singular expected word in error message  use singular expected word in error message (0.74ms) + use singular actual word in error message  use singular actual word in error message (0.70ms) :and-call-through keyword functionality - tracks calls to the function  tracks calls to the function (0.43ms) - passes the arguments to the original function  passes the arguments to the original function (0.64ms) + tracks calls to the function  tracks calls to the function (0.18ms) + passes the arguments to the original function  passes the arguments to the original function (0.59ms) :and-return-value keyword functionality - tracks calls to the function  tracks calls to the function (0.42ms) - returns the specified value  returns the specified value (0.65ms) - works with strings  works with strings (0.71ms) - works with vectors  works with vectors (0.66ms) - works with symbols  works with symbols (0.64ms) - works with conses  works with conses (0.68ms) - works with lists  works with lists (0.68ms) - works with alists  works with alists (0.66ms) + tracks calls to the function  tracks calls to the function (0.36ms) + returns the specified value  returns the specified value (0.60ms) + works with strings  works with strings (0.43ms) + works with vectors  works with vectors (0.37ms) + works with symbols  works with symbols (0.38ms) + works with conses  works with conses (0.38ms) + works with lists  works with lists (0.38ms) + works with alists  works with alists (0.64ms) :and-call-fake keyword functionality - tracks calls to the function  tracks calls to the function (0.44ms) - returns the specified value  returns the specified value (0.64ms) + tracks calls to the function  tracks calls to the function (0.34ms) + returns the specified value  returns the specified value (0.66ms) :and-throw-error keyword functionality - throws an error when called  throws an error when called (0.79ms) + throws an error when called  throws an error when called (0.57ms) error-recording functionality - records the function as called even if it throws an error  records the function as called even if it throws an error (1.05ms) - counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (1.11ms) - records args to the function whether it throw an error or not  records args to the function whether it throw an error or not (1.45ms) - records the signal thrown by a call to the function  records the signal thrown by a call to the function (1.13ms) + records the function as called even if it throws an error  records the function as called even if it throws an error (0.87ms) + counts both successful calls and calls that threw errors  counts both successful calls and calls that threw errors (1.00ms) + records args to the function whether it throw an error or not  records args to the function whether it throw an error or not (1.31ms) + records the signal thrown by a call to the function  records the signal thrown by a call to the function (1.06ms) The batch reporters on the buttercup-started event - should print the number of specs  should print the number of specs (1.36ms) - should color-print the number of specs with the default color  should color-print the number of specs with the default color (1.14ms) - should print the number of skipped specs  should print the number of skipped specs (1.17ms) - should color-print the number of skipped specs with the default color  should color-print the number of skipped specs with the default color (1.37ms) + should print the number of specs  should print the number of specs (1.21ms) + should color-print the number of specs with the default color  should color-print the number of specs with the default color (1.06ms) + should print the number of skipped specs  should print the number of skipped specs (1.03ms) + should color-print the number of skipped specs with the default color  should color-print the number of skipped specs with the default color (1.12ms) on the suite-started event - should emit an indented suite description  should emit an indented suite description (0.99ms) - should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (1.01ms) + should emit an indented suite description  should emit an indented suite description (0.78ms) + should color-print an indented suite description with the default color  should color-print an indented suite description with the default color (0.91ms) on the spec-started event - should emit an indented spec description  should emit an indented spec description (1.00ms) - should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.98ms) + should emit an indented spec description  should emit an indented spec description (0.93ms) + should color-print an indented spec description with the default color  should color-print an indented spec description with the default color (0.99ms) on the spec-done event for a passed spec - should print no status tag  should print no status tag (1.19ms) - should color-print the description in green and no status tag  should color-print the description in green and no status tag (1.54ms) - should print multiline specs cleanly  should print multiline specs cleanly (1.24ms) - should color-print multiline specs cleanly  should color-print multiline specs cleanly (1.50ms) + should print no status tag  should print no status tag (1.17ms) + should color-print the description in green and no status tag  should color-print the description in green and no status tag (1.61ms) + should print multiline specs cleanly  should print multiline specs cleanly (1.31ms) + should color-print multiline specs cleanly  should color-print multiline specs cleanly (1.53ms) for a failed spec - should say FAILED  should say FAILED (1.28ms) - should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (1.69ms) + should say FAILED  should say FAILED (9.27ms) + should color-print the description in red and say FAILED  should color-print the description in red and say FAILED (2.23ms) for a pending spec - should output the failure-description  should output the failure-description (1.30ms) - should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (1.67ms) + should output the failure-description  should output the failure-description (1.66ms) + should color-print the description and failure-description in yellow  should color-print the description and failure-description in yellow (1.70ms) should throw an error for an unknown spec status - for plain output  for plain output (0.83ms) - for colored output  for colored output (0.75ms) + for plain output  for plain output (0.62ms) + for colored output  for colored output (0.88ms) on the suite-done event - should emit a newline at the end of a top-level suite  should emit a newline at the end of a top-level suite (0.96ms) - should color-print a newline at the end of a top-level suite  should color-print a newline at the end of a top-level suite (1.00ms) - should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.81ms) - should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.83ms) + should emit a newline at the end of a top-level suite  should emit a newline at the end of a top-level suite (0.84ms) + should color-print a newline at the end of a top-level suite  should color-print a newline at the end of a top-level suite (1.09ms) + should not emit anything at the end of other suites  should not emit anything at the end of other suites (0.92ms) + should not color-print anything at the end of other suites  should not color-print anything at the end of other suites (0.90ms) on the buttercup-done event - should print a summary of run and failing specs  should print a summary of run and failing specs (1.20ms) - should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (1.66ms) - should color-print `X failed' specs in red  should color-print `X failed' specs in red (1.64ms) - should print a summary separating run and pending specs  should print a summary separating run and pending specs (1.26ms) - should color-print pending spec count in default color  should color-print pending spec count in default color (1.51ms) - should not raise any error even if a spec failed  should not raise any error even if a spec failed (1.10ms) + should print a summary of run and failing specs  should print a summary of run and failing specs (1.43ms) + should color-print `0 failed' specs in green  should color-print `0 failed' specs in green (1.99ms) + should color-print `X failed' specs in red  should color-print `X failed' specs in red (2.10ms) + should print a summary separating run and pending specs  should print a summary separating run and pending specs (1.03ms) + should color-print pending spec count in default color  should color-print pending spec count in default color (1.48ms) + should not raise any error even if a spec failed  should not raise any error even if a spec failed (0.90ms) on an unknown event - should raise an error  should raise an error (0.63ms) + should raise an error  should raise an error (0.50ms) Backtraces - should be printed for each failed spec  should be printed for each failed spec (4.04ms) + should be printed for each failed spec  should be printed for each failed spec (4.36ms) with style - `crop' should print truncated lines  `crop' should print truncated lines (10.55ms) - `full' should print full lines  `full' should print full lines (3.55ms) - `pretty' should pretty-print frames  `pretty' should pretty-print frames (5.24ms) - `omit' should print nothing  `omit' should print nothing (1.36ms) - should signal an error for unknown styles  should signal an error for unknown styles (0.82ms) + `crop' should print truncated lines  `crop' should print truncated lines (11.10ms) + `full' should print full lines  `full' should print full lines (3.67ms) + `pretty' should pretty-print frames  `pretty' should pretty-print frames (5.65ms) + `omit' should print nothing  `omit' should print nothing (1.22ms) + should signal an error for unknown styles  should signal an error for unknown styles (0.60ms) should generate correct backtrace for - no matcher  no matcher (2.33ms) - :to-be-truthy  :to-be-truthy (2.48ms) - :not :to-be-truthy  :not :to-be-truthy (2.34ms) - :to-be  :to-be (2.54ms) - :not :to-be  :not :to-be (2.50ms) - :to-equal  :to-equal (2.34ms) - :not :to-equal  :not :to-equal (2.41ms) - :to-have-same-items-as  :to-have-same-items-as (2.42ms) - :not :to-have-same-items-as  :not :to-have-same-items-as (2.88ms) - :to-match  :to-match (2.49ms) - :not :to-match  :not :to-match (2.57ms) + no matcher  no matcher (2.53ms) + :to-be-truthy  :to-be-truthy (2.93ms) + :not :to-be-truthy  :not :to-be-truthy (2.63ms) + :to-be  :to-be (2.66ms) + :not :to-be  :not :to-be (2.84ms) + :to-equal  :to-equal (2.70ms) + :not :to-equal  :not :to-equal (2.76ms) + :to-have-same-items-as  :to-have-same-items-as (2.85ms) + :not :to-have-same-items-as  :not :to-have-same-items-as (2.97ms) + :to-match  :to-match (6.91ms) + :not :to-match  :not :to-match (11.02ms) :to-be-in  :to-be-in (2.47ms) - :not :to-be-in  :not :to-be-in (2.55ms) - :to-contain  :to-contain (2.49ms) - :not :to-contain  :not :to-contain (2.52ms) - :to-be-less-than  :to-be-less-than (2.48ms) - :not :to-be-less-than  :not :to-be-less-than (2.58ms) - :to-be-greater-than  :to-be-greater-than (2.46ms) - :not :to-be-greater-than  :not :to-be-greater-than (2.51ms) - :to-be-weakly-less-than  :to-be-weakly-less-than (2.54ms) - :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (2.52ms) - :to-be-weakly-greater-than  :to-be-weakly-greater-than (2.41ms) - :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (2.56ms) - :to-be-close-to  :to-be-close-to (55.42ms) - :not :to-be-close-to  :not :to-be-close-to (2.63ms) - :to-have-been-called  :to-have-been-called (2.51ms) - :not :to-have-been-called  :not :to-have-been-called (5.09ms) - :to-have-been-called-with  :to-have-been-called-with (2.62ms) - :not :to-have-been-called-with  :not :to-have-been-called-with (7.70ms) - :to-have-been-called-times  :to-have-been-called-times (3.42ms) - :not :to-have-been-called-times  :not :to-have-been-called-times (2.94ms) - should not generate backtraces for skipped specs  should not generate backtraces for skipped specs (1.33ms) + :not :to-be-in  :not :to-be-in (2.63ms) + :to-contain  :to-contain (3.49ms) + :not :to-contain  :not :to-contain (2.59ms) + :to-be-less-than  :to-be-less-than (2.65ms) + :not :to-be-less-than  :not :to-be-less-than (2.90ms) + :to-be-greater-than  :to-be-greater-than (2.49ms) + :not :to-be-greater-than  :not :to-be-greater-than (2.56ms) + :to-be-weakly-less-than  :to-be-weakly-less-than (2.86ms) + :not :to-be-weakly-less-than  :not :to-be-weakly-less-than (2.97ms) + :to-be-weakly-greater-than  :to-be-weakly-greater-than (2.60ms) + :not :to-be-weakly-greater-than  :not :to-be-weakly-greater-than (2.84ms) + :to-be-close-to  :to-be-close-to (62.15ms) + :not :to-be-close-to  :not :to-be-close-to (2.77ms) + :to-have-been-called  :to-have-been-called (2.60ms) + :not :to-have-been-called  :not :to-have-been-called (2.52ms) + :to-have-been-called-with  :to-have-been-called-with (2.59ms) + :not :to-have-been-called-with  :not :to-have-been-called-with (2.66ms) + :to-have-been-called-times  :to-have-been-called-times (2.52ms) + :not :to-have-been-called-times  :not :to-have-been-called-times (2.65ms) + should not generate backtraces for skipped specs  should not generate backtraces for skipped specs (0.95ms) When using quiet specs in the batch reporter - should print nothing if all specs are quiet  should print nothing if all specs are quiet (1.93ms) - should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (4.84ms) - should quiet all of the given spec statuses  should quiet all of the given spec statuses (1.94ms) - should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (4.23ms) + should print nothing if all specs are quiet  should print nothing if all specs are quiet (1.45ms) + should print the containing suites for non-quiet specs  should print the containing suites for non-quiet specs (2.94ms) + should quiet all of the given spec statuses  should quiet all of the given spec statuses (1.69ms) + should handle `skipped' virtual status in quiet list  should handle `skipped' virtual status in quiet list (4.34ms) should handle `disabled' virtual status in quiet list  should handle `disabled' virtual status in quiet list (4.32ms) The `buttercup-run' function - should signal an error if no suites are defined  should signal an error if no suites are defined (3.51ms) - should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (1.09ms) - should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.98ms) - should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.92ms) - should return t for passing specs  should return t for passing specs (1.11ms) - should call the reporter twice with events buttercup-started and -done  should call the reporter twice with events buttercup-started and -done (1.25ms) - should call `buttercup--run-suite' once per suite  should call `buttercup--run-suite' once per suite (1.08ms) + should signal an error if no suites are defined  should signal an error if no suites are defined (0.61ms) + should return :no-suites for no suites and noerror  should return :no-suites for no suites and noerror (0.59ms) + should raise an error if at least one spec failed  should raise an error if at least one spec failed (0.63ms) + should return nil for failing specs and noerror  should return nil for failing specs and noerror (0.57ms) + should return t for passing specs  should return t for passing specs (0.65ms) + should call the reporter twice with events buttercup-started and -done  should call the reporter twice with events buttercup-started and -done (0.97ms) + should call `buttercup--run-suite' once per suite  should call `buttercup--run-suite' once per suite (0.77ms) The `buttercup--print' function - should send a formatted string to the terminal  should send a formatted string to the terminal (0.54ms) + should send a formatted string to the terminal  should send a formatted string to the terminal (0.21ms) The `buttercup-mark-skipped' function - should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (5.85ms) - should mark all specs as pending with a reversed match none pattern  should mark all specs as pending with a reversed match none pattern (1.65ms) - should handle multiple patterns  should handle multiple patterns (1.44ms) - should support predicates  should support predicates (1.63ms) - should support reversed predicates  should support reversed predicates (4.25ms) - should signal an error for invalid matchers  should signal an error for invalid matchers (1.39ms) + should do nothing with a reversed match-all pattern  should do nothing with a reversed match-all pattern (4.18ms) + should mark all specs as pending with a reversed match none pattern  should mark all specs as pending with a reversed match none pattern (1.34ms) + should handle multiple patterns  should handle multiple patterns (1.66ms) + should support predicates  should support predicates (1.47ms) + should support reversed predicates  should support reversed predicates (1.53ms) + should signal an error for invalid matchers  should signal an error for invalid matchers (1.20ms) Buttercup's ERT compatibility wrapper - should convert `ert-test-failed' into `buttercup-failed'  should convert `ert-test-failed' into `buttercup-failed' (0.96ms) - should convert `ert-test-skipped' into `buttercup-pending'  should convert `ert-test-skipped' into `buttercup-pending' (0.67ms) + should convert `ert-test-failed' into `buttercup-failed'  should convert `ert-test-failed' into `buttercup-failed' (0.69ms) + should convert `ert-test-skipped' into `buttercup-pending'  should convert `ert-test-skipped' into `buttercup-pending' (0.46ms) `buttercup-run-discover' should parse command line arguments - ignoring `--'  ignoring `--' (0.65ms) - requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.74ms) - checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.86ms) - setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (1.04ms) - requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (0.96ms) - collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (1.10ms) - clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (1.37ms) - adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given  adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given (1.26ms) - adding `pending' and `passed' to quiet statuses if `--only-error' is given  adding `pending' and `passed' to quiet statuses if `--only-error' is given (1.27ms) - calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given  calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given (0.89ms) - search any unknown args for test files  search any unknown args for test files (1.38ms) + ignoring `--'  ignoring `--' (0.50ms) + requiring an extra argument for `--traceback'  requiring an extra argument for `--traceback' (0.59ms) + checking `--traceback' argument for validity  checking `--traceback' argument for validity (0.60ms) + setting `buttercup-stack-frame-style' from `--traceback' arg  setting `buttercup-stack-frame-style' from `--traceback' arg (1.02ms) + requiring an extra argument for `--pattern' or `-p'  requiring an extra argument for `--pattern' or `-p' (0.86ms) + collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped'  collecting `--pattern' and `-p' args and send to `buttercup-mark-skipped' (0.90ms) + clearing `buttercup-color' if `--no-color' is given  clearing `buttercup-color' if `--no-color' is given (1.28ms) + adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given  adding `skipped' and `disabled' to quiet statuses if `--no-skip' is given (1.12ms) + adding `pending' and `passed' to quiet statuses if `--only-error' is given  adding `pending' and `passed' to quiet statuses if `--only-error' is given (1.12ms) + calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given  calling `buttercup-error-on-stale-elc' if `--stale-file-error' is given (0.72ms) + search any unknown args for test files  search any unknown args for test files (1.24ms) find and load files - named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (11.21ms) - only in given directories  only in given directories (8.43ms) + named test-*.el and *-tests?.el but no other files  named test-*.el and *-tests?.el but no other files (9.96ms) + only in given directories  only in given directories (9.02ms) butter-minor-mode - should fontify `describe' special form  should fontify `describe' special form (1.63ms) - should fontify `it' special form  should fontify `it' special form (1.38ms) - should add special forms to `imenu'  should add special forms to `imenu' (2.27ms) - should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.61ms) + should fontify `describe' special form  should fontify `describe' special form (1.41ms) + should fontify `it' special form  should fontify `it' special form (1.30ms) + should add special forms to `imenu'  should add special forms to `imenu' (2.34ms) + should define `buttercup-minor-mode-map'  should define `buttercup-minor-mode-map' (0.48ms) For stale `elc' file checks `buttercup-check-for-stale-elc' - should do nothing for `el' files  should do nothing for `el' files (1.60ms) - should signal error when `elc' is older than `el'  should signal error when `elc' is older than `el' (0.91ms) - should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.91ms) - should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.88ms) + should do nothing for `el' files  should do nothing for `el' files (0.61ms) + should signal error when `elc' is older than `el'  should signal error when `elc' is older than `el' (0.70ms) + should not signal error when `elc' is newer than `el'  should not signal error when `elc' is newer than `el' (0.71ms) + should do nothing if the `el' file does not exist  should do nothing if the `el' file does not exist (0.55ms) `buttercup-error-on-stale-elc' - should activate with no argument  should activate with no argument (0.66ms) - should deactivate with almost any argument  should deactivate with almost any argument (0.77ms) - should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (1.01ms) + should activate with no argument  should activate with no argument (0.43ms) + should deactivate with almost any argument  should deactivate with almost any argument (0.47ms) + should toggle when given `toggle' as argument  should toggle when given `toggle' as argument (0.80ms) -Ran 283 out of 284 specs, 0 failed, in 90.24ms. +Ran 283 out of 284 specs, 0 failed, in 66.54ms. make[1]: Leaving directory '/build/reproducible-path/emacs-buttercup-1.35' dh_elpa_test create-stamp debian/debhelper-build-stamp @@ -1373,12 +1409,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/12444/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/12444/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/32495 and its subdirectories -I: Current time: Thu Apr 18 18:03:43 -12 2024 -I: pbuilder-time-stamp: 1713506623 +I: removing directory /srv/workspace/pbuilder/12444 and its subdirectories +I: Current time: Fri Apr 19 20:10:07 +14 2024 +I: pbuilder-time-stamp: 1713507007