Diff of the two buildlogs: -- --- b1/build.log 2021-10-26 18:43:18.142304748 +0000 +++ b2/build.log 2021-10-26 18:44:00.768852872 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Oct 26 06:42:31 -12 2021 -I: pbuilder-time-stamp: 1635273751 +I: Current time: Tue Nov 29 15:06:21 +14 2022 +I: pbuilder-time-stamp: 1669683981 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -16,8 +16,8 @@ I: copying [./ruby-contracts_0.16.0-1.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' -gpgv: keyblock resource '/tmp/dpkg-verify-sig.cQyABq42/trustedkeys.kbx': General error -gpgv: Signature made Wed Aug 23 04:58:41 2017 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig._PH7Rmbd/trustedkeys.kbx': General error +gpgv: Signature made Thu Aug 24 06:58:41 2017 +14 gpgv: using RSA key 7E43E9ACBF727AB3CF0885338716CE4614A452D8 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ruby-contracts_0.16.0-1.dsc @@ -26,135 +26,169 @@ dpkg-source: info: unpacking ruby-contracts_0.16.0-1.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3378419/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/551718/tmp/hooks/D01_modify_environment starting +debug: Running on ionos5-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 +Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' +Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' +Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' +Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by 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/551718/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/551718/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - 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,-fixfilepath parallel=15' - DISTRIBUTION='' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.1.4(1)-release' + BUILDDIR=/build + 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,-fixfilepath parallel=16' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='48b3f7a514164e748c028789c3fbf303' - 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='3378419' - PS1='# ' - PS2='> ' + INVOCATION_ID=4e64a2975ac94bc8840cbe1f265dd7ba + 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=551718 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/tmp.tzR6mB0s0K/pbuilderrc_6xLM --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.tzR6mB0s0K/b1 --logfile b1/build.log ruby-contracts_0.16.0-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://78.137.99.97:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.tzR6mB0s0K/pbuilderrc_9T43 --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.tzR6mB0s0K/b2 --logfile b2/build.log ruby-contracts_0.16.0-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://85.184.249.68:3128 I: uname -a - Linux ionos1-amd64 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux + Linux i-capture-the-hostname 5.14.0-0.bpo.2-amd64 #1 SMP Debian 5.14.9-2~bpo11+1 (2021-10-10) x86_64 GNU/Linux I: ls -l /bin total 5476 - -rwxr-xr-x 1 root root 1234376 Aug 4 08:25 bash - -rwxr-xr-x 3 root root 38984 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 38984 Jul 20 2020 bzcat - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep - -rwxr-xr-x 3 root root 38984 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 18424 Jul 20 2020 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore - -rwxr-xr-x 1 root root 43936 Sep 23 2020 cat - -rwxr-xr-x 1 root root 72672 Sep 23 2020 chgrp - -rwxr-xr-x 1 root root 64448 Sep 23 2020 chmod - -rwxr-xr-x 1 root root 72672 Sep 23 2020 chown - -rwxr-xr-x 1 root root 151168 Sep 23 2020 cp - -rwxr-xr-x 1 root root 125560 Dec 10 2020 dash - -rwxr-xr-x 1 root root 113664 Sep 23 2020 date - -rwxr-xr-x 1 root root 80968 Sep 23 2020 dd - -rwxr-xr-x 1 root root 93936 Sep 23 2020 df - -rwxr-xr-x 1 root root 147176 Sep 23 2020 dir - -rwxr-xr-x 1 root root 84440 Jul 28 07:09 dmesg - lrwxrwxrwx 1 root root 8 Nov 6 2019 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Nov 6 2019 domainname -> hostname - -rwxr-xr-x 1 root root 39712 Sep 23 2020 echo - -rwxr-xr-x 1 root root 28 Nov 9 2020 egrep - -rwxr-xr-x 1 root root 39680 Sep 23 2020 false - -rwxr-xr-x 1 root root 28 Nov 9 2020 fgrep - -rwxr-xr-x 1 root root 69032 Jul 28 07:09 findmnt - -rwsr-xr-x 1 root root 34896 Feb 26 2021 fusermount - -rwxr-xr-x 1 root root 203072 Nov 9 2020 grep - -rwxr-xr-x 2 root root 2346 Mar 2 2021 gunzip - -rwxr-xr-x 1 root root 6376 Mar 2 2021 gzexe - -rwxr-xr-x 1 root root 98048 Mar 2 2021 gzip - -rwxr-xr-x 1 root root 22600 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 72840 Sep 23 2020 ln - -rwxr-xr-x 1 root root 56952 Feb 7 2020 login - -rwxr-xr-x 1 root root 147176 Sep 23 2020 ls - -rwxr-xr-x 1 root root 149736 Jul 28 07:09 lsblk - -rwxr-xr-x 1 root root 85184 Sep 23 2020 mkdir - -rwxr-xr-x 1 root root 76896 Sep 23 2020 mknod - -rwxr-xr-x 1 root root 48064 Sep 23 2020 mktemp - -rwxr-xr-x 1 root root 59632 Jul 28 07:09 more - -rwsr-xr-x 1 root root 55528 Jul 28 07:09 mount - -rwxr-xr-x 1 root root 18664 Jul 28 07:09 mountpoint - -rwxr-xr-x 1 root root 147080 Sep 23 2020 mv - lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 18 2021 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 43872 Sep 23 2020 pwd - lrwxrwxrwx 1 root root 4 Aug 4 08:25 rbash -> bash - -rwxr-xr-x 1 root root 52032 Sep 23 2020 readlink - -rwxr-xr-x 1 root root 72704 Sep 23 2020 rm - -rwxr-xr-x 1 root root 52032 Sep 23 2020 rmdir - -rwxr-xr-x 1 root root 27472 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Oct 20 23:41 sh -> dash - -rwxr-xr-x 1 root root 43808 Sep 23 2020 sleep - -rwxr-xr-x 1 root root 84928 Sep 23 2020 stty - -rwsr-xr-x 1 root root 71912 Jul 28 07:09 su - -rwxr-xr-x 1 root root 39744 Sep 23 2020 sync - -rwxr-xr-x 1 root root 531928 Feb 16 2021 tar - -rwxr-xr-x 1 root root 14456 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 101408 Sep 23 2020 touch - -rwxr-xr-x 1 root root 39680 Sep 23 2020 true - -rwxr-xr-x 1 root root 14328 Feb 26 2021 ulockmgr_server - -rwsr-xr-x 1 root root 35040 Jul 28 07:09 umount - -rwxr-xr-x 1 root root 39744 Sep 23 2020 uname - -rwxr-xr-x 2 root root 2346 Mar 2 2021 uncompress - -rwxr-xr-x 1 root root 147176 Sep 23 2020 vdir - -rwxr-xr-x 1 root root 63744 Jul 28 07:09 wdctl - lrwxrwxrwx 1 root root 8 Nov 6 2019 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Mar 2 2021 zcat - -rwxr-xr-x 1 root root 1678 Mar 2 2021 zcmp - -rwxr-xr-x 1 root root 5880 Mar 2 2021 zdiff - -rwxr-xr-x 1 root root 29 Mar 2 2021 zegrep - -rwxr-xr-x 1 root root 29 Mar 2 2021 zfgrep - -rwxr-xr-x 1 root root 2081 Mar 2 2021 zforce - -rwxr-xr-x 1 root root 7585 Mar 2 2021 zgrep - -rwxr-xr-x 1 root root 2206 Mar 2 2021 zless - -rwxr-xr-x 1 root root 1842 Mar 2 2021 zmore - -rwxr-xr-x 1 root root 4553 Mar 2 2021 znew -I: user script /srv/workspace/pbuilder/3378419/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1234376 Aug 5 2021 bash + -rwxr-xr-x 3 root root 38984 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 38984 Jul 21 2020 bzcat + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Jul 21 2020 bzdiff + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Sep 5 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Jul 21 2020 bzgrep + -rwxr-xr-x 3 root root 38984 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 18424 Jul 21 2020 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 21 2020 bzmore + -rwxr-xr-x 1 root root 43936 Sep 24 2020 cat + -rwxr-xr-x 1 root root 72672 Sep 24 2020 chgrp + -rwxr-xr-x 1 root root 64448 Sep 24 2020 chmod + -rwxr-xr-x 1 root root 72672 Sep 24 2020 chown + -rwxr-xr-x 1 root root 151168 Sep 24 2020 cp + -rwxr-xr-x 1 root root 125560 Dec 11 2020 dash + -rwxr-xr-x 1 root root 113664 Sep 24 2020 date + -rwxr-xr-x 1 root root 80968 Sep 24 2020 dd + -rwxr-xr-x 1 root root 93936 Sep 24 2020 df + -rwxr-xr-x 1 root root 147176 Sep 24 2020 dir + -rwxr-xr-x 1 root root 84440 Jul 29 2021 dmesg + lrwxrwxrwx 1 root root 8 Nov 8 2019 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Nov 8 2019 domainname -> hostname + -rwxr-xr-x 1 root root 39712 Sep 24 2020 echo + -rwxr-xr-x 1 root root 28 Nov 10 2020 egrep + -rwxr-xr-x 1 root root 39680 Sep 24 2020 false + -rwxr-xr-x 1 root root 28 Nov 10 2020 fgrep + -rwxr-xr-x 1 root root 69032 Jul 29 2021 findmnt + -rwsr-xr-x 1 root root 34896 Feb 27 2021 fusermount + -rwxr-xr-x 1 root root 203072 Nov 10 2020 grep + -rwxr-xr-x 2 root root 2346 Mar 3 2021 gunzip + -rwxr-xr-x 1 root root 6376 Mar 3 2021 gzexe + -rwxr-xr-x 1 root root 98048 Mar 3 2021 gzip + -rwxr-xr-x 1 root root 22600 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 72840 Sep 24 2020 ln + -rwxr-xr-x 1 root root 56952 Feb 8 2020 login + -rwxr-xr-x 1 root root 147176 Sep 24 2020 ls + -rwxr-xr-x 1 root root 149736 Jul 29 2021 lsblk + -rwxr-xr-x 1 root root 85184 Sep 24 2020 mkdir + -rwxr-xr-x 1 root root 76896 Sep 24 2020 mknod + -rwxr-xr-x 1 root root 48064 Sep 24 2020 mktemp + -rwxr-xr-x 1 root root 59632 Jul 29 2021 more + -rwsr-xr-x 1 root root 55528 Jul 29 2021 mount + -rwxr-xr-x 1 root root 18664 Jul 29 2021 mountpoint + -rwxr-xr-x 1 root root 147080 Sep 24 2020 mv + lrwxrwxrwx 1 root root 8 Nov 8 2019 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 19 2021 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 43872 Sep 24 2020 pwd + lrwxrwxrwx 1 root root 4 Aug 5 2021 rbash -> bash + -rwxr-xr-x 1 root root 52032 Sep 24 2020 readlink + -rwxr-xr-x 1 root root 72704 Sep 24 2020 rm + -rwxr-xr-x 1 root root 52032 Sep 24 2020 rmdir + -rwxr-xr-x 1 root root 27472 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 122224 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Nov 29 15:06 sh -> bash + lrwxrwxrwx 1 root root 4 Nov 24 08:04 sh.distrib -> dash + -rwxr-xr-x 1 root root 43808 Sep 24 2020 sleep + -rwxr-xr-x 1 root root 84928 Sep 24 2020 stty + -rwsr-xr-x 1 root root 71912 Jul 29 2021 su + -rwxr-xr-x 1 root root 39744 Sep 24 2020 sync + -rwxr-xr-x 1 root root 531928 Feb 17 2021 tar + -rwxr-xr-x 1 root root 14456 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 101408 Sep 24 2020 touch + -rwxr-xr-x 1 root root 39680 Sep 24 2020 true + -rwxr-xr-x 1 root root 14328 Feb 27 2021 ulockmgr_server + -rwsr-xr-x 1 root root 35040 Jul 29 2021 umount + -rwxr-xr-x 1 root root 39744 Sep 24 2020 uname + -rwxr-xr-x 2 root root 2346 Mar 3 2021 uncompress + -rwxr-xr-x 1 root root 147176 Sep 24 2020 vdir + -rwxr-xr-x 1 root root 63744 Jul 29 2021 wdctl + lrwxrwxrwx 1 root root 8 Nov 8 2019 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Mar 3 2021 zcat + -rwxr-xr-x 1 root root 1678 Mar 3 2021 zcmp + -rwxr-xr-x 1 root root 5880 Mar 3 2021 zdiff + -rwxr-xr-x 1 root root 29 Mar 3 2021 zegrep + -rwxr-xr-x 1 root root 29 Mar 3 2021 zfgrep + -rwxr-xr-x 1 root root 2081 Mar 3 2021 zforce + -rwxr-xr-x 1 root root 7585 Mar 3 2021 zgrep + -rwxr-xr-x 1 root root 2206 Mar 3 2021 zless + -rwxr-xr-x 1 root root 1842 Mar 3 2021 zmore + -rwxr-xr-x 1 root root 4553 Mar 3 2021 znew +I: user script /srv/workspace/pbuilder/551718/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -327,7 +361,7 @@ Get: 129 http://deb.debian.org/debian bullseye/main amd64 ruby-rspec-expectations all 3.9.0c2e2m1s3-2 [89.9 kB] Get: 130 http://deb.debian.org/debian bullseye/main amd64 ruby-rspec-mocks all 3.9.0c2e2m1s3-2 [81.4 kB] Get: 131 http://deb.debian.org/debian bullseye/main amd64 ruby-rspec all 3.9.0c2e2m1s3-2 [8348 B] -Fetched 44.2 MB in 1s (59.7 MB/s) +Fetched 44.2 MB in 1s (82.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (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 ... 19655 files and directories currently installed.) @@ -881,7 +915,8 @@ fakeroot is already the newest version (1.25.3-1.1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/ruby-contracts-0.16.0/ && 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 > ../ruby-contracts_0.16.0-1_source.changes +hostname: Name or service not known +I: Running cd /build/ruby-contracts-0.16.0/ && 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 > ../ruby-contracts_0.16.0-1_source.changes dpkg-buildpackage: info: source package ruby-contracts dpkg-buildpackage: info: source version 0.16.0-1 dpkg-buildpackage: info: source distribution unstable @@ -963,183 +998,88 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 51219 +Randomized with seed 7775 + +Contracts::Invariants + raises invariant violation error when any of invariants are not holding + works when all invariants are holding + +Contract + .override_validator + allows to override simple validators + allows to override valid contract + allows to override default validator + allows to override class validator module methods - should fail for incorrect input should pass for correct input + should fail for incorrect input Contracts: - Xor: - should fail for an object with neither method - should fail for an object with both methods :good and :bad - should pass for an object with a method :good - should pass for an object with a method :bad - HashOf: - doesn't allow to specify multiple key-value pairs with pretty syntax - given a fulfilled contract - is expected to eq 2 - is expected to eq 2 - #to_s - given Symbol => String - is expected to eq "Hash" - given String => Num - is expected to eq "Hash" - given an unfulfilled contract - is expected to raise ContractError - is expected to raise ContractError - is expected to raise ContractError - is expected to raise ContractError - None: - should fail for nil - should fail for strings - should fail for numbers - should fail for procs - DescendantOf: - should pass for Array - should pass for a hash - should fail for a non-class - should fail for a number class - Send: - should pass for an object that returns true for method :good - should fail for an object that returns false for method :good - RangeOf: - should pass for a range of nums - should pass for a range of dates - should fail for a range with incorrect data type - should fail for a non-range - should fail for a badly-defined range - Bool: - should pass for an argument that is a boolean - should fail for nil - Any: - should pass for procs - should pass for nil - should pass for strings - should pass for numbers - Num: - should fail for nil and other data types - should pass for Fixnums - should pass for Floats - KeywordArgs: - should pass if a method is overloaded with non-KeywordArgs - should fail if a key with a contract on it isn't provided - should fail for incorrect input - should pass for exact correct input - should fail if some keys don't have contracts - And: - should pass for an object of class A that has a method :good - should fail for an object that has a method :good but isn't of class A - RespondTo: - should pass for an object that responds to :good - should fail for an object that doesn't respond to :good - StrictHash: - when given an exact correct input - does not raise an error - when given an input with correct keys but wrong types - raises an error - when given an input with missing keys - raises an error - when given an input with extra keys - raises an error - when given not a hash - raises an error - Optional: - can't be used outside of KeywordArgs - Maybe: - should pass for nils - should pass for nums - should fail for strings - Eq: - should pass for a module - should pass for a class - should fail when given instance of class - should fail when not equal - should pass for other values - ArrayOf: - should fail for a non-array - should pass for an array of nums - should fail for an array with one non-num - Nat: - should fail for negative numbers - should pass for 0 - should fail for nil and other data types - should pass for positive whole numbers - should fail for positive non-whole numbers - Neg: - should fail for nil and other data types - should fail for positive numbers - should fail for 0 - should pass for negative numbers - Enum: - should fail for an object that is not included - should pass for an object that is included - Pos: - should fail for 0 - should pass for positive numbers - should fail for negative numbers - should fail for nil and other data types - Exactly: - should fail for an object that is not related to Parent at all - should fail for an object that inherits from Parent - should pass for an object that is exactly a Parent - Not: - should fail for nil - should pass for an argument that isn't nil - SetOf: - should fail for an array with one non-num - should fail for a non-array - should pass for a set of nums - Or: - should pass for strings - should fail for nil - should pass for nums + method called with blocks +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was # Num + At: /build/ruby-contracts-0.16.0/spec/methods_spec.rb:51 >. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/methods_spec.rb:51:in `block (3 levels) in '. + should enforce return value inside lambda with other parameter +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was # Num + At: /build/ruby-contracts-0.16.0/spec/methods_spec.rb:47 >. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/methods_spec.rb:47:in `block (3 levels) in '. + should enforce return value inside lambda with no other parameter +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was # Num + At: /build/ruby-contracts-0.16.0/spec/methods_spec.rb:43 >. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/methods_spec.rb:43:in `block (3 levels) in '. + should enforce return value inside block with other parameter +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was # Num + At: >. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/methods_spec.rb:39:in `block (3 levels) in '. + should enforce return value inside block with no other parameter -Contract validators - Range - passes when value is in range - fails when value is incorrect - fails when value is not in range - Regexp - should pass for a matching string - should fail for a non-matching string - within an array - should pass for a matching string - within a hash - should pass for a matching string +Contracts::Support + eigenclass? + is truthy for singleton classes + is falsey for non-singleton classes + eigenclass_of + returns the eigenclass of a given object Contracts: - classes with a valid? class method - should pass for correct input - should fail for incorrect input - Hashes - should fail if a key with a contract on it isn't provided - should pass for exact correct input - should pass even if some keys don't have contracts + varargs with block should fail for incorrect input + should pass for correct input + when block has Func contract + should fail for incorrect input basic + should fail for insufficient contracts WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/contracts_spec.rb:8:in `block (3 levels) in '. should fail for insufficient arguments - should fail for insufficient contracts - classes - should fail for incorrect input + Contracts to_s formatting in expected + should contain to_s representation within a nested Array contract + should contain to_s representation within an Array contract + should contain to_s representation within a Hash contract + should contain to_s representation within a nested Hash contract + should not use custom to_s if empty string + should still show nils, not just blank space + should show empty quotes as "" + should not contain Contracts:: module prefix + should not stringify native types + private methods + should raise an error if you try to access a private method + should raise an error if you try to access a private method + classes with a valid? class method should pass for correct input - Procs should fail for incorrect input + classes should pass for correct input - blocks - should succeed for maybe proc with no proc - should succeed for maybe proc with proc - should pass for correct input - should handle properly lack of block when there are other arguments - should fail for maybe proc with invalid input should fail for incorrect input - varargs are given with a maybe block - when a block is passed in, varargs should be correct - when a block is NOT passed in, varargs should still be correct - private methods - should raise an error if you try to access a private method - should raise an error if you try to access a private method + usage in the singleton class of a subclass + should work with a valid contract on a singleton method + instance and class methods + should allow a class to have an instance method and a class method with the same name inherited methods WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/contracts_spec.rb:699:in `block (3 levels) in '. should apply the contract to an inherited method module contracts - does not pass for instance of class including another module - does not pass for instance of class not including module passes for instance of class including inherited module - passes for instance of class including module + does not pass for instance of class not including module passes for instance of class including both modules + does not pass for instance of class including another module + passes for instance of class including module pattern matching + should fail if multiple methods are defined with the same contract (for pattern-matching) + should work as expected when there is no contract violation + should not fall through to next pattern when there is a deep contract violation if the return contract for a pattern match fails, it should fail instead of trying the next pattern match should fail when the pattern-matched method's contract fails - should work as expected when there is no contract violation should work for differing arities - should fail if multiple methods are defined with the same contract (for pattern-matching) - should not fall through to next pattern when there is a deep contract violation when failure_callback was overriden if the return contract for a pattern match fails, it should fail instead of trying the next pattern match, even with the failure callback - calls a method when first pattern matches uses overriden failure_callback when pattern matching fails + calls a method when first pattern matches falls through to 2nd pattern when first pattern does not match - anonymous modules - fails with error when contract is violated - does not fail when contract is satisfied - when called on module itself - does not fail when contract is satisfied - fails with error when contract is violated - usage in the singleton class of a subclass - should work with a valid contract on a singleton method - Contracts to_s formatting in expected - should contain to_s representation within a Hash contract - should contain to_s representation within an Array contract - should still show nils, not just blank space - should contain to_s representation within a nested Array contract - should show empty quotes as "" - should not contain Contracts:: module prefix - should not use custom to_s if empty string - should contain to_s representation within a nested Hash contract - should not stringify native types - classes with extended modules - works correctly with methods with passing contracts - is possible to define it - works correctly with methods with passing contracts - should not fail with 'undefined method 'Contract'' - contracts for functions with no arguments - should work for functions with no args -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/contracts_spec.rb:28:in `block (3 levels) in '. - should not work for a function with a bad contract - should still work for old-style contracts for functions with no args - varargs - should pass for correct input - should fail for incorrect input - should work with arg before splat - classes - should not fail for an object that is the exact type as the contract - should not fail for an object that is a subclass of the type in the contract - anonymous classes - does not fail when contract is satisfied - fails with error when contract is violated - no contracts feature - disables normal contract checks - disables invariants - does not disable pattern matching + module usage + with instance methods + should check contract + with singleton class methods + should check contract + with singleton methods + should check contract functype should correctly print out a class method's type should correctly print out a instance method's type + failure callbacks + when failure_callback returns true + calls a function for which the contract fails + when failure_callback returns false + does not call a function for which the contract fails + anonymous classes + does not fail when contract is satisfied + fails with error when contract is violated usage in singleton class should fail with proper error when there is contract violation should work normally when there is no contract violation builtin contracts usage allows to use builtin contracts without namespacing and redundant Contracts inclusion - default args to functions - should work for a function call that relies on default args - instance methods - should allow two classes to have the same method with different contracts - Arrays - should fail for some incorrect elements - should fail for insufficient items + blocks + should succeed for maybe proc with no proc should pass for correct input - protected methods - should raise an error if you try to access a protected method - should raise an error if you try to access a protected method - failure callbacks - when failure_callback returns true - calls a function for which the contract fails - when failure_callback returns false - does not call a function for which the contract fails + should handle properly lack of block when there are other arguments + should fail for maybe proc with invalid input + should fail for incorrect input + should succeed for maybe proc with proc + varargs are given with a maybe block + when a block is passed in, varargs should be correct + when a block is NOT passed in, varargs should still be correct class methods + should pass for correct input + should fail for incorrect input + Hashes + should pass for exact correct input + should fail for incorrect input + should pass even if some keys don't have contracts + should fail if a key with a contract on it isn't provided + varargs + should work with arg before splat should fail for incorrect input should pass for correct input - singleton methods self in inherited methods - should be a proper self - module usage - with instance methods - should check contract - with singleton class methods - should check contract - with singleton methods - should check contract - instance and class methods - should allow a class to have an instance method and a class method with the same name + Procs + should fail for incorrect input + should pass for correct input + protected methods + should raise an error if you try to access a protected method + should raise an error if you try to access a protected method + classes with extended modules + is possible to define it + should not fail with 'undefined method 'Contract'' + works correctly with methods with passing contracts + works correctly with methods with passing contracts contracts on functions - should fail for a returned function that doesn't pass the contract should pass for a function that passes the contract as in tutorial - should fail for a function that doesn't pass the contract with weak other args - should fail for a function that doesn't pass the contract should fail for a returned function that receives the wrong argument type + should fail for a function that doesn't pass the contract + should fail for a function that doesn't pass the contract with weak other args + should fail for a returned function that doesn't pass the contract should pass for a function that passes the contract with weak other args should pass for a function that passes the contract should not fail for a returned function that passes the contract - varargs with block + classes + should not fail for an object that is the exact type as the contract + should not fail for an object that is a subclass of the type in the contract + singleton methods self in inherited methods + should be a proper self + Arrays + should fail for some incorrect elements should pass for correct input - should fail for incorrect input - when block has Func contract - should fail for incorrect input - -Contracts::Invariants - raises invariant violation error when any of invariants are not holding - works when all invariants are holding + should fail for insufficient items + no contracts feature + disables invariants + does not disable pattern matching + disables normal contract checks + anonymous modules + does not fail when contract is satisfied + fails with error when contract is violated + when called on module itself + does not fail when contract is satisfied + fails with error when contract is violated + contracts for functions with no arguments +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/contracts_spec.rb:28:in `block (3 levels) in '. + should not work for a function with a bad contract + should work for functions with no args + should still work for old-style contracts for functions with no args + instance methods + should allow two classes to have the same method with different contracts + default args to functions + should work for a function call that relies on default args Contracts: Attrs: attr_writer_with_contract setting valid type - setting invalid type getting - attr_reader_with_contract - getting valid type - setting - getting invalid type + setting invalid type attr_accessor_with_contract getting valid type getting invalid type setting invalid type setting valid type + attr_reader_with_contract + setting + getting valid type + getting invalid type Contracts: - method called with blocks -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was # Num - At: /build/ruby-contracts-0.16.0/spec/methods_spec.rb:47 >. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/methods_spec.rb:47:in `block (3 levels) in '. - should enforce return value inside lambda with no other parameter -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was # Num - At: /build/ruby-contracts-0.16.0/spec/methods_spec.rb:51 >. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/methods_spec.rb:51:in `block (3 levels) in '. - should enforce return value inside lambda with other parameter -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was # Num - At: >. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/methods_spec.rb:39:in `block (3 levels) in '. - should enforce return value inside block with no other parameter -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was # Num - At: /build/ruby-contracts-0.16.0/spec/methods_spec.rb:43 >. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/ruby-contracts-0.16.0/spec/methods_spec.rb:43:in `block (3 levels) in '. - should enforce return value inside block with other parameter - -Contracts::Support - eigenclass_of - returns the eigenclass of a given object - eigenclass? - is truthy for singleton classes - is falsey for non-singleton classes + Or: + should fail for nil + should pass for nums + should pass for strings + SetOf: + should pass for a set of nums + should fail for a non-array + should fail for an array with one non-num + RespondTo: + should fail for an object that doesn't respond to :good + should pass for an object that responds to :good + Neg: + should fail for 0 + should fail for nil and other data types + should fail for positive numbers + should pass for negative numbers + Send: + should pass for an object that returns true for method :good + should fail for an object that returns false for method :good + Xor: + should fail for an object with both methods :good and :bad + should pass for an object with a method :good + should pass for an object with a method :bad + should fail for an object with neither method + DescendantOf: + should pass for Array + should fail for a number class + should pass for a hash + should fail for a non-class + Any: + should pass for numbers + should pass for procs + should pass for nil + should pass for strings + HashOf: + doesn't allow to specify multiple key-value pairs with pretty syntax + #to_s + given Symbol => String + is expected to eq "Hash" + given String => Num + is expected to eq "Hash" + given an unfulfilled contract + is expected to raise ContractError + is expected to raise ContractError + is expected to raise ContractError + is expected to raise ContractError + given a fulfilled contract + is expected to eq 2 + is expected to eq 2 + None: + should fail for strings + should fail for numbers + should fail for nil + should fail for procs + Pos: + should fail for 0 + should fail for nil and other data types + should pass for positive numbers + should fail for negative numbers + KeywordArgs: + should fail if a key with a contract on it isn't provided + should fail for incorrect input + should fail if some keys don't have contracts + should pass if a method is overloaded with non-KeywordArgs + should pass for exact correct input + Not: + should fail for nil + should pass for an argument that isn't nil + Exactly: + should pass for an object that is exactly a Parent + should fail for an object that inherits from Parent + should fail for an object that is not related to Parent at all + Eq: + should pass for other values + should pass for a module + should fail when given instance of class + should fail when not equal + should pass for a class + StrictHash: + when given an input with correct keys but wrong types + raises an error + when given an exact correct input + does not raise an error + when given not a hash + raises an error + when given an input with extra keys + raises an error + when given an input with missing keys + raises an error + Nat: + should fail for nil and other data types + should fail for negative numbers + should pass for positive whole numbers + should fail for positive non-whole numbers + should pass for 0 + ArrayOf: + should fail for an array with one non-num + should pass for an array of nums + should fail for a non-array + RangeOf: + should fail for a badly-defined range + should fail for a non-range + should pass for a range of dates + should pass for a range of nums + should fail for a range with incorrect data type + And: + should pass for an object of class A that has a method :good + should fail for an object that has a method :good but isn't of class A + Optional: + can't be used outside of KeywordArgs + Num: + should pass for Floats + should fail for nil and other data types + should pass for Fixnums + Enum: + should fail for an object that is not included + should pass for an object that is included + Bool: + should fail for nil + should pass for an argument that is a boolean + Maybe: + should fail for strings + should pass for nils + should pass for nums -Contract - .override_validator - allows to override valid contract - allows to override class validator - allows to override default validator - allows to override simple validators +Contract validators + Regexp + should pass for a matching string + should fail for a non-matching string + within a hash + should pass for a matching string + within an array + should pass for a matching string + Range + passes when value is in range + fails when value is not in range + fails when value is incorrect -Top 10 slowest examples (0.07527 seconds, 38.8% of total time): - Contracts: pattern matching should not fall through to next pattern when there is a deep contract violation - 0.015 seconds ./spec/contracts_spec.rb:55 - module methods should fail for incorrect input - 0.01127 seconds ./spec/module_spec.rb:15 +Top 10 slowest examples (0.05092 seconds, 34.8% of total time): + Contract.override_validator allows to override default validator + 0.01009 seconds ./spec/override_validators_spec.rb:127 Contracts: protected methods should raise an error if you try to access a protected method - 0.01023 seconds ./spec/contracts_spec.rb:690 + 0.00777 seconds ./spec/contracts_spec.rb:690 Contracts: private methods should raise an error if you try to access a private method - 0.00971 seconds ./spec/contracts_spec.rb:680 + 0.00766 seconds ./spec/contracts_spec.rb:680 Contracts: protected methods should raise an error if you try to access a protected method - 0.00843 seconds ./spec/contracts_spec.rb:686 + 0.00663 seconds ./spec/contracts_spec.rb:686 Contracts: private methods should raise an error if you try to access a private method - 0.00798 seconds ./spec/contracts_spec.rb:676 - Contracts: HashOf: given a fulfilled contract is expected to eq 2 - 0.00402 seconds ./spec/builtin_contracts_spec.rb:408 - Contracts: Xor: should fail for an object with neither method - 0.00347 seconds ./spec/builtin_contracts_spec.rb:174 - Contracts: contracts for functions with no arguments should not work for a function with a bad contract - 0.00263 seconds ./spec/contracts_spec.rb:27 - Contract.override_validator allows to override valid contract - 0.00254 seconds ./spec/override_validators_spec.rb:45 + 0.00575 seconds ./spec/contracts_spec.rb:676 + Contract.override_validator allows to override simple validators + 0.00382 seconds ./spec/override_validators_spec.rb:9 + Contracts::Invariants raises invariant violation error when any of invariants are not holding + 0.00309 seconds ./spec/invariants_spec.rb:12 + Contracts: classes with extended modules works correctly with methods with passing contracts + 0.00224 seconds ./spec/contracts_spec.rb:723 + Contracts::Support eigenclass? is truthy for singleton classes + 0.00203 seconds ./spec/support_spec.rb:8 + Contract.override_validator allows to override class validator + 0.00185 seconds ./spec/override_validators_spec.rb:96 Top 9 slowest example groups: - module methods - 0.00679 seconds average (0.01358 seconds / 2 examples) ./spec/module_spec.rb:10 Contract - 0.00199 seconds average (0.00796 seconds / 4 examples) ./spec/override_validators_spec.rb:1 - Contracts: - 0.00112 seconds average (0.11295 seconds / 101 examples) ./spec/contracts_spec.rb:1 + 0.00457 seconds average (0.01828 seconds / 4 examples) ./spec/override_validators_spec.rb:1 + Contracts::Invariants + 0.00267 seconds average (0.00535 seconds / 2 examples) ./spec/invariants_spec.rb:2 Contracts::Support - 0.00094 seconds average (0.00283 seconds / 3 examples) ./spec/support_spec.rb:2 + 0.00096 seconds average (0.00287 seconds / 3 examples) ./spec/support_spec.rb:2 + Contracts: + 0.00074 seconds average (0.0743 seconds / 101 examples) ./spec/contracts_spec.rb:1 Contracts: - 0.00054 seconds average (0.00215 seconds / 4 examples) ./spec/methods_spec.rb:1 + 0.0005 seconds average (0.00201 seconds / 4 examples) ./spec/methods_spec.rb:1 Contracts: - 0.00051 seconds average (0.04583 seconds / 89 examples) ./spec/builtin_contracts_spec.rb:1 + 0.0004 seconds average (0.03602 seconds / 89 examples) ./spec/builtin_contracts_spec.rb:1 Contract validators - 0.00051 seconds average (0.00359 seconds / 7 examples) ./spec/validators_spec.rb:3 - Contracts::Invariants - 0.00032 seconds average (0.00064 seconds / 2 examples) ./spec/invariants_spec.rb:2 + 0.00037 seconds average (0.00259 seconds / 7 examples) ./spec/validators_spec.rb:3 + module methods + 0.00033 seconds average (0.00066 seconds / 2 examples) ./spec/module_spec.rb:10 Contracts: - 0.00031 seconds average (0.00306 seconds / 10 examples) ./spec/attrs_spec.rb:1 + 0.00027 seconds average (0.00274 seconds / 10 examples) ./spec/attrs_spec.rb:1 -Finished in 0.19409 seconds (files took 0.40544 seconds to load) +Finished in 0.14614 seconds (files took 0.28235 seconds to load) 222 examples, 0 failures -Randomized with seed 51219 +Randomized with seed 7775 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1395,12 +1430,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/551718/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/551718/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/3378419 and its subdirectories -I: Current time: Tue Oct 26 06:43:17 -12 2021 -I: pbuilder-time-stamp: 1635273797 +I: removing directory /srv/workspace/pbuilder/551718 and its subdirectories +I: Current time: Tue Nov 29 15:07:02 +14 2022 +I: pbuilder-time-stamp: 1669684022