Diff of the two buildlogs: -- --- b1/build.log 2021-07-24 14:01:05.361206912 +0000 +++ b2/build.log 2021-07-24 14:03:06.372654184 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Jul 24 02:00:17 -12 2021 -I: pbuilder-time-stamp: 1627135217 +I: Current time: Sat Aug 27 10:24:09 +14 2022 +I: pbuilder-time-stamp: 1661545449 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.zwjMRtIA/trustedkeys.kbx': General error -gpgv: Signature made Wed Aug 23 04:58:41 2017 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig.DZZ0RWXr/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/18683/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/11613/tmp/hooks/D01_modify_environment starting +debug: Running on codethink11-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +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/11613/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/11613/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='arm64' - DEBIAN_FRONTEND='noninteractive' + 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]="aarch64-unknown-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=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=8' - DISTRIBUTION='' - HOME='/var/lib/jenkins' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/var/lib/jenkins + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - 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='18683' - PS1='# ' - PS2='> ' + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=11613 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.Z6hANvhuvb/pbuilderrc_ZhpJ --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.Z6hANvhuvb/b1 --logfile b1/build.log ruby-contracts_0.16.0-1.dsc' - SUDO_GID='117' - SUDO_UID='110' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - USERNAME='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.16: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.Z6hANvhuvb/pbuilderrc_RfM1 --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.Z6hANvhuvb/b2 --logfile b2/build.log --extrapackages usrmerge ruby-contracts_0.16.0-1.dsc' + SUDO_GID=117 + SUDO_UID=110 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + USERNAME=root + _='I: set' + http_proxy=http://192.168.101.16:3128 I: uname -a - Linux codethink12-arm64 4.15.0-151-generic #157-Ubuntu SMP Fri Jul 9 21:03:48 UTC 2021 aarch64 GNU/Linux + Linux i-capture-the-hostname 4.15.0-151-generic #157-Ubuntu SMP Fri Jul 9 21:03:48 UTC 2021 aarch64 GNU/Linux I: ls -l /bin total 5252 - -rwxr-xr-x 1 root root 1282512 Jun 21 14:26 bash - -rwxr-xr-x 3 root root 34808 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 34808 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 34808 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 14264 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 39832 Sep 22 2020 cat - -rwxr-xr-x 1 root root 64512 Sep 22 2020 chgrp - -rwxr-xr-x 1 root root 60368 Sep 22 2020 chmod - -rwxr-xr-x 1 root root 64528 Sep 22 2020 chown - -rwxr-xr-x 1 root root 138896 Sep 22 2020 cp - -rwxr-xr-x 1 root root 129544 Dec 10 2020 dash - -rwxr-xr-x 1 root root 101384 Sep 22 2020 date - -rwxr-xr-x 1 root root 80984 Sep 22 2020 dd - -rwxr-xr-x 1 root root 89824 Sep 22 2020 df - -rwxr-xr-x 1 root root 143088 Sep 22 2020 dir - -rwxr-xr-x 1 root root 76152 Feb 7 02:38 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 35632 Sep 22 2020 echo - -rwxr-xr-x 1 root root 28 Nov 9 2020 egrep - -rwxr-xr-x 1 root root 31512 Sep 22 2020 false - -rwxr-xr-x 1 root root 28 Nov 9 2020 fgrep - -rwxr-xr-x 1 root root 64856 Feb 7 02:38 findmnt - -rwsr-xr-x 1 root root 34824 Feb 26 04:12 fusermount - -rwxr-xr-x 1 root root 178400 Nov 9 2020 grep - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 gunzip - -rwxr-xr-x 1 root root 6376 Mar 2 11:30 gzexe - -rwxr-xr-x 1 root root 93744 Mar 2 11:30 gzip - -rwxr-xr-x 1 root root 18440 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 68720 Sep 22 2020 ln - -rwxr-xr-x 1 root root 52720 Feb 7 2020 login - -rwxr-xr-x 1 root root 143088 Sep 22 2020 ls - -rwxr-xr-x 1 root root 161960 Feb 7 02:38 lsblk - -rwxr-xr-x 1 root root 85200 Sep 22 2020 mkdir - -rwxr-xr-x 1 root root 68744 Sep 22 2020 mknod - -rwxr-xr-x 1 root root 43976 Sep 22 2020 mktemp - -rwxr-xr-x 1 root root 51368 Feb 7 02:38 more - -rwsr-xr-x 1 root root 51360 Feb 7 02:38 mount - -rwxr-xr-x 1 root root 14496 Feb 7 02:38 mountpoint - -rwxr-xr-x 1 root root 134808 Sep 22 2020 mv - lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 18 03:38 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 35720 Sep 22 2020 pwd - lrwxrwxrwx 1 root root 4 Jun 21 14:26 rbash -> bash - -rwxr-xr-x 1 root root 43872 Sep 22 2020 readlink - -rwxr-xr-x 1 root root 68592 Sep 22 2020 rm - -rwxr-xr-x 1 root root 43880 Sep 22 2020 rmdir - -rwxr-xr-x 1 root root 19208 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 114016 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Jul 22 21:25 sh -> dash - -rwxr-xr-x 1 root root 35656 Sep 22 2020 sleep - -rwxr-xr-x 1 root root 72640 Sep 22 2020 stty - -rwsr-xr-x 1 root root 67776 Feb 7 02:38 su - -rwxr-xr-x 1 root root 35672 Sep 22 2020 sync - -rwxr-xr-x 1 root root 535768 Feb 16 21:55 tar - -rwxr-xr-x 1 root root 10568 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 89120 Sep 22 2020 touch - -rwxr-xr-x 1 root root 31512 Sep 22 2020 true - -rwxr-xr-x 1 root root 14264 Feb 26 04:12 ulockmgr_server - -rwsr-xr-x 1 root root 30880 Feb 7 02:38 umount - -rwxr-xr-x 1 root root 35640 Sep 22 2020 uname - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 uncompress - -rwxr-xr-x 1 root root 143088 Sep 22 2020 vdir - -rwxr-xr-x 1 root root 59584 Feb 7 02:38 wdctl - lrwxrwxrwx 1 root root 8 Nov 6 2019 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Mar 2 11:30 zcat - -rwxr-xr-x 1 root root 1678 Mar 2 11:30 zcmp - -rwxr-xr-x 1 root root 5880 Mar 2 11:30 zdiff - -rwxr-xr-x 1 root root 29 Mar 2 11:30 zegrep - -rwxr-xr-x 1 root root 29 Mar 2 11:30 zfgrep - -rwxr-xr-x 1 root root 2081 Mar 2 11:30 zforce - -rwxr-xr-x 1 root root 7585 Mar 2 11:30 zgrep - -rwxr-xr-x 1 root root 2206 Mar 2 11:30 zless - -rwxr-xr-x 1 root root 1842 Mar 2 11:30 zmore - -rwxr-xr-x 1 root root 4553 Mar 2 11:30 znew -I: user script /srv/workspace/pbuilder/18683/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1282512 Jun 22 2021 bash + -rwxr-xr-x 3 root root 34808 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 34808 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 34808 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 14264 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 39832 Sep 23 2020 cat + -rwxr-xr-x 1 root root 64512 Sep 23 2020 chgrp + -rwxr-xr-x 1 root root 60368 Sep 23 2020 chmod + -rwxr-xr-x 1 root root 64528 Sep 23 2020 chown + -rwxr-xr-x 1 root root 138896 Sep 23 2020 cp + -rwxr-xr-x 1 root root 129544 Dec 11 2020 dash + -rwxr-xr-x 1 root root 101384 Sep 23 2020 date + -rwxr-xr-x 1 root root 80984 Sep 23 2020 dd + -rwxr-xr-x 1 root root 89824 Sep 23 2020 df + -rwxr-xr-x 1 root root 143088 Sep 23 2020 dir + -rwxr-xr-x 1 root root 76152 Feb 8 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 35632 Sep 23 2020 echo + -rwxr-xr-x 1 root root 28 Nov 10 2020 egrep + -rwxr-xr-x 1 root root 31512 Sep 23 2020 false + -rwxr-xr-x 1 root root 28 Nov 10 2020 fgrep + -rwxr-xr-x 1 root root 64856 Feb 8 2021 findmnt + -rwsr-xr-x 1 root root 34824 Feb 27 2021 fusermount + -rwxr-xr-x 1 root root 178400 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 93744 Mar 3 2021 gzip + -rwxr-xr-x 1 root root 18440 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 68720 Sep 23 2020 ln + -rwxr-xr-x 1 root root 52720 Feb 8 2020 login + -rwxr-xr-x 1 root root 143088 Sep 23 2020 ls + -rwxr-xr-x 1 root root 161960 Feb 8 2021 lsblk + -rwxr-xr-x 1 root root 85200 Sep 23 2020 mkdir + -rwxr-xr-x 1 root root 68744 Sep 23 2020 mknod + -rwxr-xr-x 1 root root 43976 Sep 23 2020 mktemp + -rwxr-xr-x 1 root root 51368 Feb 8 2021 more + -rwsr-xr-x 1 root root 51360 Feb 8 2021 mount + -rwxr-xr-x 1 root root 14496 Feb 8 2021 mountpoint + -rwxr-xr-x 1 root root 134808 Sep 23 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 35720 Sep 23 2020 pwd + lrwxrwxrwx 1 root root 4 Jun 22 2021 rbash -> bash + -rwxr-xr-x 1 root root 43872 Sep 23 2020 readlink + -rwxr-xr-x 1 root root 68592 Sep 23 2020 rm + -rwxr-xr-x 1 root root 43880 Sep 23 2020 rmdir + -rwxr-xr-x 1 root root 19208 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 114016 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Aug 27 10:24 sh -> bash + lrwxrwxrwx 1 root root 4 Aug 27 05:47 sh.distrib -> dash + -rwxr-xr-x 1 root root 35656 Sep 23 2020 sleep + -rwxr-xr-x 1 root root 72640 Sep 23 2020 stty + -rwsr-xr-x 1 root root 67776 Feb 8 2021 su + -rwxr-xr-x 1 root root 35672 Sep 23 2020 sync + -rwxr-xr-x 1 root root 535768 Feb 17 2021 tar + -rwxr-xr-x 1 root root 10568 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 89120 Sep 23 2020 touch + -rwxr-xr-x 1 root root 31512 Sep 23 2020 true + -rwxr-xr-x 1 root root 14264 Feb 27 2021 ulockmgr_server + -rwsr-xr-x 1 root root 30880 Feb 8 2021 umount + -rwxr-xr-x 1 root root 35640 Sep 23 2020 uname + -rwxr-xr-x 2 root root 2346 Mar 3 2021 uncompress + -rwxr-xr-x 1 root root 143088 Sep 23 2020 vdir + -rwxr-xr-x 1 root root 59584 Feb 8 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/11613/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 arm64 ruby-rspec-expectations all 3.9.0c2e2m1s3-2 [89.9 kB] Get: 130 http://deb.debian.org/debian bullseye/main arm64 ruby-rspec-mocks all 3.9.0c2e2m1s3-2 [81.4 kB] Get: 131 http://deb.debian.org/debian bullseye/main arm64 ruby-rspec all 3.9.0c2e2m1s3-2 [8348 B] -Fetched 43.3 MB in 1s (47.2 MB/s) +Fetched 43.3 MB in 1s (29.4 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 ... 19646 files and directories currently installed.) @@ -879,9 +913,42 @@ Building dependency tree... Reading state information... fakeroot is already the newest version (1.25.3-1.1). -0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +The following additional packages will be installed: + libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl +The following NEW packages will be installed: + libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl usrmerge +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Need to get 59.5 kB of archives. +After this operation, 157 kB of additional disk space will be used. +Get:1 http://deb.debian.org/debian bullseye/main arm64 libnumber-compare-perl all 0.03-1.1 [6956 B] +Get:2 http://deb.debian.org/debian bullseye/main arm64 libtext-glob-perl all 0.11-1 [8888 B] +Get:3 http://deb.debian.org/debian bullseye/main arm64 libfile-find-rule-perl all 0.34-1 [30.6 kB] +Get:4 http://deb.debian.org/debian bullseye/main arm64 usrmerge all 25 [13.0 kB] +debconf: delaying package configuration, since apt-utils is not installed +Fetched 59.5 kB in 0s (1272 kB/s) +Selecting previously unselected package libnumber-compare-perl. +(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 ... 26814 files and directories currently installed.) +Preparing to unpack .../libnumber-compare-perl_0.03-1.1_all.deb ... +Unpacking libnumber-compare-perl (0.03-1.1) ... +Selecting previously unselected package libtext-glob-perl. +Preparing to unpack .../libtext-glob-perl_0.11-1_all.deb ... +Unpacking libtext-glob-perl (0.11-1) ... +Selecting previously unselected package libfile-find-rule-perl. +Preparing to unpack .../libfile-find-rule-perl_0.34-1_all.deb ... +Unpacking libfile-find-rule-perl (0.34-1) ... +Selecting previously unselected package usrmerge. +Preparing to unpack .../archives/usrmerge_25_all.deb ... +Unpacking usrmerge (25) ... +Setting up libtext-glob-perl (0.11-1) ... +Setting up libnumber-compare-perl (0.03-1.1) ... +Setting up libfile-find-rule-perl (0.34-1) ... +Setting up usrmerge (25) ... +The system has been successfully converted. +Processing triggers for man-db (2.9.4-2) ... +Not building database; man-db/auto-update is not 'true'. 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: Temporary failure in name resolution +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,37 +1030,56 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 61760 +Randomized with seed 58182 -Contract - .override_validator - allows to override class validator - allows to override default validator - allows to override valid contract - allows to override simple validators +Contracts::Invariants + works when all invariants are holding + raises invariant violation error when any of invariants are not holding Contract validators - Range - fails when value is not in range - passes when value is in range - fails when value is incorrect Regexp - should fail for a non-matching string 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 + fails when value is not in range + fails when value is incorrect + passes when value is in range + +module methods + should fail for incorrect input + should pass for correct input + +Contracts: + Attrs: + attr_accessor_with_contract + setting valid type + getting invalid type + setting invalid type + getting valid type + attr_writer_with_contract + setting invalid type + getting + setting valid type + attr_reader_with_contract + getting valid type + setting + getting invalid type + +Contract + .override_validator + allows to override simple validators + allows to override valid contract + allows to override default validator + allows to override class validator 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: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 @@ -1002,368 +1088,349 @@ 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: /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 + 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 -module methods - should fail for incorrect input - should pass for correct input +Contracts: + RespondTo: + should fail for an object that doesn't respond to :good + should pass for an object that responds to :good + Exactly: + should fail for an object that inherits from Parent + should fail for an object that is not related to Parent at all + should pass for an object that is exactly a Parent + Num: + should pass for Fixnums + should pass for Floats + should fail for nil and other data types + StrictHash: + when given not a hash + raises an error + when given an input with extra keys + raises an error + 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 + SetOf: + should fail for an array with one non-num + should fail for a non-array + should pass for a set of nums + Maybe: + should pass for nils + should fail for strings + should pass for nums + Pos: + should fail for nil and other data types + should fail for negative numbers + should fail for 0 + should pass for positive numbers + Enum: + should fail for an object that is not included + should pass for an object that is included + Nat: + should fail for negative numbers + should pass for positive whole numbers + should pass for 0 + should fail for positive non-whole numbers + should fail for nil and other data types + Any: + should pass for strings + should pass for nil + should pass for procs + should pass for numbers + 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 + given an unfulfilled contract + is expected to raise ContractError + is expected to raise ContractError + is expected to raise ContractError + is expected to raise ContractError + #to_s + given String => Num + is expected to eq "Hash" + given Symbol => String + is expected to eq "Hash" + Neg: + should fail for positive numbers + should pass for negative numbers + should fail for 0 + should fail for nil and other data types + Xor: + should pass for an object with a method :bad + 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 + Or: + should pass for nums + should fail for nil + should pass for strings + DescendantOf: + should fail for a non-class + should fail for a number class + should pass for a hash + should pass for Array + ArrayOf: + should pass for an array of nums + should fail for a non-array + should fail for an array with one non-num + Eq: + should fail when not equal + should pass for a module + should fail when given instance of class + should pass for other values + should pass for a class + 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 + Bool: + should fail for nil + should pass for an argument that is a boolean + KeywordArgs: + should fail if some keys don't have contracts + should fail for incorrect input + should pass for exact correct input + should pass if a method is overloaded with non-KeywordArgs + should fail if a key with a contract on it isn't provided + Send: + should pass for an object that returns true for method :good + should fail for an object that returns false for method :good + Optional: + can't be used outside of KeywordArgs + None: + should fail for numbers + should fail for procs + should fail for strings + should fail for nil + Not: + should fail for nil + should pass for an argument that isn't nil + RangeOf: + should fail for a badly-defined range + 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 + +Contracts::Support + eigenclass_of + returns the eigenclass of a given object + eigenclass? + is truthy for singleton classes + is falsey for non-singleton classes Contracts: blocks + should succeed for maybe proc with proc + should fail for maybe proc with invalid input should pass for correct input should fail for incorrect input - should handle properly lack of block when there are other arguments - should fail for maybe proc with invalid input should succeed for maybe proc with no proc - should succeed for maybe proc with proc + should handle properly lack of block when there are other arguments 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 + usage in the singleton class of a subclass + should work with a valid contract on a singleton method + instance methods + should allow two classes to have the same method with different contracts + functype + should correctly print out a class method's type + should correctly print out a instance method's type + contracts on functions + should pass for a function that passes the contract as in tutorial + should pass for a function that passes the contract with weak other args + should not fail for a returned function that passes the contract + should fail for a returned function that doesn't pass the contract + should fail for a function that doesn't pass the contract with weak other args + should pass for a function that passes 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 + contracts for functions with no arguments + should work for functions with no args + should still work for old-style contracts 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 + Hashes + should pass for exact correct input + should fail if a key with a contract on it isn't provided + should pass even if some keys don't have contracts + should fail for incorrect input + 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 + Procs + should fail for incorrect input + should pass for correct input 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 - failure callbacks - when failure_callback returns false - does not call a function for which the contract fails - when failure_callback returns true - calls a function for which the contract fails - classes with a valid? class method + no contracts feature + disables normal contract checks + disables invariants + does not disable pattern matching + class methods should fail for incorrect input should pass for correct input - instance and class methods - should allow a class to have an instance method and a class method with the same name classes with extended modules + should not fail with 'undefined method 'Contract'' 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'' - 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 - default args to functions - should work for a function call that relies on default args - classes - should pass for correct input - should fail for incorrect input - Hashes - should pass for exact correct input - should fail for incorrect input - should fail if a key with a contract on it isn't provided - should pass even if some keys don't have contracts - contracts for functions with no arguments - should still work for old-style contracts for functions with no args - 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 + is possible to define it + 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 # Num + At: /build/ruby-contracts-0.16.0/spec/fixtures/fixtures.rb:397 >. 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 usage - with singleton class methods + with instance methods should check contract with singleton methods should check contract - with instance methods + with singleton class methods should check contract + 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 + basic +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 anonymous classes does not fail when contract is satisfied fails with error when contract is violated classes - should not fail for an object that is a subclass of the type in the contract - should not fail for an object that is the exact type as the contract - instance methods - should allow two classes to have the same method with different contracts - usage in singleton class - should work normally when there is no contract violation - should fail with proper error when there is contract violation - builtin contracts usage - allows to use builtin contracts without namespacing and redundant Contracts inclusion + should fail for incorrect input + should pass for correct input + instance and class methods + should allow a class to have an instance method and a class method with the same name + default args to functions + should work for a function call that relies on default args pattern matching + should fail when the pattern-matched method's contract fails should not fall through to next pattern when there is a deep contract violation - should fail if multiple methods are defined with the same contract (for pattern-matching) should work for differing arities - if the return contract for a pattern match fails, it should fail instead of trying the next pattern match + 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 fail when the pattern-matched method's contract fails + if the return contract for a pattern match fails, it should fail instead of trying the next pattern match when failure_callback was overriden falls through to 2nd pattern when first pattern does not match - if the return contract for a pattern match fails, it should fail instead of trying the next pattern match, even with the failure callback uses overriden failure_callback when pattern matching fails + 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 - usage in the singleton class of a subclass - should work with a valid contract on a singleton method - class methods - 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 - Contracts to_s formatting in expected - should contain to_s representation within a nested Array contract - should not use custom to_s if empty string - should not contain Contracts:: module prefix - should contain to_s representation within an Array contract - should contain to_s representation within a Hash contract - should still show nils, not just blank space - should show empty quotes as "" - should contain to_s representation within a nested Hash contract - should not stringify native types + 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 + 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 module contracts + passes for instance of class including both modules does not pass for instance of class not including module + passes for instance of class including module passes for instance of class including inherited module does not pass for instance of class including another module - passes for instance of class including module - passes for instance of class including both modules - singleton methods self in inherited methods - should be a proper self + classes with a valid? class method + should pass for correct input + should fail for incorrect input varargs with block should pass for correct input should fail for incorrect input when block has Func contract should fail for incorrect input + 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 Arrays - should fail for some incorrect elements - should fail for insufficient items - should pass for correct input - 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 - 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 # Num - At: /build/ruby-contracts-0.16.0/spec/fixtures/fixtures.rb:397 >. 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 - Procs should pass for correct input - should fail for incorrect input + should fail for insufficient items + should fail for some incorrect elements + singleton methods self in inherited methods + should be a proper self varargs should work with arg before splat - should fail for incorrect input should pass for correct input - no contracts feature - disables normal contract checks - disables invariants - does not disable pattern matching - functype - should correctly print out a class method's type - should correctly print out a instance method's type - contracts on functions - 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 doesn't pass the contract - should pass for a function that passes the contract - should fail for a returned function that receives the wrong argument type - should pass for a function that passes the contract with weak other args - should not fail for a returned function that passes the contract - should pass for a function that passes the contract as in tutorial - -Contracts: - Attrs: - attr_accessor_with_contract - getting valid type - setting invalid type - setting valid type - getting invalid type - attr_reader_with_contract - getting invalid type - setting - getting valid type - attr_writer_with_contract - getting - setting invalid type - setting valid type - -Contracts::Support - eigenclass_of - returns the eigenclass of a given object - eigenclass? - is truthy for singleton classes - is falsey for non-singleton classes - -Contracts::Invariants - raises invariant violation error when any of invariants are not holding - works when all invariants are holding - -Contracts: - SetOf: - should fail for an array with one non-num - should pass for a set of nums - should fail for a non-array - ArrayOf: - should fail for a non-array - should fail for an array with one non-num - should pass for an array of nums - DescendantOf: - should pass for a hash - should fail for a non-class - should fail for a number class - should pass for Array - Any: - should pass for numbers - should pass for strings - should pass for procs - should pass for nil - Optional: - can't be used outside of KeywordArgs - HashOf: - doesn't allow to specify multiple key-value pairs with pretty syntax - given an unfulfilled contract - is expected to raise ContractError - is expected to raise ContractError - is expected to raise ContractError - is expected to raise ContractError - #to_s - given String => Num - is expected to eq "Hash" - given Symbol => String - is expected to eq "Hash" - given a fulfilled contract - is expected to eq 2 - is expected to eq 2 - Pos: - should fail for 0 - should fail for negative numbers - should fail for nil and other data types - should pass for positive numbers - Send: - should pass for an object that returns true for method :good - should fail for an object that returns false for method :good - RespondTo: - should fail for an object that doesn't respond to :good - should pass for an object that responds to :good - Xor: - should pass for an object with a method :good - should fail for an object with both methods :good and :bad - should fail for an object with neither method - should pass for an object with a method :bad - RangeOf: - should fail for a badly-defined range - should fail for a non-range - should fail for a range with incorrect data type - should pass for a range of nums - should pass for a range of dates - Or: - should fail for nil - should pass for nums - should pass for strings - Maybe: - should pass for nums - should pass for nils - should fail for strings - 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 - 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 - Not: - should pass for an argument that isn't nil - should fail for nil - Nat: - should fail for positive non-whole numbers - should pass for positive whole numbers - should pass for 0 - should fail for negative numbers - should fail for nil and other data types - KeywordArgs: - should pass for exact correct input - should fail if some keys don't have contracts - 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 - Num: - should fail for nil and other data types - should pass for Fixnums - should pass for Floats - Bool: - should pass for an argument that is a boolean - should fail for nil - 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 not a hash - raises an error - when given an input with extra keys - raises an error - Eq: - should pass for other values - should pass for a class - should pass for a module - should fail when not equal - should fail when given instance of class - None: - should fail for procs - should fail for numbers - should fail for strings - should fail for nil - Neg: - should fail for 0 - should fail for nil and other data types - should pass for negative numbers - should fail for positive numbers - Enum: - should fail for an object that is not included - should pass for an object that is included + Contracts to_s formatting in expected + should contain to_s representation within a nested Array contract + should show empty quotes as "" + should not use custom to_s if empty string + should contain to_s representation within a Hash contract + should contain to_s representation within an Array contract + should contain to_s representation within a nested Hash contract + should not stringify native types + should not contain Contracts:: module prefix + should still show nils, not just blank space -Top 10 slowest examples (0.09249 seconds, 32.1% of total time): +Top 10 slowest examples (0.16566 seconds, 28.1% of total time): Contract.override_validator allows to override default validator - 0.01632 seconds ./spec/override_validators_spec.rb:127 - Contracts: protected methods should raise an error if you try to access a protected method - 0.0148 seconds ./spec/contracts_spec.rb:690 - Contract.override_validator allows to override class validator - 0.01414 seconds ./spec/override_validators_spec.rb:96 + 0.0307 seconds ./spec/override_validators_spec.rb:127 Contracts: private methods should raise an error if you try to access a private method - 0.01401 seconds ./spec/contracts_spec.rb:680 + 0.02067 seconds ./spec/contracts_spec.rb:676 Contracts: protected methods should raise an error if you try to access a protected method - 0.01189 seconds ./spec/contracts_spec.rb:686 + 0.02034 seconds ./spec/contracts_spec.rb:690 + Contracts: protected methods should raise an error if you try to access a protected method + 0.01999 seconds ./spec/contracts_spec.rb:686 Contracts: private methods should raise an error if you try to access a private method - 0.01064 seconds ./spec/contracts_spec.rb:676 - Contracts: contracts for functions with no arguments should not work for a function with a bad contract - 0.00333 seconds ./spec/contracts_spec.rb:27 + 0.0158 seconds ./spec/contracts_spec.rb:680 + Contract.override_validator allows to override class validator + 0.01571 seconds ./spec/override_validators_spec.rb:96 + Contracts: anonymous modules fails with error when contract is violated + 0.01118 seconds ./spec/contracts_spec.rb:258 Contracts::Support eigenclass? is truthy for singleton classes - 0.00322 seconds ./spec/support_spec.rb:8 - Contract.override_validator allows to override valid contract - 0.00219 seconds ./spec/override_validators_spec.rb:45 - Contracts: module contracts passes for instance of class including both modules - 0.00196 seconds ./spec/contracts_spec.rb:587 + 0.01077 seconds ./spec/support_spec.rb:8 + Contracts: Nat: should fail for nil and other data types + 0.01065 seconds ./spec/builtin_contracts_spec.rb:113 + Contracts: Arrays should fail for some incorrect elements + 0.00985 seconds ./spec/contracts_spec.rb:345 Top 9 slowest example groups: Contract - 0.00901 seconds average (0.03605 seconds / 4 examples) ./spec/override_validators_spec.rb:1 + 0.01343 seconds average (0.05373 seconds / 4 examples) ./spec/override_validators_spec.rb:1 + Contracts::Invariants + 0.00563 seconds average (0.01126 seconds / 2 examples) ./spec/invariants_spec.rb:2 Contracts::Support - 0.00165 seconds average (0.00496 seconds / 3 examples) ./spec/support_spec.rb:2 - Contracts: - 0.00144 seconds average (0.14536 seconds / 101 examples) ./spec/contracts_spec.rb:1 + 0.00443 seconds average (0.01328 seconds / 3 examples) ./spec/support_spec.rb:2 Contracts: - 0.00106 seconds average (0.00426 seconds / 4 examples) ./spec/methods_spec.rb:1 - Contracts: - 0.0009 seconds average (0.07985 seconds / 89 examples) ./spec/builtin_contracts_spec.rb:1 + 0.00293 seconds average (0.29611 seconds / 101 examples) ./spec/contracts_spec.rb:1 Contract validators - 0.00078 seconds average (0.00547 seconds / 7 examples) ./spec/validators_spec.rb:3 - Contracts::Invariants - 0.00073 seconds average (0.00147 seconds / 2 examples) ./spec/invariants_spec.rb:2 + 0.00216 seconds average (0.01509 seconds / 7 examples) ./spec/validators_spec.rb:3 + Contracts: + 0.00193 seconds average (0.17152 seconds / 89 examples) ./spec/builtin_contracts_spec.rb:1 module methods - 0.00072 seconds average (0.00144 seconds / 2 examples) ./spec/module_spec.rb:10 + 0.00175 seconds average (0.0035 seconds / 2 examples) ./spec/module_spec.rb:10 + Contracts: + 0.00165 seconds average (0.00661 seconds / 4 examples) ./spec/methods_spec.rb:1 Contracts: - 0.00065 seconds average (0.00654 seconds / 10 examples) ./spec/attrs_spec.rb:1 + 0.00106 seconds average (0.01063 seconds / 10 examples) ./spec/attrs_spec.rb:1 -Finished in 0.28778 seconds (files took 0.4949 seconds to load) +Finished in 0.58853 seconds (files took 0.95244 seconds to load) 222 examples, 0 failures -Randomized with seed 61760 +Randomized with seed 58182 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1395,12 +1462,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/11613/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/11613/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/18683 and its subdirectories -I: Current time: Sat Jul 24 02:01:04 -12 2021 -I: pbuilder-time-stamp: 1627135264 +I: removing directory /srv/workspace/pbuilder/11613 and its subdirectories +I: Current time: Sat Aug 27 10:26:04 +14 2022 +I: pbuilder-time-stamp: 1661545564