Diff of the two buildlogs: -- --- b1/build.log 2023-05-07 07:07:33.729602530 +0000 +++ b2/build.log 2023-05-07 07:13:53.228979825 +0000 @@ -1,6 +1,7 @@ +W: cgroups are not available on the host, not using them. I: pbuilder: network access will be disabled during build -I: Current time: Sat Jun 8 01:29:58 -12 2024 -I: pbuilder-time-stamp: 1717853398 +I: Current time: Sun May 7 21:11:36 +14 2023 +I: pbuilder-time-stamp: 1683443496 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration @@ -17,7 +18,7 @@ I: copying [./ruby-simplecov_0.22.0.orig.tar.gz] I: copying [./ruby-simplecov_0.22.0-1.debian.tar.xz] I: Extracting source -gpgv: Signature made Thu Dec 29 03:36:49 2022 -12 +gpgv: Signature made Fri Dec 30 05:36:49 2022 +14 gpgv: using RSA key FEDEC1CB337BCF509F43C2243914B532F4DFBE99 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./ruby-simplecov_0.22.0-1.dsc: no acceptable signature found @@ -31,137 +32,168 @@ dpkg-source: info: applying 0004-Fix-requires-so-that-they-work-inside-autopkgtest.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/56880/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/10882/tmp/hooks/D01_modify_environment starting +debug: Running on ionos2-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 May 7 21:11 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/10882/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/10882/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16' - DISTRIBUTION='bookworm' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="15" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.15(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=7' + DIRSTACK=() + DISTRIBUTION=bookworm + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='f93044f7e503420192c29671360bfa78' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='56880' - PS1='# ' - PS2='> ' + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-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=10882 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.cEoKu7BO/pbuilderrc_6viG --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.cEoKu7BO/b1 --logfile b1/build.log ruby-simplecov_0.22.0-1.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://85.184.249.68:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.cEoKu7BO/pbuilderrc_BjG6 --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.cEoKu7BO/b2 --logfile b2/build.log --extrapackages usrmerge ruby-simplecov_0.22.0-1.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://78.137.99.97:3128 I: uname -a - Linux ionos6-i386 5.10.0-22-amd64 #1 SMP Debian 5.10.178-3 (2023-04-22) x86_64 GNU/Linux + Linux i-capture-the-hostname 5.10.0-22-686-pae #1 SMP Debian 5.10.178-3 (2023-04-22) i686 GNU/Linux I: ls -l /bin total 6036 - -rwxr-xr-x 1 root root 1408088 Apr 23 2023 bash - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bunzip2 - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bzcat - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Sep 18 2022 bzdiff - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4893 Nov 27 2021 bzexe - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Sep 18 2022 bzgrep - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bzip2 - -rwxr-xr-x 1 root root 17892 Sep 18 2022 bzip2recover - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Sep 18 2022 bzmore - -rwxr-xr-x 1 root root 42920 Sep 20 2022 cat - -rwxr-xr-x 1 root root 79816 Sep 20 2022 chgrp - -rwxr-xr-x 1 root root 67496 Sep 20 2022 chmod - -rwxr-xr-x 1 root root 79816 Sep 20 2022 chown - -rwxr-xr-x 1 root root 162024 Sep 20 2022 cp - -rwxr-xr-x 1 root root 136916 Jan 5 2023 dash - -rwxr-xr-x 1 root root 137160 Sep 20 2022 date - -rwxr-xr-x 1 root root 100364 Sep 20 2022 dd - -rwxr-xr-x 1 root root 108940 Sep 20 2022 df - -rwxr-xr-x 1 root root 162152 Sep 20 2022 dir - -rwxr-xr-x 1 root root 87760 Mar 22 2023 dmesg - lrwxrwxrwx 1 root root 8 Dec 19 2022 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Dec 19 2022 domainname -> hostname - -rwxr-xr-x 1 root root 38760 Sep 20 2022 echo - -rwxr-xr-x 1 root root 41 Jan 24 2023 egrep - -rwxr-xr-x 1 root root 34664 Sep 20 2022 false - -rwxr-xr-x 1 root root 41 Jan 24 2023 fgrep - -rwxr-xr-x 1 root root 84272 Mar 22 2023 findmnt - -rwsr-xr-x 1 root root 30240 Mar 22 2023 fusermount - -rwxr-xr-x 1 root root 218680 Jan 24 2023 grep - -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip - -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe - -rwxr-xr-x 1 root root 100952 Apr 9 2022 gzip - -rwxr-xr-x 1 root root 21916 Dec 19 2022 hostname - -rwxr-xr-x 1 root root 75756 Sep 20 2022 ln - -rwxr-xr-x 1 root root 55600 Mar 22 2023 login - -rwxr-xr-x 1 root root 162152 Sep 20 2022 ls - -rwxr-xr-x 1 root root 214568 Mar 22 2023 lsblk - -rwxr-xr-x 1 root root 96328 Sep 20 2022 mkdir - -rwxr-xr-x 1 root root 84008 Sep 20 2022 mknod - -rwxr-xr-x 1 root root 38792 Sep 20 2022 mktemp - -rwxr-xr-x 1 root root 63016 Mar 22 2023 more - -rwsr-xr-x 1 root root 58912 Mar 22 2023 mount - -rwxr-xr-x 1 root root 13856 Mar 22 2023 mountpoint - -rwxr-xr-x 1 root root 157932 Sep 20 2022 mv - lrwxrwxrwx 1 root root 8 Dec 19 2022 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 2 2023 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 38792 Sep 20 2022 pwd - lrwxrwxrwx 1 root root 4 Apr 23 2023 rbash -> bash - -rwxr-xr-x 1 root root 51080 Sep 20 2022 readlink - -rwxr-xr-x 1 root root 75720 Sep 20 2022 rm - -rwxr-xr-x 1 root root 51080 Sep 20 2022 rmdir - -rwxr-xr-x 1 root root 22308 Nov 2 2022 run-parts - -rwxr-xr-x 1 root root 133224 Jan 5 2023 sed - lrwxrwxrwx 1 root root 4 Jan 5 2023 sh -> dash - -rwxr-xr-x 1 root root 38760 Sep 20 2022 sleep - -rwxr-xr-x 1 root root 87976 Sep 20 2022 stty - -rwsr-xr-x 1 root root 83492 Mar 22 2023 su - -rwxr-xr-x 1 root root 38792 Sep 20 2022 sync - -rwxr-xr-x 1 root root 598456 Apr 6 2023 tar - -rwxr-xr-x 1 root root 13860 Nov 2 2022 tempfile - -rwxr-xr-x 1 root root 120776 Sep 20 2022 touch - -rwxr-xr-x 1 root root 34664 Sep 20 2022 true - -rwxr-xr-x 1 root root 17892 Mar 22 2023 ulockmgr_server - -rwsr-xr-x 1 root root 30236 Mar 22 2023 umount - -rwxr-xr-x 1 root root 38760 Sep 20 2022 uname - -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress - -rwxr-xr-x 1 root root 162152 Sep 20 2022 vdir - -rwxr-xr-x 1 root root 71216 Mar 22 2023 wdctl - lrwxrwxrwx 1 root root 8 Dec 19 2022 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat - -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp - -rwxr-xr-x 1 root root 6460 Apr 9 2022 zdiff - -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep - -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep - -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce - -rwxr-xr-x 1 root root 8103 Apr 9 2022 zgrep - -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless - -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore - -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew -I: user script /srv/workspace/pbuilder/56880/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1408088 Apr 24 11:24 bash + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bunzip2 + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bzcat + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Sep 19 2022 bzdiff + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4893 Nov 28 2021 bzexe + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Sep 19 2022 bzgrep + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bzip2 + -rwxr-xr-x 1 root root 17892 Sep 19 2022 bzip2recover + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Sep 19 2022 bzmore + -rwxr-xr-x 1 root root 42920 Sep 21 2022 cat + -rwxr-xr-x 1 root root 79816 Sep 21 2022 chgrp + -rwxr-xr-x 1 root root 67496 Sep 21 2022 chmod + -rwxr-xr-x 1 root root 79816 Sep 21 2022 chown + -rwxr-xr-x 1 root root 162024 Sep 21 2022 cp + -rwxr-xr-x 1 root root 136916 Jan 6 03:20 dash + -rwxr-xr-x 1 root root 137160 Sep 21 2022 date + -rwxr-xr-x 1 root root 100364 Sep 21 2022 dd + -rwxr-xr-x 1 root root 108940 Sep 21 2022 df + -rwxr-xr-x 1 root root 162152 Sep 21 2022 dir + -rwxr-xr-x 1 root root 87760 Mar 24 00:20 dmesg + lrwxrwxrwx 1 root root 8 Dec 20 03:33 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Dec 20 03:33 domainname -> hostname + -rwxr-xr-x 1 root root 38760 Sep 21 2022 echo + -rwxr-xr-x 1 root root 41 Jan 25 04:43 egrep + -rwxr-xr-x 1 root root 34664 Sep 21 2022 false + -rwxr-xr-x 1 root root 41 Jan 25 04:43 fgrep + -rwxr-xr-x 1 root root 84272 Mar 24 00:20 findmnt + -rwsr-xr-x 1 root root 30240 Mar 23 22:38 fusermount + -rwxr-xr-x 1 root root 218680 Jan 25 04:43 grep + -rwxr-xr-x 2 root root 2346 Apr 10 2022 gunzip + -rwxr-xr-x 1 root root 6447 Apr 10 2022 gzexe + -rwxr-xr-x 1 root root 100952 Apr 10 2022 gzip + -rwxr-xr-x 1 root root 21916 Dec 20 03:33 hostname + -rwxr-xr-x 1 root root 75756 Sep 21 2022 ln + -rwxr-xr-x 1 root root 55600 Mar 24 01:43 login + -rwxr-xr-x 1 root root 162152 Sep 21 2022 ls + -rwxr-xr-x 1 root root 214568 Mar 24 00:20 lsblk + -rwxr-xr-x 1 root root 96328 Sep 21 2022 mkdir + -rwxr-xr-x 1 root root 84008 Sep 21 2022 mknod + -rwxr-xr-x 1 root root 38792 Sep 21 2022 mktemp + -rwxr-xr-x 1 root root 63016 Mar 24 00:20 more + -rwsr-xr-x 1 root root 58912 Mar 24 00:20 mount + -rwxr-xr-x 1 root root 13856 Mar 24 00:20 mountpoint + -rwxr-xr-x 1 root root 157932 Sep 21 2022 mv + lrwxrwxrwx 1 root root 8 Dec 20 03:33 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 3 20:25 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 38792 Sep 21 2022 pwd + lrwxrwxrwx 1 root root 4 Apr 24 11:24 rbash -> bash + -rwxr-xr-x 1 root root 51080 Sep 21 2022 readlink + -rwxr-xr-x 1 root root 75720 Sep 21 2022 rm + -rwxr-xr-x 1 root root 51080 Sep 21 2022 rmdir + -rwxr-xr-x 1 root root 22308 Nov 3 2022 run-parts + -rwxr-xr-x 1 root root 133224 Jan 6 09:55 sed + lrwxrwxrwx 1 root root 9 May 7 21:11 sh -> /bin/bash + -rwxr-xr-x 1 root root 38760 Sep 21 2022 sleep + -rwxr-xr-x 1 root root 87976 Sep 21 2022 stty + -rwsr-xr-x 1 root root 83492 Mar 24 00:20 su + -rwxr-xr-x 1 root root 38792 Sep 21 2022 sync + -rwxr-xr-x 1 root root 598456 Apr 7 04:25 tar + -rwxr-xr-x 1 root root 13860 Nov 3 2022 tempfile + -rwxr-xr-x 1 root root 120776 Sep 21 2022 touch + -rwxr-xr-x 1 root root 34664 Sep 21 2022 true + -rwxr-xr-x 1 root root 17892 Mar 23 22:38 ulockmgr_server + -rwsr-xr-x 1 root root 30236 Mar 24 00:20 umount + -rwxr-xr-x 1 root root 38760 Sep 21 2022 uname + -rwxr-xr-x 2 root root 2346 Apr 10 2022 uncompress + -rwxr-xr-x 1 root root 162152 Sep 21 2022 vdir + -rwxr-xr-x 1 root root 71216 Mar 24 00:20 wdctl + lrwxrwxrwx 1 root root 8 Dec 20 03:33 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Apr 10 2022 zcat + -rwxr-xr-x 1 root root 1678 Apr 10 2022 zcmp + -rwxr-xr-x 1 root root 6460 Apr 10 2022 zdiff + -rwxr-xr-x 1 root root 29 Apr 10 2022 zegrep + -rwxr-xr-x 1 root root 29 Apr 10 2022 zfgrep + -rwxr-xr-x 1 root root 2081 Apr 10 2022 zforce + -rwxr-xr-x 1 root root 8103 Apr 10 2022 zgrep + -rwxr-xr-x 1 root root 2206 Apr 10 2022 zless + -rwxr-xr-x 1 root root 1842 Apr 10 2022 zmore + -rwxr-xr-x 1 root root 4577 Apr 10 2022 znew +I: user script /srv/workspace/pbuilder/10882/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -347,7 +379,7 @@ Get: 136 http://deb.debian.org/debian bookworm/main i386 ruby-rspec-mocks all 3.12.0c0e1m1s0-1 [79.5 kB] Get: 137 http://deb.debian.org/debian bookworm/main i386 ruby-rspec all 3.12.0c0e1m1s0-1 [5084 B] Get: 138 http://deb.debian.org/debian bookworm/main i386 ruby-simplecov-html all 0.12.3-2 [468 kB] -Fetched 48.5 MB in 1s (81.8 MB/s) +Fetched 48.5 MB in 1s (44.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:i386. (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 ... 19604 files and directories currently installed.) @@ -922,8 +954,19 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +usrmerge is already the newest version (35). +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/ruby-simplecov-0.22.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-simplecov_0.22.0-1_source.changes +I: user script /srv/workspace/pbuilder/10882/tmp/hooks/A99_set_merged_usr starting +Re-configuring usrmerge... +removed '/etc/unsupported-skip-usrmerge-conversion' +The system has been successfully converted. +I: user script /srv/workspace/pbuilder/10882/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/ruby-simplecov-0.22.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-simplecov_0.22.0-1_source.changes dpkg-buildpackage: info: source package ruby-simplecov dpkg-buildpackage: info: source version 0.22.0-1 dpkg-buildpackage: info: source distribution unstable @@ -952,13 +995,13 @@ dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-simplecov/ -O--buildsystem=ruby dh_ruby --install /build/ruby-simplecov-0.22.0/debian/ruby-simplecov -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240608-61673-brb196/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20230507-23658-vzmwaw/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash Successfully built RubyGem Name: simplecov Version: 0.22.0 File: simplecov-0.22.0.gem -/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-simplecov/usr/share/rubygems-integration/all /tmp/d20240608-61673-brb196/simplecov-0.22.0.gem +/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-simplecov/usr/share/rubygems-integration/all /tmp/d20230507-23658-vzmwaw/simplecov-0.22.0.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/ruby-simplecov-0.22.0/debian/ruby-simplecov/usr/share/rubygems-integration/all/gems/simplecov-0.22.0/lib/minitest/simplecov_plugin.rb /build/ruby-simplecov-0.22.0/debian/ruby-simplecov/usr/share/rubygems-integration/all/gems/simplecov-0.22.0/lib/simplecov.rb @@ -1037,624 +1080,624 @@ mv test_projects/rails/rspec_rails/Gemfile.lock test_projects/rails/rspec_rails/.gem2deb.Gemfile.lock /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.12.0/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --exclude-pattern ./spec/default_formatter_spec.rb,./spec/gemspec_spec.rb --format documentation -Randomized with seed 61086 +Randomized with seed 43319 SimpleCov::Result with a (mocked) Coverage.result + .from_hash + can consume multiple commands a simple cov result initialized from that - responds to covered_percent - responds to covered_percentages - has 3 filenames - has 3 source files - responds to least_covered_file + has files equal to source_files responds to covered_lines - returns an instance of SimpleCov::FileList for source_files and files + responds to covered_percentages has accurate least covered file + has accurate covered percentages + responds to covered_strength responds to total_lines + responds to covered_percent + has 3 filenames + returns an instance of SimpleCov::FileList for source_files and files + responds to least_covered_file has accurate covered percent - has accurate covered percentages - has files equal to source_files responds to missed_lines - responds to covered_strength + has 3 source files dumped with to_hash is a hash loaded back with from_hash - has the same covered_percent + has the same covered_percentages has the same timestamp - has the same command_name has 3 source files - has the same covered_percentages + has the same covered_percent + has the same command_name has the same original_result with groups set up that do not match all files has 1 item per group + has sample.rb in "Ungrouped" group has 3 groups returns all groups as instances of SimpleCov::FileList - has sample.rb in "Ungrouped" group with some filters set up has 80 covered percent - has 2 files in a new simple cov result has [80.0, 80.0] covered percentages - .from_hash - can consume multiple commands + has 2 files in a new simple cov result with groups set up for all files - has user.rb in 'Models' group - has sample_controller.rb in 'Controllers' group has 3 groups + has sample_controller.rb in 'Controllers' group + has user.rb in 'Models' group and multi formatter being used returns an array containing formatted string with result.format! and simple formatter being used returns a formatted string with result.format! -SimpleCov::UselessResultsRemover - still retains the app path - Result ignore gem file path from result set +SimpleCov::Formatter::MultiFormatter + .[] + constructs a formatter with multiple children + +loading config + without ENV[HOME] + shouldn't raise any errors + +SimpleCov::CommandGuesser + correctly guesses "RSpec" for RSpec + correctly guesses "Integration Tests" for integration tests + correctly guesses "Unit Tests" for unit tests + defaults to RSpec because RSpec constant is defined + correctly guesses "Cucumber Features" for cucumber features + correctly guesses "Functional Tests" for functional tests + +SimpleCov::ExitCodes::MaximumCoverageDropCheck + last coverage lower then new coverage + is expected not to be failing + no last run coverage information + is expected not to be failing + old last_run.json format + is expected not to be failing + more coverage drop allowed + is expected not to be failing + one coverage lower than maximum drop + is expected to be failing + but allowed drop is within range + is expected not to be failing + last coverage higher than new coverage + is expected to be failing + but allowed drop is within range + is expected not to be failing + coverage expectation for a coverage that wasn't previously present + is expected not to be failing + we're at the same coverage + is expected not to be failing SimpleCov::CoverageStatistics - .from - produces sensible total results - returns all empty statistics when initialized with a couple of empty results - returns an all 0s coverage statistics if there are no statistics .new retains statistics and computes new ones - can omit the total strength defaulting to 0.0 can deal with it if everything is 0 + can omit the total strength defaulting to 0.0 + .from + returns all empty statistics when initialized with a couple of empty results + produces sensible total results + returns an all 0s coverage statistics if there are no statistics -SimpleCov - profiles - provides a sensible rails profile - provides a sensible test_frameworks profile +SimpleCov::SourceFile::Branch + skipping lines + can be skipped + isn't skipped by default + a source branch without coverage + is neither covered not missed if skipped + is missed + isn't covered + A source branch with coverage + is neither covered not missed if skipped + is covered + is not missed + #overlaps_with?(range) + overlaps with a range that pends in its middle + doesn't overlap with a range before its lines + doesn't overlap with a range beyond its lines + overlaps with a range that fully includes everything + overlaps with a range that exactly includes it + overlaps with a range that partially includes its beginning + overlaps with a range that partially includes its end + a source branch if..else + correct branch report SimpleCov::SourceFile - doesn't match a new SimpleCov::ArrayFilter when a file path different than /sample.rb/ is passed as array doesn't match a parent directory with a new SimpleCov::StringFilter - doesn't match a new SimpleCov::StringFilter '.pl' - matches a new SimpleCov::ArrayFilter when a block is passed as array and returns true - doesn't match a new SimpleCov::ArrayFilter when a custom class that returns false is passed as array - doesn't match a new SimpleCov::RegexFilter /^/fixtures// doesn't match a new SimpleCov::StringFilter 'some/path' - matches a new SimpleCov::ArrayFilter when a custom class that returns true is passed as array - matches a new SimpleCov::StringFilter 'sample.rb' + doesn't match a new SimpleCov::StringFilter 'foobar' + matches a new SimpleCov::RegexFilter //fixtures// + matches a new SimpleCov::ArrayFilter when a block is passed as array and returns true + doesn't match a new SimpleCov::ArrayFilter when a file path different than 'sample.rb' is passed as array + doesn't match a parent directory with a new SimpleCov::ArrayFilter + matches a new SimpleCov::ArrayFilter when /sample.rb/ is passed as array matches a new SimpleCov::ArrayFilter when two file paths including 'sample.rb' are passed as array - matches a new SimpleCov::StringFilter 'spec/fixtures' + doesn't match a new SimpleCov::BlockFilter that is not applicable matches a new SimpleCov::BlockFilter that is applicable + matches a new SimpleCov::ArrayFilter when a custom class that returns true is passed as array + doesn't match a new SimpleCov::ArrayFilter when a custom class that returns false is passed as array + matches a new SimpleCov::ArrayFilter when 'sample.rb' is passed as array matches a new SimpleCov::StringFilter 'spec/fixtures/sample.rb' + doesn't match a new SimpleCov::StringFilter '.pl' + doesn't match a new SimpleCov::RegexFilter /^/fixtures// doesn't match a new SimpleCov::ArrayFilter when a block that returns false is passed as array - doesn't match a new SimpleCov::StringFilter 'foobar' - doesn't match a new SimpleCov::BlockFilter that is not applicable - matches a new SimpleCov::ArrayFilter when /sample.rb/ is passed as array + doesn't match a new SimpleCov::ArrayFilter when a file path different than /sample.rb/ is passed as array + matches a new SimpleCov::StringFilter 'sample.rb' matches a new SimpleCov::RegexFilter /^/spec// - doesn't match a parent directory with a new SimpleCov::ArrayFilter - doesn't match a new SimpleCov::ArrayFilter when a file path different than 'sample.rb' is passed as array - matches a new SimpleCov::RegexFilter //fixtures// - matches a new SimpleCov::ArrayFilter when 'sample.rb' is passed as array + matches a new SimpleCov::StringFilter 'spec/fixtures' .class_for_argument returns SimpleCov::StringFilter for a string returns SimpleCov::RegexFilter for a string returns SimpleCov::RegexFilter for a string - with no filters set up and a basic source file in an array - returns 0 items after executing SimpleCov.filtered on files when using a block filter that returns true - returns 1 item after executing SimpleCov.filtered on files when using a "fooo" string filter - returns a FileList after filtering - returns 1 item after executing SimpleCov.filtered on files when using an always-false block filter - returns 0 items after executing SimpleCov.filtered on files when using a "sample" string filter - returns 0 items after executing SimpleCov.filtered on files when using a "spec/fixtures" string filter with the default configuration outside the project - filters filters even if the sibling directory has SimpleCov.root as a prefix + filters inside the project - doesn't filter - filters vendor/bundle + doesn't filter hidden files further down the path filters hidden folders + filters vendor/bundle + doesn't filter filters hidden files - doesn't filter hidden files further down the path + with no filters set up and a basic source file in an array + returns 0 items after executing SimpleCov.filtered on files when using a "sample" string filter + returns a FileList after filtering + returns 0 items after executing SimpleCov.filtered on files when using a "spec/fixtures" string filter + returns 1 item after executing SimpleCov.filtered on files when using a "fooo" string filter + returns 0 items after executing SimpleCov.filtered on files when using a block filter that returns true + returns 1 item after executing SimpleCov.filtered on files when using an always-false block filter -SimpleCov::ExitCodes::MinimumCoverageByFileCheck - all files passing requirements +SimpleCov + .collate + when files to be merged + and multiple reports to be merged + creates a merged report + and multiple reports to be merged, one of them outdated + creates a merged report with only the results from the current resultset if ignore_timeout: false + ignores timeout by default creating a report with all values + and a single report to be merged + creates a merged report identical to the original + when no files to be merged + shows an error message + .start_coverage_measurement + starts coverage in lines mode by default + starts coverage with lines and branches if branches is activated + .process_result + when minimum coverage is 100% + when actual coverage is exactly 100% + return SimpleCov::ExitCodes::SUCCESS + branch coverage + errors out when the coverage is too low + when actual coverage is almost 100% + return SimpleCov::ExitCodes::MINIMUM_COVERAGE + .result + with merging enabled + when running + caches its result + merges the result + uses the result from Coverage + stores the current coverage + adds not-loaded-files + when not running + merges the result + with merging disabled + when running + doesn't merge the result + uses the result from Coverage + adds not-loaded-files + doesn't store the current coverage + caches its result + when not running + returns nil + .exit_status_from_exception + when a non SystemExit occurs + return SimpleCov::ExitCodes::EXCEPTION + when a SystemExit has occurred + returns the SystemExit status + when no exception has occurred + returns nil + +SimpleCov::LastRun + defines a last_run_path + writes json to its last_run_path that can be parsed again + reading + but the last_run file does not exist + returns nil + a non empty result + reads json from its last_run_path + an empty result + returns nil + +SimpleCov::ExitCodes::MinimumOverallCoverageCheck + one criterion violated + is expected to be failing + everything exactly ok is expected not to be failing - one file violating requirements + coverage violated is expected to be failing + coverage slightly violated + is expected to be failing + +SimpleCov::UselessResultsRemover + Result ignore gem file path from result set + still retains the app path + +SimpleCov + profiles + provides a sensible test_frameworks profile + provides a sensible rails profile + +A source file which is subsequently deleted + does not cause an error SimpleCov::SourceFile - a file with an uneven usage of # :nocov:s - line coverage - reports 100% coverage on 4/4 - has 12 lines skipped - branch coverage - has 5 branches marked as skipped - has 100% branch coverage on 1/1 - a file contains non-ASCII characters - UTF-8 without magic comment - has the line with 135°C - behaves like converting to UTF-8 - has all source lines of encoding UTF-8 - EUC-JP with magic comment and shebang - has all the right lines - behaves like converting to UTF-8 - has all source lines of encoding UTF-8 - EUC-JP with magic comment - has the line with 135°C - behaves like converting to UTF-8 - has all source lines of encoding UTF-8 - empty euc-jp file - has empty lines - UTF-8 with magic comment - has the line with 135°C - behaves like converting to UTF-8 - has all source lines of encoding UTF-8 a file with more complex skipping branch coverage - covers 3/4 branches has an empty branch report + covers 3/4 branches line coverage - has 6 covered lines has 6 relevant lines + has 6 covered lines has a whole lot of skipped lines - has 100.0 covered_percent has no missed lines + has 100.0 covered_percent + a file with if/elsif + branch coverage + covers the branch that includes 42 + covers 3/6 + line coverage + covers 6/9 + a file entirely ignored with a single # :nocov: + line coverage + has all lines skipped + reports 100% coverage on 0/0 + branch coverage + has 100% branch coverage on 0/0 + has all branches marked as skipped + a file that is never relevant + has 0.0 covered_strength + has 100.0 branch coverage + has 100.0 covered_percent + a file where everything is skipped and missed #563 + has 0.0 covered_percent + has no covered or missed lines + has 0.0 covered_strength simulating potential Ruby 1.9 defect -- see Issue #56 has 16 source lines regardless of extra data in coverage array prints a warning to stderr if coverage array contains more data than lines in the file + a file where nothing is ever executed mixed with skipping #563 + has 0.0 covered_strength + has 0.0 covered_percent + A file that has inline branches + has branches coverage percent 50.00 + has branches report on 3 lines + has dual element in condition at line 3 report + has covered branches count 2 a file with nested branches + line coverage + covers 6/7 branch coverage registered 2 hits for the while branch covers 3/5 + a file with case line coverage - covers 6/7 - file with branches - line coverage - has 7 relevant lines - has 1 missed line - has line coverage - has 6 covered lines + covers 4/7 branch coverage - has missed branches count 3 - has total branches count 6 - has covered branches count 3 - has coverage report - has 50% branch coverage - has line 7 with missed branches branch - has line 3 with missed branches branch - a file entirely ignored with a single # :nocov: - line coverage - reports 100% coverage on 0/0 - has all lines skipped + covers 1/4 + covers all the things right + a file with an uneven usage of # :nocov:s branch coverage - has 100% branch coverage on 0/0 - has all branches marked as skipped + has 100% branch coverage on 1/1 + has 5 branches marked as skipped + line coverage + has 12 lines skipped + reports 100% coverage on 4/4 a file with case without else - branch coverage - covers 1/4 (counting the else branch) - covers the branch that includes 42 - marks the non declared else branch as missing at the point of the case line coverage covers 4/6 - a file where nothing is ever executed mixed with skipping #563 - has 0.0 covered_strength - has 0.0 covered_percent + branch coverage + marks the non declared else branch as missing at the point of the case + covers the branch that includes 42 + covers 1/4 (counting the else branch) a file where everything is skipped/irrelevant but executed #563 branch coverage does has neither covered nor missed branches - has an empty branch report has no branches + has an empty branch report line coverage - has 0.0 covered_strength - has no covered lines - has a whole lot of skipped lines has no missed lines + has no covered lines has no relevant lines has 0.0 covered_percent - a file with if/elsif - branch coverage - covers 3/6 - covers the branch that includes 42 - line coverage - covers 6/9 - the branch tester script - branch coverage - notifies us of the missing else branch on line 27 that's hit - covers 10/24 - line coverage - covers 18/28 + has 0.0 covered_strength + has a whole lot of skipped lines + a file contains non-ASCII characters + empty euc-jp file + has empty lines + UTF-8 without magic comment + has the line with 135°C + behaves like converting to UTF-8 + has all source lines of encoding UTF-8 + EUC-JP with magic comment + has the line with 135°C + behaves like converting to UTF-8 + has all source lines of encoding UTF-8 + EUC-JP with magic comment and shebang + has all the right lines + behaves like converting to UTF-8 + has all source lines of encoding UTF-8 + UTF-8 with magic comment + has the line with 135°C + behaves like converting to UTF-8 + has all source lines of encoding UTF-8 a source file initialized with some coverage data + has a filename + has 16 source lines + has source equal to src has all source lines of type SimpleCov::SourceFile::Line has a project filename which removes the project directory - has 'class Foo' as line(2).source - has a filename has source_lines equal to lines - has source equal to src - has 16 source lines + has 'class Foo' as line(2).source line coverage + returns lines number 1, 5, 6, 9, 10, 16 for never_lines + returns lines number 8 for missed_lines returns lines number 2, 3, 4, 7 for covered_lines has 80% covered_percent returns line numbers 11, 12, 13, 14, 15 for skipped_lines - returns lines number 8 for missed_lines - returns lines number 1, 5, 6, 9, 10, 16 for never_lines branch coverage - has total branches count 0 + has covered branches count 0 is considered 100% branches covered + has total branches count 0 has missed branches count 0 has branch coverage report - has covered branches count 0 - a file where everything is skipped and missed #563 - has 0.0 covered_percent - has no covered or missed lines - has 0.0 covered_strength - a file that is never relevant - has 100.0 branch coverage - has 0.0 covered_strength - has 100.0 covered_percent - A file that has inline branches - has branches report on 3 lines - has dual element in condition at line 3 report - has covered branches count 2 - has branches coverage percent 50.00 - a file with case + the branch tester script line coverage - covers 4/7 + covers 18/28 branch coverage - covers 1/4 - covers all the things right + notifies us of the missing else branch on line 27 that's hit + covers 10/24 + file with branches + branch coverage + has total branches count 6 + has line 7 with missed branches branch + has covered branches count 3 + has coverage report + has line 3 with missed branches branch + has missed branches count 3 + has 50% branch coverage + line coverage + has line coverage + has 7 relevant lines + has 6 covered lines + has 1 missed line + +return codes + inside fixtures/frameworks + when running rspec_good.rb + behaves like good tests + has a zero exit status + prints nothing to STDERR + when running rspec_bad.rb + behaves like bad tests + with default configuration + has a non-zero exit status + prints a message to STDERR + when print_error_status is disabled + does not print anything to STDERR + has a non-zero exit status + when running testunit_good.rb + behaves like good tests + has a zero exit status + prints nothing to STDERR + when running testunit_bad.rb + behaves like bad tests + with default configuration + has a non-zero exit status + prints a message to STDERR + when print_error_status is disabled + does not print anything to STDERR + has a non-zero exit status + +SimpleCov::Combine::ResultsCombiner + merges frozen resultsets + with two faked coverage resultsets + a merge + has proper results for conditionally_loaded_2.rb + has proper results for resultset1.rb + has proper results for user.rb + has proper results for sample.rb + has proper results for three.rb + has proper results for resultset2.rb + has proper results for conditionally_loaded_1.rb + has proper results for sample_controller.rb + has proper results for parallel_tests.rb SimpleCov::ResultMerger basic workings with 2 resultsets has stored data in resultset_path JSON file - returns proper values for merged_result returns a hash containing keys ['result1' and 'result2'] for resultset + returns proper values for merged_result with second result way above the merge_timeout has only one result in SimpleCov::ResultMerger.results - .synchronize_resultset - blocks other processes - is reentrant (i.e. doesn't block its own process) - .store_result - refreshes the resultset - persists to disk - synchronizes writes - .resultset - synchronizes reads .merge_and_store pre 0.18 result format gets the same content back but under "lines" merging behavior - 1 resultset is outdated - includes it when we say ignore_timeout: true - completely omits the result from the merge 2 normal results - correctly merges the 2 results has the result stored + correctly merges the 2 results both resultsets outdated includes both when we say ignore_timeout: true completely omits the result from the merge + 1 resultset is outdated + includes it when we say ignore_timeout: true + completely omits the result from the merge resultset handling returns an empty hash when the resultset cache file is not present returns an empty hash when the resultset cache file is empty + .synchronize_resultset + blocks other processes + is reentrant (i.e. doesn't block its own process) + .store_result + refreshes the resultset + persists to disk + synchronizes writes + .resultset + synchronizes reads -SimpleCov::ExitCodes::MaximumCoverageDropCheck - coverage expectation for a coverage that wasn't previously present - is expected not to be failing - last coverage lower then new coverage - is expected not to be failing - no last run coverage information - is expected not to be failing - more coverage drop allowed - is expected not to be failing - last coverage higher than new coverage - is expected to be failing - but allowed drop is within range - is expected not to be failing - one coverage lower than maximum drop - is expected to be failing - but allowed drop is within range - is expected not to be failing - we're at the same coverage - is expected not to be failing - old last_run.json format - is expected not to be failing +SimpleCov::LinesClassifier + #classify + relevant lines + determines invalid UTF-8 byte sequences as relevant + determines code as relevant + not-relevant lines + determines whitespace is not-relevant + comments + doesn't mistake interpolation as a comment + determines comments are not-relevant + :nocov: blocks + determines all lines after a non-closing :nocov: as not-relevant + determines :nocov: blocks are not-relevant SimpleCov::SourceFile::Line raises ArgumentError when initialized with invalid src - raises ArgumentError when initialized with invalid line_number raises ArgumentError when initialized with invalid coverage + raises ArgumentError when initialized with invalid line_number + A source line with no code + is not skipped + is not covered + has nil coverage + is not missed + is never + status is never + A source line with coverage + has coverage of 3 + is not never + is not missed + is not skipped + is covered + status is covered A source line without coverage status is missed - is missed - is not never - has coverage of 0 is not covered + has coverage of 0 + is not never is not skipped + is missed a source line + has line number 5 returns "# the ruby source" as src has equal line_number, line and number returns the same for source as for src - has line number 5 flagged as skipped! - is not missed - status is skipped is skipped - is not never + status is skipped + is not missed is not covered - A source line with coverage - is not never - is covered - has coverage of 3 - status is covered - is not skipped - is not missed - A source line with no code - is not covered - has nil coverage - is never - is not skipped - is not missed - status is never + is not never SimpleCov::Configuration - #print_error_status - when manually set - is expected to equal false - when not manually set - is expected to equal true #tracked_files - #branch_coverage? - returns false for line coverage - returns true of branch coverage is being measured - #minimum_coverage - behaves like setting coverage expectations - sets the right coverage when called with a hash of just branch - raises when unknown coverage criteria provided - does not warn you about your usage - sets the right coverage when called with both line and branch - warns you about your usage - sets the right coverage value when called with a number - sets the right coverage when called with a hash of just line - raises when trying to set branch coverage but not enabled - when primary coverage is set - sets the right coverage value when called with a number - #enable_for_subprocesses - can be enabled and then disabled again - can be set to true - returns false by default when unconfigured returns nil - #coverage_criterion - works fine with :branch - works fine setting it back and forth - errors out on unknown coverage - works fine with line - defaults to line #refuse_coverage_drop - sets the right coverage value when called with `:branch` - sets the right coverage value when called with `:line` and `:branch` sets the right coverage value when called with no args + sets the right coverage value when called with `:branch` sets the right coverage value when called with `:line` + sets the right coverage value when called with `:line` and `:branch` #enable_coverage - can't enable arbitrary things can enable branch coverage can enable line again - #maximum_coverage_drop + can't enable arbitrary things + #minimum_coverage behaves like setting coverage expectations + warns you about your usage + sets the right coverage when called with both line and branch raises when unknown coverage criteria provided - raises when trying to set branch coverage but not enabled does not warn you about your usage + raises when trying to set branch coverage but not enabled + sets the right coverage when called with a hash of just line + sets the right coverage when called with a hash of just branch + sets the right coverage value when called with a number + when primary coverage is set + sets the right coverage value when called with a number + #maximum_coverage_drop + behaves like setting coverage expectations + sets the right coverage when called with a hash of just branch warns you about your usage + does not warn you about your usage + raises when trying to set branch coverage but not enabled sets the right coverage when called with both line and branch sets the right coverage when called with a hash of just line - sets the right coverage when called with a hash of just branch sets the right coverage value when called with a number + raises when unknown coverage criteria provided when primary coverage is set sets the right coverage value when called with a number - #primary_coverage - can't set primary coverage to arbitrary things - can set primary coverage to line - when branch coverage is not enabled - cannot set primary coverage to branch - when branch coverage is enabled - can set primary coverage to branch + #coverage_criterion + works fine with :branch + works fine with line + errors out on unknown coverage + defaults to line + works fine setting it back and forth when configured returns the configured glob and configured again with nil returns nil + #enable_for_subprocesses + returns false by default + can be set to true + can be enabled and then disabled again + #coverage_criteria + defaults to line + #branch_coverage? + returns true of branch coverage is being measured + returns false for line coverage #minimum_coverage_by_file behaves like setting coverage expectations + raises when unknown coverage criteria provided + sets the right coverage when called with a hash of just branch + does not warn you about your usage sets the right coverage when called with a hash of just line sets the right coverage value when called with a number - raises when trying to set branch coverage but not enabled - sets the right coverage when called with both line and branch warns you about your usage - sets the right coverage when called with a hash of just branch - does not warn you about your usage - raises when unknown coverage criteria provided + sets the right coverage when called with both line and branch + raises when trying to set branch coverage but not enabled when primary coverage is set sets the right coverage value when called with a number - #coverage_criteria - defaults to line - -SimpleCov::LinesClassifier - #classify - not-relevant lines - determines whitespace is not-relevant - :nocov: blocks - determines :nocov: blocks are not-relevant - determines all lines after a non-closing :nocov: as not-relevant - comments - doesn't mistake interpolation as a comment - determines comments are not-relevant - relevant lines - determines invalid UTF-8 byte sequences as relevant - determines code as relevant - -SimpleCov::LastRun - writes json to its last_run_path that can be parsed again - defines a last_run_path - reading - a non empty result - reads json from its last_run_path - but the last_run file does not exist - returns nil - an empty result - returns nil - -A source file which is subsequently deleted - does not cause an error - -SimpleCov::CommandGuesser - correctly guesses "Unit Tests" for unit tests - correctly guesses "Integration Tests" for integration tests - correctly guesses "RSpec" for RSpec - correctly guesses "Functional Tests" for functional tests - correctly guesses "Cucumber Features" for cucumber features - defaults to RSpec because RSpec constant is defined - -return codes - inside fixtures/frameworks - when running testunit_bad.rb - behaves like bad tests - when print_error_status is disabled - does not print anything to STDERR - has a non-zero exit status - with default configuration - prints a message to STDERR - has a non-zero exit status - when running rspec_bad.rb - behaves like bad tests - when print_error_status is disabled - has a non-zero exit status - does not print anything to STDERR - with default configuration - has a non-zero exit status - prints a message to STDERR - when running testunit_good.rb - behaves like good tests - prints nothing to STDERR - has a zero exit status - when running rspec_good.rb - behaves like good tests - prints nothing to STDERR - has a zero exit status - -SimpleCov::SourceFile::Branch - #overlaps_with?(range) - overlaps with a range that fully includes everything - overlaps with a range that partially includes its beginning - overlaps with a range that partially includes its end - doesn't overlap with a range beyond its lines - overlaps with a range that exactly includes it - overlaps with a range that pends in its middle - doesn't overlap with a range before its lines - a source branch without coverage - is missed - isn't covered - is neither covered not missed if skipped - A source branch with coverage - is neither covered not missed if skipped - is covered - is not missed - skipping lines - can be skipped - isn't skipped by default - a source branch if..else - correct branch report - -SimpleCov - .collate - when no files to be merged - shows an error message - when files to be merged - and multiple reports to be merged, one of them outdated - ignores timeout by default creating a report with all values - creates a merged report with only the results from the current resultset if ignore_timeout: false - and a single report to be merged - creates a merged report identical to the original - and multiple reports to be merged - creates a merged report - .result - with merging enabled - when running - adds not-loaded-files - stores the current coverage - merges the result - caches its result - uses the result from Coverage - when not running - merges the result - with merging disabled - when running - caches its result - doesn't store the current coverage - uses the result from Coverage - doesn't merge the result - adds not-loaded-files - when not running - returns nil - .start_coverage_measurement - starts coverage in lines mode by default - starts coverage with lines and branches if branches is activated - .process_result - when minimum coverage is 100% - when actual coverage is almost 100% - return SimpleCov::ExitCodes::MINIMUM_COVERAGE - when actual coverage is exactly 100% - return SimpleCov::ExitCodes::SUCCESS - branch coverage - errors out when the coverage is too low - .exit_status_from_exception - when no exception has occurred - returns nil - when a non SystemExit occurs - return SimpleCov::ExitCodes::EXCEPTION - when a SystemExit has occurred - returns the SystemExit status + #primary_coverage + can set primary coverage to line + can't set primary coverage to arbitrary things + when branch coverage is enabled + can set primary coverage to branch + when branch coverage is not enabled + cannot set primary coverage to branch + #print_error_status + when not manually set + is expected to equal true + when manually set + is expected to equal false -SimpleCov::ExitCodes::MinimumOverallCoverageCheck - everything exactly ok - is expected not to be failing - coverage slightly violated - is expected to be failing - coverage violated - is expected to be failing - one criterion violated +SimpleCov::ExitCodes::MinimumCoverageByFileCheck + one file violating requirements is expected to be failing - -SimpleCov::Combine::ResultsCombiner - merges frozen resultsets - with two faked coverage resultsets - a merge - has proper results for sample_controller.rb - has proper results for parallel_tests.rb - has proper results for resultset2.rb - has proper results for conditionally_loaded_1.rb - has proper results for conditionally_loaded_2.rb - has proper results for resultset1.rb - has proper results for three.rb - has proper results for sample.rb - has proper results for user.rb - -SimpleCov::Formatter::MultiFormatter - .[] - constructs a formatter with multiple children - -loading config - without ENV[HOME] - shouldn't raise any errors + all files passing requirements + is expected not to be failing SimpleCov::Result + has 17 never lines + has 14 lines of code + has 3 missed lines has 11 covered lines - has the correct covered strength - has the correct least covered file - has 5 skipped lines - has the correct covered percent has the correct covered percentages - has 3 missed lines - has 14 lines of code - has 17 never lines + has the correct covered percent + has 5 skipped lines + has the correct least covered file + has the correct covered strength Non-app warnings written to tmp/warnings.txt -Finished in 5.28 seconds (files took 0.30332 seconds to load) +Finished in 12.55 seconds (files took 0.6441 seconds to load) 385 examples, 0 failures -Randomized with seed 61086 +Randomized with seed 43319 mv ./.gem2deb.Gemfile.lock Gemfile.lock mv test_projects/monorepo/.gem2deb.Gemfile.lock test_projects/monorepo/Gemfile.lock @@ -1692,12 +1735,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/10882/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/10882/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/56880 and its subdirectories -I: Current time: Sat Jun 8 01:30:32 -12 2024 -I: pbuilder-time-stamp: 1717853432 +I: removing directory /srv/workspace/pbuilder/10882 and its subdirectories +I: Current time: Sun May 7 21:13:52 +14 2023 +I: pbuilder-time-stamp: 1683443632