Diff of the two buildlogs: -- --- b1/build.log 2024-07-14 16:01:28.903384552 +0000 +++ b2/build.log 2024-07-14 16:04:41.363194337 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Jul 14 03:57:34 -12 2024 -I: pbuilder-time-stamp: 1720972654 +I: Current time: Sun Aug 17 12:24:29 +14 2025 +I: pbuilder-time-stamp: 1755383069 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -17,8 +17,8 @@ I: copying [./ruby-listen_3.2.1-1.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' -gpgv: keyblock resource '/tmp/dpkg-verify-sig.Ew0fTUI6/trustedkeys.kbx': General error -gpgv: Signature made Mon Aug 3 00:35:59 2020 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig.ihC_XSmR/trustedkeys.kbx': General error +gpgv: Signature made Tue Aug 4 02:35:59 2020 +14 gpgv: using RSA key D30863E26020E543F4719A838F53E0193B294B75 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ruby-listen_3.2.1-1.dsc @@ -31,135 +31,166 @@ dpkg-source: info: applying 0006-Disable-coveralls.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2379753/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/755806/tmp/hooks/D01_modify_environment starting +debug: Running on ionos5-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Aug 17 12:24 /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/755806/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/755806/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=20 ' - DISTRIBUTION='bullseye' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.1.4(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=42 ' + DIRSTACK=() + DISTRIBUTION=bullseye + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='7ff8e7b9fd334390843601f942ff39d1' - 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='2379753' - PS1='# ' - PS2='> ' + INVOCATION_ID=f397639e0d3841d7a687ff6d54806d8b + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=755806 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.3zxBLP7k/pbuilderrc_FayY --distribution bullseye --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.3zxBLP7k/b1 --logfile b1/build.log ruby-listen_3.2.1-1.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132: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.3zxBLP7k/pbuilderrc_L8cw --distribution bullseye --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.3zxBLP7k/b2 --logfile b2/build.log ruby-listen_3.2.1-1.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos11-amd64 6.1.0-22-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.94-1 (2024-06-21) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.7.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.7.12-1~bpo12+1 (2024-05-06) x86_64 GNU/Linux I: ls -l /bin total 5476 - -rwxr-xr-x 1 root root 1234376 Mar 27 2022 bash - -rwxr-xr-x 3 root root 38984 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 38984 Jul 20 2020 bzcat - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep - -rwxr-xr-x 3 root root 38984 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 18424 Jul 20 2020 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore - -rwxr-xr-x 1 root root 43936 Sep 23 2020 cat - -rwxr-xr-x 1 root root 72672 Sep 23 2020 chgrp - -rwxr-xr-x 1 root root 64448 Sep 23 2020 chmod - -rwxr-xr-x 1 root root 72672 Sep 23 2020 chown - -rwxr-xr-x 1 root root 151168 Sep 23 2020 cp - -rwxr-xr-x 1 root root 125560 Dec 10 2020 dash - -rwxr-xr-x 1 root root 113664 Sep 23 2020 date - -rwxr-xr-x 1 root root 80968 Sep 23 2020 dd - -rwxr-xr-x 1 root root 93936 Sep 23 2020 df - -rwxr-xr-x 1 root root 147176 Sep 23 2020 dir - -rwxr-xr-x 1 root root 84440 Mar 27 22:09 dmesg - lrwxrwxrwx 1 root root 8 Nov 6 2019 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Nov 6 2019 domainname -> hostname - -rwxr-xr-x 1 root root 39712 Sep 23 2020 echo - -rwxr-xr-x 1 root root 28 Jan 24 2023 egrep - -rwxr-xr-x 1 root root 39680 Sep 23 2020 false - -rwxr-xr-x 1 root root 28 Jan 24 2023 fgrep - -rwxr-xr-x 1 root root 69032 Mar 27 22:09 findmnt - -rwsr-xr-x 1 root root 34896 Feb 26 2021 fusermount - -rwxr-xr-x 1 root root 203072 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 98048 Apr 9 2022 gzip - -rwxr-xr-x 1 root root 22600 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 72840 Sep 23 2020 ln - -rwxr-xr-x 1 root root 56952 Feb 7 2020 login - -rwxr-xr-x 1 root root 147176 Sep 23 2020 ls - -rwxr-xr-x 1 root root 149736 Mar 27 22:09 lsblk - -rwxr-xr-x 1 root root 85184 Sep 23 2020 mkdir - -rwxr-xr-x 1 root root 76896 Sep 23 2020 mknod - -rwxr-xr-x 1 root root 48064 Sep 23 2020 mktemp - -rwxr-xr-x 1 root root 59632 Mar 27 22:09 more - -rwsr-xr-x 1 root root 55528 Mar 27 22:09 mount - -rwxr-xr-x 1 root root 18664 Mar 27 22:09 mountpoint - -rwxr-xr-x 1 root root 147080 Sep 23 2020 mv - lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Dec 16 2021 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 43872 Sep 23 2020 pwd - lrwxrwxrwx 1 root root 4 Mar 27 2022 rbash -> bash - -rwxr-xr-x 1 root root 52032 Sep 23 2020 readlink - -rwxr-xr-x 1 root root 72704 Sep 23 2020 rm - -rwxr-xr-x 1 root root 52032 Sep 23 2020 rmdir - -rwxr-xr-x 1 root root 27472 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Jul 6 21:26 sh -> dash - -rwxr-xr-x 1 root root 43808 Sep 23 2020 sleep - -rwxr-xr-x 1 root root 84928 Sep 23 2020 stty - -rwsr-xr-x 1 root root 71912 Mar 27 22:09 su - -rwxr-xr-x 1 root root 39744 Sep 23 2020 sync - -rwxr-xr-x 1 root root 531928 Jan 19 21:59 tar - -rwxr-xr-x 1 root root 14456 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 101408 Sep 23 2020 touch - -rwxr-xr-x 1 root root 39680 Sep 23 2020 true - -rwxr-xr-x 1 root root 14328 Feb 26 2021 ulockmgr_server - -rwsr-xr-x 1 root root 35040 Mar 27 22:09 umount - -rwxr-xr-x 1 root root 39744 Sep 23 2020 uname - -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress - -rwxr-xr-x 1 root root 147176 Sep 23 2020 vdir - -rwxr-xr-x 1 root root 63744 Mar 27 22:09 wdctl - lrwxrwxrwx 1 root root 8 Nov 6 2019 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 5898 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 8049 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/2379753/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1234376 Mar 28 2022 bash + -rwxr-xr-x 3 root root 38984 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 38984 Jul 21 2020 bzcat + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Jul 21 2020 bzdiff + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Sep 5 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Jul 21 2020 bzgrep + -rwxr-xr-x 3 root root 38984 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 18424 Jul 21 2020 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 21 2020 bzmore + -rwxr-xr-x 1 root root 43936 Sep 24 2020 cat + -rwxr-xr-x 1 root root 72672 Sep 24 2020 chgrp + -rwxr-xr-x 1 root root 64448 Sep 24 2020 chmod + -rwxr-xr-x 1 root root 72672 Sep 24 2020 chown + -rwxr-xr-x 1 root root 151168 Sep 24 2020 cp + -rwxr-xr-x 1 root root 125560 Dec 11 2020 dash + -rwxr-xr-x 1 root root 113664 Sep 24 2020 date + -rwxr-xr-x 1 root root 80968 Sep 24 2020 dd + -rwxr-xr-x 1 root root 93936 Sep 24 2020 df + -rwxr-xr-x 1 root root 147176 Sep 24 2020 dir + -rwxr-xr-x 1 root root 84440 Mar 29 2024 dmesg + lrwxrwxrwx 1 root root 8 Nov 8 2019 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Nov 8 2019 domainname -> hostname + -rwxr-xr-x 1 root root 39712 Sep 24 2020 echo + -rwxr-xr-x 1 root root 28 Jan 25 2023 egrep + -rwxr-xr-x 1 root root 39680 Sep 24 2020 false + -rwxr-xr-x 1 root root 28 Jan 25 2023 fgrep + -rwxr-xr-x 1 root root 69032 Mar 29 2024 findmnt + -rwsr-xr-x 1 root root 34896 Feb 27 2021 fusermount + -rwxr-xr-x 1 root root 203072 Jan 25 2023 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 98048 Apr 10 2022 gzip + -rwxr-xr-x 1 root root 22600 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 72840 Sep 24 2020 ln + -rwxr-xr-x 1 root root 56952 Feb 8 2020 login + -rwxr-xr-x 1 root root 147176 Sep 24 2020 ls + -rwxr-xr-x 1 root root 149736 Mar 29 2024 lsblk + -rwxr-xr-x 1 root root 85184 Sep 24 2020 mkdir + -rwxr-xr-x 1 root root 76896 Sep 24 2020 mknod + -rwxr-xr-x 1 root root 48064 Sep 24 2020 mktemp + -rwxr-xr-x 1 root root 59632 Mar 29 2024 more + -rwsr-xr-x 1 root root 55528 Mar 29 2024 mount + -rwxr-xr-x 1 root root 18664 Mar 29 2024 mountpoint + -rwxr-xr-x 1 root root 147080 Sep 24 2020 mv + lrwxrwxrwx 1 root root 8 Nov 8 2019 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Dec 17 2021 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 43872 Sep 24 2020 pwd + lrwxrwxrwx 1 root root 4 Mar 28 2022 rbash -> bash + -rwxr-xr-x 1 root root 52032 Sep 24 2020 readlink + -rwxr-xr-x 1 root root 72704 Sep 24 2020 rm + -rwxr-xr-x 1 root root 52032 Sep 24 2020 rmdir + -rwxr-xr-x 1 root root 27472 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 122224 Dec 23 2018 sed + lrwxrwxrwx 1 root root 9 Aug 17 12:24 sh -> /bin/bash + -rwxr-xr-x 1 root root 43808 Sep 24 2020 sleep + -rwxr-xr-x 1 root root 84928 Sep 24 2020 stty + -rwsr-xr-x 1 root root 71912 Mar 29 2024 su + -rwxr-xr-x 1 root root 39744 Sep 24 2020 sync + -rwxr-xr-x 1 root root 531928 Jan 20 2024 tar + -rwxr-xr-x 1 root root 14456 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 101408 Sep 24 2020 touch + -rwxr-xr-x 1 root root 39680 Sep 24 2020 true + -rwxr-xr-x 1 root root 14328 Feb 27 2021 ulockmgr_server + -rwsr-xr-x 1 root root 35040 Mar 29 2024 umount + -rwxr-xr-x 1 root root 39744 Sep 24 2020 uname + -rwxr-xr-x 2 root root 2346 Apr 10 2022 uncompress + -rwxr-xr-x 1 root root 147176 Sep 24 2020 vdir + -rwxr-xr-x 1 root root 63744 Mar 29 2024 wdctl + lrwxrwxrwx 1 root root 8 Nov 8 2019 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 5898 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 8049 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/755806/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -339,7 +370,7 @@ Get: 132 http://deb.debian.org/debian bullseye/main amd64 ruby-rspec-mocks all 3.9.0c2e2m1s3-2 [81.4 kB] Get: 133 http://deb.debian.org/debian bullseye/main amd64 ruby-rspec all 3.9.0c2e2m1s3-2 [8348 B] Get: 134 http://deb.debian.org/debian bullseye/main amd64 ruby-thor all 1.0.1-1 [51.1 kB] -Fetched 44.4 MB in 1s (55.4 MB/s) +Fetched 44.4 MB in 1s (51.6 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 ... 19711 files and directories currently installed.) @@ -900,7 +931,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-listen-3.2.1/ && 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-listen_3.2.1-1_source.changes +I: user script /srv/workspace/pbuilder/755806/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for bullseye +I: user script /srv/workspace/pbuilder/755806/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-listen-3.2.1/ && 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-listen_3.2.1-1_source.changes dpkg-buildpackage: info: source package ruby-listen dpkg-buildpackage: info: source version 3.2.1-1 dpkg-buildpackage: info: source distribution unstable @@ -943,36 +978,36 @@ install -d /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/bin install -D -m755 /build/reproducible-path/ruby-listen-3.2.1/bin/listen /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/bin/listen install -d /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/queue_optimizer.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/queue_optimizer.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/backend.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/backend.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/version.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/version.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/silencer/controller.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/silencer/controller.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/logger.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/logger.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/event/queue.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/event/queue.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/event/loop.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/event/loop.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/event/processor.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/event/processor.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/event/config.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/event/config.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/change.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/change.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/fsm.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/fsm.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/record/symlink_detector.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/record/symlink_detector.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/record/entry.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/record/entry.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/listener.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/listener.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/file.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/file.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/listener/config.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/listener/config.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/silencer.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/silencer.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/record.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/record.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/cli.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/cli.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/record/symlink_detector.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/record/symlink_detector.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/record/entry.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/record/entry.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/internals/thread_pool.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/internals/thread_pool.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/file.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/file.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/silencer/controller.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/silencer/controller.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/version.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/version.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/options.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/options.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/directory.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/directory.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/event/config.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/event/config.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/event/processor.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/event/processor.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/event/loop.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/event/loop.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/event/queue.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/event/queue.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/logger.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/logger.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/queue_optimizer.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/queue_optimizer.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/bsd.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/bsd.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/darwin.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/darwin.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/windows.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/windows.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/base.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/base.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/linux.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/linux.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/polling.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/polling.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/config.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/config.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/windows.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/windows.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/bsd.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/bsd.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/darwin.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/darwin.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/listener.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/listener.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/change.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/change.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/options.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/options.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/backend.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/backend.rb -install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/internals/thread_pool.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/internals/thread_pool.rb +install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen/adapter/polling.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen/adapter/polling.rb install -D -m644 /build/reproducible-path/ruby-listen-3.2.1/lib/listen.rb /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/lib/ruby/vendor_ruby/listen.rb Rewriting shebang line of /build/reproducible-path/ruby-listen-3.2.1/debian/ruby-listen/usr/bin/listen @@ -1003,47 +1038,152 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 47678 +Randomized with seed 8188 -Listen::Adapter - .select - returns Windows adapter when usable - returns Linux adapter when usable - returns BSD adapter when usable - returns Polling adapter if forced - returns Darwin adapter when usable - no usable adapters - doesn't warn if polling_fallback_message is false - warns polling fallback with default message - returns Polling adapter - warns polling fallback with custom message if set +Listen::Event::Config + with a given block + calls the block + is callable -Listen::Adapter::Config - #adapter_options - provides a set of adapter_specific options +Listen::File + #inaccurate_mac_time? + with no accurate times + is expected to be truthy + with all accurate times + is expected to be falsey + with one accurate time + is expected to be falsey + #change + with empty record + with existing path + returns added + sets path in record with expected data + with file record + with existing file + with different mode in record + sets path in record with expected data + is expected to equal :modified + with same mode in record + with later mtime than in record + is expected to equal :modified + sets path in record with expected data + with indentical mtime in record + with inaccurate stat times + with real mtime barely within last second + with available md5 + with same md5 in record + is expected to be nil + with different md5 in record + sets path in record with expected data + is expected to equal :modified + with no md5 in record + is expected to be nil + without available md5 + should not unset record + is expected to equal :removed + with real mtime barely not within last second + is expected to be nil + with accurate stat times + is expected to be nil + with earlier mtime than in record + is expected to equal :modified + sets path in record with expected data + with non-existing file + sets path in record + is expected to eq :removed + +Listen::Adapter::Linux + class + is expected to be usable + _callback + recognizes moved_to as moved_to + recognizes moved_from as moved_from + recognizes close_write as modify + #stop + when configured + stops the worker + when not even initialized + does not crash + inotify limit message +FATAL: Listen error: unable to monitor directories for changes. +Visit https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers for info on how to fix this. + should be shown before calling abort + +Listen::Backend #initialize - with directories as array - with Pathnames for directories - returns array of pathnames - with strings for directories - when not resolved - returns array of resolved pathnames - when already resolved - returns array of pathnames - with no directories - returns the current path in array - with directories as messy array - implement me (PENDING: Not yet implemented) - #queue - provides a direct queue for filesystem events - #silencer - provides a silencer object + with config + sets up an adapter class + #stop + stops the adapter + #start + starts the adapter + +Listen::Directory + #scan with recursive on + with empty record + with subdir present in dir + snapshots changes for subdir + with non-existing dir + reports no changes + with file.rb & subdir in record + with subdir2 path present + snapshots changes for file, file2 & subdir paths + with empty dir + snapshots changes for file & subdir path + #scan with recursive off + with empty record + with non-existing dir path + unsets record dir path + reports no changes + with file.rb in dir + snapshots changes for file & file2 paths + when network share is disconnected + unsets record dir path + reports no changes + with file & subdir in record + with empty dir + sets record dir path + snapshots changes for file path and dir that doesn't exist + when file2.rb is added + notices file removed and file2 changed + when file.rb removed + notices file was removed + when file.rb no longer exists after scan + rescans + when subdir is removed + notices subdir does not exist + +Listen::Silencer::Controller + append_ignores + with previous :ignore rules + when providing as array + appends the given :ignore rules + when providing a single regexp as argument + appends the given :ignore rules as array + when providing multiple arguments + appends the given :ignore rules as a flat array + when providing a nil + reconfigures with existing :ignore rules + with no previous :ignore rules + when providing a single regexp as argument + sets the given :ignore rules as array + when providing as array + sets the given :ignore rules + when providing multiple arguments + sets the given :ignore rules as a flat array + when providing a nil + sets the given :ignore rules as empty array Listen::Change #change with build options calls still_building! on record + directory + calls Listen::Directory#new file + with known change + doesn't notify to listener if path is silenced + notifies change directly to listener with unknown change doesn't call Listen::File#change if path is silenced calls Listen::File#change @@ -1054,101 +1194,363 @@ notifies change to listener that returns no change doesn't notifies no change - with known change - doesn't notify to listener if path is silenced - notifies change directly to listener - directory - calls Listen::Directory#new + +Listen::CLI + directories option + with a single directory + is set to app + with a multiple directories + is set to an array of the directories + not specified + is set to local directory + relative option + without relative option + is set to false + when -r + is set to true + when --relative + supports --relative option + supports -r option + +Listen::Adapter + .select + returns Polling adapter if forced + returns Linux adapter when usable + returns Darwin adapter when usable + returns Windows adapter when usable + returns BSD adapter when usable + no usable adapters + doesn't warn if polling_fallback_message is false + warns polling fallback with custom message if set + returns Polling adapter + warns polling fallback with default message + +Listen::Adapter::Base + handling events + when an event occurs + passes invalidates the snapshot based on the event + #start + builds record + runs the adapter + +Listen + .stop + stops all listeners + .to + initalizes listener + +Listen::Listener::Config + options + custom options + extracts adapter options + extract adapter selecting options + +Listen::Silencer + #silenced? + is expected to accept :file and # + when accepting only *foo* + is expected not to accept :file and "bar" + is expected to accept :file and "foo" + when ignoring *.pid + is expected not to accept :file and "foo.pid" + when ignoring foo/bar* and *.pid + is expected not to accept :file and "foo/bar/baz" + is expected not to accept :file and "foo.pid" + when accepting only foo/* and *.txt + is expected to accept :file and "foo/bar.rb" + is expected to accept :file and "bar.txt" + is expected not to accept :file and "bar/baz.rb" + is expected not to accept :file and "bar.rb" + when ignoring only *.pid + is expected not to accept :file and "foo.pid" + is expected to accept :file and ".git" + when accepting only *.pid + when ignoring bar* + is expected not to accept :file and "foo.rb" + is expected not to accept :file and "bar.pid" + is expected to accept :file and "foo.pid" + with default ignore + is expected to accept :dir and "vendor/bundlefoo" + is expected not to accept :file and "foo.rb___jb_bak___" + is expected to accept :file and "foo.sedq7eVAR" + is expected to accept :file and "sedatives" + is expected not to accept :file and "sed86w1kB" + is expected not to accept :file and "foo.rbo54321.new" + is expected not to accept :file and ".DS_Store" + is expected not to accept :file and "foo.swpx" + is expected not to accept :dir and "log" + is expected to accept :dir and ".svnfoo" + is expected to accept :file and "sediments" + is expected to accept :dir and "foo.bundle" + is expected to accept :dir and "foobundle" + is expected to accept :dir and "foo.svn" + is expected not to accept :dir and ".bundle" + is expected to accept :dir and "foovendor/bundle" + is expected to accept :dir and ".hgfoo" + is expected not to accept :dir and ".hg" + is expected not to accept :dir and "tmp" + is expected to accept :dir and ".rbxfoo" + is expected to accept :dir and ".gitfoo" + is expected not to accept :dir and ".svn" + is expected to accept :file and "14913" + is expected to accept :dir and "logfoo" + is expected not to accept :file and "foo.rb.kate-swp" + is expected not to accept :file and ".mutagen-temporary-cross-device-rename0" + is expected to accept :dir and "footmp" + is expected not to accept :file and ".goutputstream-S3FBGX" + is expected not to accept :file and "4913" + is expected not to accept :dir and "bundle" + is expected not to accept :dir and "vendor/ruby" + is expected not to accept :file and "foo.rb___jb_old___" + is expected to accept :file and "49131" + is expected to accept :dir and "foo.git" + is expected to accept :file and "sedabcdefg" + is expected to accept :file and ".sedq7eVAR" + is expected to accept :file and "a.swf" + is expected to accept :dir and "foo.hg" + is expected to accept :file and "file.new" + is expected not to accept :file and "foo.rbB22583.new" + is expected to accept :dir and "foo.rbx" + is expected to accept :dir and "tmpfoo" + is expected to accept :dir and "foovendor/ruby" + is expected to accept :file and "sedan2014" + is expected to accept :dir and "vendor/rubyfoo" + is expected not to accept :file and "foo.swp" + is expected not to accept :dir and ".rbx" + is expected not to accept :dir and ".git" + is expected to accept :dir and "foolog" + is expected to accept :dir and "bundlefoo" + is expected not to accept :file and ".mutagen-temporary-unicode-test-\u00E9ntry0" + is expected not to accept :file and "foo.tmp" + is expected to accept :file and "foo.tmpl" + is expected not to accept :dir and "vendor/bundle" + is expected to accept :file and "file54321.new" + is expected not to accept :file and "foo.swx" + is expected to accept :file and "sed_ABCDE" + is expected to accept :dir and ".bundlefoo" + is expected not to accept :file and "foo~" + is expected not to accept :file and "sedq7eVAR" + +Listen::Listener + #start + starts adapter + sets paused to false + initialize + is expected not to be paused + with a block + passes the block to the event processor + with directories + passes directories to backend + #stop + when frontend is ready + terminates + when only backend is already started + terminates + when only initialized + terminates + when fully started + terminates + #only + with existing only options + overwrites existing ignore options + #ignore + with existing ignore options (array) + adds up to existing ignore options + with existing ignore options + adds up to existing ignore options + #pause + sets paused to true + unpause with start + sets paused to false + #paused? + returns true when paused + returns false when not paused + #listen? + when paused + is expected not to be processing + when stopped + is expected not to be processing + when processing + is expected to be processing + #ignore! + with existing ignore! options + overwrites existing ignore options + with no existing options + sets options + with existing ignore options + deletes ignore options Listen::Record + #add_dir + sets itself when . + sets itself when nil + sets path and keeps old data not overwritten + correctly sets new directory data + sets itself when empty #build re-inits paths + with subdir containing symlinked file + shows a warning + with a normal symlinked directory to another + shows message + with subdir containing symlink to parent + shows a warning with subdir containing dirs builds record with subdir containing files builds record - with subdir containing symlink to parent - shows a warning with no subdirs builds record - with a normal symlinked directory to another - shows message - with subdir containing symlinked file - shows a warning #unset_path within subdir - when path not present - unsets path when path is present unsets path + when path not present + unsets path within watched dir when path is present unsets path when path not present unsets path + #file_data + with path in subdir + when path is present + returns file data + path not present + return empty hash + with path in watched dir + when path is present + returns file data + path not present + return empty hash + #update_file + with subdir path + sets path and keeps old data not overwritten + sets path by spliting dirname and basename + with path in watched dir + sets path and keeps old data not overwritten + sets path by spliting dirname and basename #dir_entries in watched dir with no entries is expected to be empty - with subdir/file.rb in record - is expected to eq {"subdir"=>{}} with file.rb in record is expected to eq {"file.rb"=>{:mtime=>1.1}} + with subdir/file.rb in record + is expected to eq {"subdir"=>{}} in subdir /path with path/file.rb already in record is expected to eq {"file.rb"=>{:mtime=>1.1}} with no entries is expected to be empty - #update_file - with path in watched dir - sets path by spliting dirname and basename - sets path and keeps old data not overwritten - with subdir path - sets path by spliting dirname and basename - sets path and keeps old data not overwritten - #add_dir - sets itself when nil - sets itself when empty - correctly sets new directory data - sets itself when . - sets path and keeps old data not overwritten - #file_data - with path in watched dir - when path is present - returns file data - path not present - return empty hash - with path in subdir - when path is present - returns file data - path not present - return empty hash -Listen::Backend - #stop - stops the adapter - #start - starts the adapter - #initialize - with config - sets up an adapter class - -Listen::Adapter::Linux - _callback - recognizes moved_to as moved_to - recognizes close_write as modify - recognizes moved_from as moved_from - #stop - when configured - stops the worker - when not even initialized - does not crash - inotify limit message -FATAL: Listen error: unable to monitor directories for changes. -Visit https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers for info on how to fix this. - should be shown before calling abort +Listen::Adapter::Polling class is expected to be usable + with a valid configuration + #start + notifies change on every listener directories path + #_latency + with no overriding option + is expected to eq 1.0 + with custom latency overriding + is expected to eq 1234 + +Listen::Event::Queue + #empty? + when empty + is expected to be empty + when not empty + is expected not to be empty + #pop + when empty + forward the call to the queue + #<< + when no block is given + calls the provided block + when relative option is true + when watched dir is not the current dir + registers relative path + when watched dir is on another drive + registers full path + when watched dir is the current dir + registers relative paths + when a block is given + calls the provided block + +Listen::Event::Processor + #loop_for + when not stopped + when initially processing + when event queue is empty + when stopped after sleeping + sleeps, waiting to be woken up + breaks + when event queue has events + when there were events ages ago + processes events + when initially paused + when stopped after sleeping + breaks + sleeps, waiting to be woken up + when still paused after sleeping + when there were no events for ages + still does not process events because it is paused + when there were no events before + sleeps for latency to possibly later optimize some events + when stopped + with pending changes + does not sleep + does not change the event queue + +Listen::QueueOptimizer + smoosh_changes + when double move + is expected to eq {:added=>[], :modified=>["foo"], :removed=>[]} + with no cookie + with ignored file + is expected to eq {:added=>[], :modified=>[], :removed=>[]} + with cookie + when related moved_to + is expected to eq {:added=>["bar"], :modified=>[], :removed=>[]} + when related moved_to with ignored moved_from + is expected to eq {:added=>[], :modified=>["foo"], :removed=>[]} + when single moved + is expected to eq {:added=>["foo"], :modified=>[], :removed=>[]} + with rename from temp file + is expected to eq {:added=>[], :modified=>["foo"], :removed=>[]} + with a deteted temp file + is expected to eq {:added=>[], :modified=>[], :removed=>[]} + +Listen::Forwarder + passes relative option to Listen + +Listen::Event::Loop + when stopped + when resume is called + fails + when wakeup_on_event is called + does nothing + when resumed + is not paused + when wakeup_on_event is called + when thread is dead + does not wake up the thread + when thread is alive + wakes up the thread + sets the reason for waking up + when resume is called again + does nothing + #setup + sets up the thread in a resumable state + when set up / paused + #resume + resumes the thread + sets the reason for waking up + #teardown + waits for the thread to finish + sets the reason for waking up + frees the thread Listen with one listen dir @@ -1156,496 +1558,129 @@ with default ignore options dir in listen dir is expected to process addition of "dir/file.rb" - hidden file in listen dir - is expected to process modification of ".hidden" dir with file in listen dir listens to file move - with nothing in listen dir - listens to file moved inside - listens to multiple files addition - is expected to process addition of ".hidden" - is expected to process addition of "file.rb" + hidden file in listen dir + is expected to process modification of ".hidden" two dirs with files in listen dir listens to dir move listens to multiple file moves with .bundle dir ignored by default is expected not to process addition of ".bundle/file.rb" existing file.rb in listen dir - is expected to process removal of "file.rb" listens to file mode change listens to file.rb moved out is expected to process modification of "file.rb" - when polling - with a large latency - passes the latency option correctly + is expected to process removal of "file.rb" + with nothing in listen dir + listens to file moved inside + listens to multiple files addition + is expected to process addition of "file.rb" + is expected to process addition of ".hidden" when :ignore is *ignored_dir* - when :ignore is bar.rb - when :only is *.rb - is expected to process addition of "file.rb" - is expected not to process addition of "file.txt" - is expected not to process addition of "bar.rb" when :only is *.rb is expected to process addition of "file.rb" is expected not to process addition of "file.txt" - ignored dir with file in listen dir - is expected not to process addition of "ignored_dir/file.rb" when default ignore is *.rb is expected not to process addition of "file.rb" with #ignore! on *.txt mask - is expected to process addition of "file.rb" is expected not to process addition of "file.txt" + is expected to process addition of "file.rb" with #ignore on *.txt mask - is expected not to process addition of "file.txt" is expected not to process addition of "file.rb" - with change block raising - warns the backtrace + is expected not to process addition of "file.txt" + ignored dir with file in listen dir + is expected not to process addition of "ignored_dir/file.rb" + when :ignore is bar.rb + when :only is *.rb + is expected to process addition of "file.rb" + is expected not to process addition of "file.txt" + is expected not to process addition of "bar.rb" + when polling + with a large latency + passes the latency option correctly force_polling option to false when driver does not support option does not pass the latency option - with default ignore options - with nothing in listen dir - is expected to process addition of "file.rb" - is expected to process addition of ".hidden" - listens to multiple files addition - listens to file moved inside - two dirs with files in listen dir - listens to multiple file moves - listens to dir move - dir with file in listen dir - listens to file move - with .bundle dir ignored by default - is expected not to process addition of ".bundle/file.rb" - hidden file in listen dir - is expected to process modification of ".hidden" - existing file.rb in listen dir - is expected to process modification of "file.rb" - listens to file.rb moved out - is expected to process removal of "file.rb" - listens to file mode change - dir in listen dir - is expected to process addition of "dir/file.rb" when :ignore is *ignored_dir* - ignored dir with file in listen dir - is expected not to process addition of "ignored_dir/file.rb" when :only is *.rb - is expected to process addition of "file.rb" is expected not to process addition of "file.txt" + is expected to process addition of "file.rb" + ignored dir with file in listen dir + is expected not to process addition of "ignored_dir/file.rb" when default ignore is *.rb is expected not to process addition of "file.rb" with #ignore on *.txt mask is expected not to process addition of "file.rb" is expected not to process addition of "file.txt" with #ignore! on *.txt mask - is expected to process addition of "file.rb" is expected not to process addition of "file.txt" + is expected to process addition of "file.rb" when :ignore is bar.rb when :only is *.rb - is expected not to process addition of "bar.rb" is expected not to process addition of "file.txt" is expected to process addition of "file.rb" + is expected not to process addition of "bar.rb" + with default ignore options + hidden file in listen dir + is expected to process modification of ".hidden" + with .bundle dir ignored by default + is expected not to process addition of ".bundle/file.rb" + two dirs with files in listen dir + listens to multiple file moves + listens to dir move + with nothing in listen dir + listens to file moved inside + is expected to process addition of ".hidden" + is expected to process addition of "file.rb" + listens to multiple files addition + dir in listen dir + is expected to process addition of "dir/file.rb" + dir with file in listen dir + listens to file move + existing file.rb in listen dir + is expected to process removal of "file.rb" + is expected to process modification of "file.rb" + listens to file.rb moved out + listens to file mode change + with change block raising + warns the backtrace -Listen::Listener - #ignore - with existing ignore options (array) - adds up to existing ignore options - with existing ignore options - adds up to existing ignore options - #stop - when only initialized - terminates - when only backend is already started - terminates - when frontend is ready - terminates - when fully started - terminates - #paused? - returns true when paused - returns false when not paused - #listen? - when paused - is expected not to be processing - when stopped - is expected not to be processing - when processing - is expected to be processing - unpause with start - sets paused to false - initialize - is expected not to be paused - with a block - passes the block to the event processor - with directories - passes directories to backend - #start - starts adapter - sets paused to false - #pause - sets paused to true - #only - with existing only options - overwrites existing ignore options - #ignore! - with existing ignore options - deletes ignore options - with existing ignore! options - overwrites existing ignore options - with no existing options - sets options - -Listen::Listener::Config - options - custom options - extracts adapter options - extract adapter selecting options - -Listen::Event::Processor - #loop_for - when not stopped - when initially paused - when stopped after sleeping - breaks - sleeps, waiting to be woken up - when still paused after sleeping - when there were no events for ages - still does not process events because it is paused - when there were no events before - sleeps for latency to possibly later optimize some events - when initially processing - when event queue has events - when there were events ages ago - processes events - when event queue is empty - when stopped after sleeping - sleeps, waiting to be woken up - breaks - when stopped - with pending changes - does not sleep - does not change the event queue - -Listen::File - #inaccurate_mac_time? - with all accurate times - is expected to be falsey - with no accurate times - is expected to be truthy - with one accurate time - is expected to be falsey - #change - with file record - with non-existing file - sets path in record - is expected to eq :removed - with existing file - with different mode in record - is expected to equal :modified - sets path in record with expected data - with same mode in record - with indentical mtime in record - with inaccurate stat times - with real mtime barely within last second - without available md5 - should not unset record - is expected to equal :removed - with available md5 - with no md5 in record - is expected to be nil - with different md5 in record - sets path in record with expected data - is expected to equal :modified - with same md5 in record - is expected to be nil - with real mtime barely not within last second - is expected to be nil - with accurate stat times - is expected to be nil - with later mtime than in record - is expected to equal :modified - sets path in record with expected data - with earlier mtime than in record - is expected to equal :modified - sets path in record with expected data - with empty record - with existing path - sets path in record with expected data - returns added - -Listen::Silencer::Controller - append_ignores - with no previous :ignore rules - when providing multiple arguments - sets the given :ignore rules as a flat array - when providing as array - sets the given :ignore rules - when providing a nil - sets the given :ignore rules as empty array - when providing a single regexp as argument - sets the given :ignore rules as array - with previous :ignore rules - when providing multiple arguments - appends the given :ignore rules as a flat array - when providing a single regexp as argument - appends the given :ignore rules as array - when providing a nil - reconfigures with existing :ignore rules - when providing as array - appends the given :ignore rules - -Listen::Event::Queue - #empty? - when empty - is expected to be empty - when not empty - is expected not to be empty - #<< - when relative option is true - when watched dir is not the current dir - registers relative path - when watched dir is the current dir - registers relative paths - when watched dir is on another drive - registers full path - when a block is given - calls the provided block - when no block is given - calls the provided block - #pop - when empty - forward the call to the queue - -Listen::Adapter::Polling - with a valid configuration - #start - notifies change on every listener directories path - #_latency - with no overriding option - is expected to eq 1.0 - with custom latency overriding - is expected to eq 1234 - class - is expected to be usable - -Listen - .to - initalizes listener - .stop - stops all listeners - -Listen::QueueOptimizer - smoosh_changes - with a deteted temp file - is expected to eq {:added=>[], :modified=>[], :removed=>[]} - with cookie - when related moved_to with ignored moved_from - is expected to eq {:added=>[], :modified=>["foo"], :removed=>[]} - when single moved - is expected to eq {:added=>["foo"], :modified=>[], :removed=>[]} - when related moved_to - is expected to eq {:added=>["bar"], :modified=>[], :removed=>[]} - with no cookie - with ignored file - is expected to eq {:added=>[], :modified=>[], :removed=>[]} - when double move - is expected to eq {:added=>[], :modified=>["foo"], :removed=>[]} - with rename from temp file - is expected to eq {:added=>[], :modified=>["foo"], :removed=>[]} - -Listen::Directory - #scan with recursive off - with empty record - with file.rb in dir - snapshots changes for file & file2 paths - with non-existing dir path - reports no changes - unsets record dir path - when network share is disconnected - reports no changes - unsets record dir path - with file & subdir in record - when subdir is removed - notices subdir does not exist - when file.rb removed - notices file was removed - with empty dir - sets record dir path - snapshots changes for file path and dir that doesn't exist - when file.rb no longer exists after scan - rescans - when file2.rb is added - notices file removed and file2 changed - #scan with recursive on - with empty record - with subdir present in dir - snapshots changes for subdir - with non-existing dir - reports no changes - with file.rb & subdir in record - with empty dir - snapshots changes for file & subdir path - with subdir2 path present - snapshots changes for file, file2 & subdir paths - -Listen::Silencer - #silenced? - is expected to accept :file and # - when accepting only foo/* and *.txt - is expected to accept :file and "bar.txt" - is expected not to accept :file and "bar/baz.rb" - is expected to accept :file and "foo/bar.rb" - is expected not to accept :file and "bar.rb" - when ignoring only *.pid - is expected not to accept :file and "foo.pid" - is expected to accept :file and ".git" - when ignoring foo/bar* and *.pid - is expected not to accept :file and "foo.pid" - is expected not to accept :file and "foo/bar/baz" - with default ignore - is expected to accept :file and "foo.tmpl" - is expected to accept :dir and "foo.svn" - is expected not to accept :dir and "vendor/ruby" - is expected not to accept :dir and ".rbx" - is expected not to accept :dir and ".hg" - is expected not to accept :file and "foo.rbo54321.new" - is expected not to accept :file and "foo.tmp" - is expected not to accept :dir and "bundle" - is expected to accept :dir and "bundlefoo" - is expected not to accept :dir and "tmp" - is expected not to accept :file and "sedq7eVAR" - is expected to accept :dir and "foolog" - is expected to accept :dir and "footmp" - is expected to accept :dir and "vendor/bundlefoo" - is expected not to accept :file and "foo.swpx" - is expected not to accept :file and "4913" - is expected to accept :dir and "tmpfoo" - is expected to accept :file and "49131" - is expected not to accept :file and "sed86w1kB" - is expected to accept :dir and "foovendor/bundle" - is expected not to accept :dir and ".git" - is expected to accept :file and "sed_ABCDE" - is expected not to accept :file and "foo.swp" - is expected to accept :dir and ".rbxfoo" - is expected to accept :dir and ".svnfoo" - is expected not to accept :file and "foo.swx" - is expected to accept :dir and ".hgfoo" - is expected to accept :file and "file.new" - is expected to accept :file and "sediments" - is expected to accept :dir and "foo.git" - is expected not to accept :file and ".mutagen-temporary-cross-device-rename0" - is expected to accept :file and "sedabcdefg" - is expected not to accept :file and ".mutagen-temporary-unicode-test-\u00E9ntry0" - is expected not to accept :file and "foo.rbB22583.new" - is expected to accept :file and "sedan2014" - is expected to accept :file and "a.swf" - is expected not to accept :file and ".DS_Store" - is expected not to accept :file and "foo.rb.kate-swp" - is expected not to accept :dir and ".bundle" - is expected not to accept :file and "foo.rb___jb_bak___" - is expected to accept :dir and "foo.bundle" - is expected not to accept :file and "foo.rb___jb_old___" - is expected to accept :file and "14913" - is expected to accept :dir and "foo.rbx" - is expected to accept :file and "sedatives" - is expected not to accept :dir and ".svn" - is expected to accept :file and "foo.sedq7eVAR" - is expected to accept :file and "file54321.new" - is expected not to accept :file and "foo~" - is expected not to accept :file and ".goutputstream-S3FBGX" - is expected not to accept :dir and "vendor/bundle" - is expected to accept :dir and "foovendor/ruby" - is expected to accept :dir and "foo.hg" - is expected to accept :dir and "foobundle" - is expected to accept :dir and "vendor/rubyfoo" - is expected to accept :file and ".sedq7eVAR" - is expected to accept :dir and ".bundlefoo" - is expected to accept :dir and ".gitfoo" - is expected to accept :dir and "logfoo" - is expected not to accept :dir and "log" - when ignoring *.pid - is expected not to accept :file and "foo.pid" - when accepting only *.pid - when ignoring bar* - is expected to accept :file and "foo.pid" - is expected not to accept :file and "foo.rb" - is expected not to accept :file and "bar.pid" - when accepting only *foo* - is expected not to accept :file and "bar" - is expected to accept :file and "foo" - -Listen::Event::Config - with a given block - is callable - calls the block - -Listen::Forwarder - passes relative option to Listen +Listen::Adapter::Config + #queue + provides a direct queue for filesystem events + #silencer + provides a silencer object + #adapter_options + provides a set of adapter_specific options + #initialize + with no directories + returns the current path in array + with directories as array + with strings for directories + when already resolved + returns array of pathnames + when not resolved + returns array of resolved pathnames + with Pathnames for directories + returns array of pathnames + with directories as messy array + implement me (PENDING: Not yet implemented) Listen::Adapter::BSD class is expected not to be usable -Listen::Event::Loop - #setup - sets up the thread in a resumable state - when set up / paused - #resume - resumes the thread - sets the reason for waking up - #teardown - frees the thread - waits for the thread to finish - sets the reason for waking up - when stopped - when resume is called - fails - when wakeup_on_event is called - does nothing - when resumed - is not paused - when wakeup_on_event is called - when thread is alive - sets the reason for waking up - wakes up the thread - when thread is dead - does not wake up the thread - when resume is called again - does nothing - -Listen::CLI - relative option - without relative option - is set to false - when --relative - supports --relative option - supports -r option - when -r - is set to true - directories option - not specified - is set to local directory - with a multiple directories - is set to an array of the directories - with a single directory - is set to app - -Listen::Adapter::Base - handling events - when an event occurs - passes invalidates the snapshot based on the event - #start - runs the adapter - builds record - Pending: (Failures listed here are expected and do not affect your suite's status) 1) Listen::Adapter::Config#initialize with directories as messy array implement me # Not yet implemented # ./spec/lib/listen/adapter/config_spec.rb:82 -Finished in 2 minutes 20.8 seconds (files took 0.52088 seconds to load) +Finished in 2 minutes 16.4 seconds (files took 0.22807 seconds to load) 318 examples, 0 failures, 1 pending -Randomized with seed 47678 +Randomized with seed 8188 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1679,12 +1714,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/755806/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/755806/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/2379753 and its subdirectories -I: Current time: Sun Jul 14 04:01:28 -12 2024 -I: pbuilder-time-stamp: 1720972888 +I: removing directory /srv/workspace/pbuilder/755806 and its subdirectories +I: Current time: Sun Aug 17 12:27:39 +14 2025 +I: pbuilder-time-stamp: 1755383259