Diff of the two buildlogs: -- --- b1/build.log 2021-08-14 23:13:21.124710928 +0000 +++ b2/build.log 2021-08-14 23:15:07.788681724 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Sep 16 17:35:09 -12 2022 -I: pbuilder-time-stamp: 1663392909 +I: Current time: Sun Aug 15 13:13:24 +14 2021 +I: pbuilder-time-stamp: 1628982804 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -16,8 +16,8 @@ I: copying [./ruby-rspec-rails_4.0.1-2.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' -gpgv: keyblock resource '/tmp/dpkg-verify-sig.LmIJeNzA/trustedkeys.kbx': General error -gpgv: Signature made Wed Aug 26 10:40:45 2020 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig.L34AWUT6/trustedkeys.kbx': General error +gpgv: Signature made Thu Aug 27 12:40:45 2020 +14 gpgv: using RSA key B2DEE66036C40829FCD0F10CFC0DB1BBCD460BDE gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ruby-rspec-rails_4.0.1-2.dsc @@ -31,135 +31,169 @@ dpkg-source: info: applying remove_git_in_gemspec.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/14100/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/22077/tmp/hooks/D01_modify_environment starting +debug: Running on codethink10-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' +Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' +Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' +Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/22077/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/22077/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.1.4(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=8' - DISTRIBUTION='' - HOME='/var/lib/jenkins' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/var/lib/jenkins + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='14100' - PS1='# ' - PS2='> ' + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=22077 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.SsfSMYo8Do/pbuilderrc_s9xy --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.SsfSMYo8Do/b1 --logfile b1/build.log ruby-rspec-rails_4.0.1-2.dsc' - SUDO_GID='117' - SUDO_UID='110' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - USERNAME='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.16:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.SsfSMYo8Do/pbuilderrc_oG3A --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.SsfSMYo8Do/b2 --logfile b2/build.log --extrapackages usrmerge ruby-rspec-rails_4.0.1-2.dsc' + SUDO_GID=117 + SUDO_UID=110 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + USERNAME=root + _='I: set' + http_proxy=http://192.168.101.16:3128 I: uname -a - Linux codethink15-arm64 4.15.0-153-generic #160-Ubuntu SMP Thu Jul 29 07:06:07 UTC 2021 aarch64 GNU/Linux + Linux i-capture-the-hostname 4.15.0-153-generic #160-Ubuntu SMP Thu Jul 29 07:06:07 UTC 2021 aarch64 GNU/Linux I: ls -l /bin total 5252 - -rwxr-xr-x 1 root root 1282512 Aug 4 2021 bash - -rwxr-xr-x 3 root root 34808 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 34808 Jul 20 2020 bzcat - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep - -rwxr-xr-x 3 root root 34808 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 14264 Jul 20 2020 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore - -rwxr-xr-x 1 root root 39832 Sep 22 2020 cat - -rwxr-xr-x 1 root root 64512 Sep 22 2020 chgrp - -rwxr-xr-x 1 root root 60368 Sep 22 2020 chmod - -rwxr-xr-x 1 root root 64528 Sep 22 2020 chown - -rwxr-xr-x 1 root root 138896 Sep 22 2020 cp - -rwxr-xr-x 1 root root 129544 Dec 10 2020 dash - -rwxr-xr-x 1 root root 101384 Sep 22 2020 date - -rwxr-xr-x 1 root root 80984 Sep 22 2020 dd - -rwxr-xr-x 1 root root 89824 Sep 22 2020 df - -rwxr-xr-x 1 root root 143088 Sep 22 2020 dir - -rwxr-xr-x 1 root root 76152 Jul 28 2021 dmesg - lrwxrwxrwx 1 root root 8 Nov 6 2019 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Nov 6 2019 domainname -> hostname - -rwxr-xr-x 1 root root 35632 Sep 22 2020 echo - -rwxr-xr-x 1 root root 28 Nov 9 2020 egrep - -rwxr-xr-x 1 root root 31512 Sep 22 2020 false - -rwxr-xr-x 1 root root 28 Nov 9 2020 fgrep - -rwxr-xr-x 1 root root 64856 Jul 28 2021 findmnt - -rwsr-xr-x 1 root root 34824 Feb 26 2021 fusermount - -rwxr-xr-x 1 root root 178400 Nov 9 2020 grep - -rwxr-xr-x 2 root root 2346 Mar 2 2021 gunzip - -rwxr-xr-x 1 root root 6376 Mar 2 2021 gzexe - -rwxr-xr-x 1 root root 93744 Mar 2 2021 gzip - -rwxr-xr-x 1 root root 18440 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 68720 Sep 22 2020 ln - -rwxr-xr-x 1 root root 52720 Feb 7 2020 login - -rwxr-xr-x 1 root root 143088 Sep 22 2020 ls - -rwxr-xr-x 1 root root 161960 Jul 28 2021 lsblk - -rwxr-xr-x 1 root root 85200 Sep 22 2020 mkdir - -rwxr-xr-x 1 root root 68744 Sep 22 2020 mknod - -rwxr-xr-x 1 root root 43976 Sep 22 2020 mktemp - -rwxr-xr-x 1 root root 51368 Jul 28 2021 more - -rwsr-xr-x 1 root root 51360 Jul 28 2021 mount - -rwxr-xr-x 1 root root 14496 Jul 28 2021 mountpoint - -rwxr-xr-x 1 root root 134808 Sep 22 2020 mv - lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 18 2021 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 35720 Sep 22 2020 pwd - lrwxrwxrwx 1 root root 4 Aug 4 2021 rbash -> bash - -rwxr-xr-x 1 root root 43872 Sep 22 2020 readlink - -rwxr-xr-x 1 root root 68592 Sep 22 2020 rm - -rwxr-xr-x 1 root root 43880 Sep 22 2020 rmdir - -rwxr-xr-x 1 root root 19208 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 114016 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Sep 16 03:47 sh -> dash - -rwxr-xr-x 1 root root 35656 Sep 22 2020 sleep - -rwxr-xr-x 1 root root 72640 Sep 22 2020 stty - -rwsr-xr-x 1 root root 67776 Jul 28 2021 su - -rwxr-xr-x 1 root root 35672 Sep 22 2020 sync - -rwxr-xr-x 1 root root 535768 Feb 16 2021 tar - -rwxr-xr-x 1 root root 10568 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 89120 Sep 22 2020 touch - -rwxr-xr-x 1 root root 31512 Sep 22 2020 true - -rwxr-xr-x 1 root root 14264 Feb 26 2021 ulockmgr_server - -rwsr-xr-x 1 root root 30880 Jul 28 2021 umount - -rwxr-xr-x 1 root root 35640 Sep 22 2020 uname - -rwxr-xr-x 2 root root 2346 Mar 2 2021 uncompress - -rwxr-xr-x 1 root root 143088 Sep 22 2020 vdir - -rwxr-xr-x 1 root root 59584 Jul 28 2021 wdctl - lrwxrwxrwx 1 root root 8 Nov 6 2019 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Mar 2 2021 zcat - -rwxr-xr-x 1 root root 1678 Mar 2 2021 zcmp - -rwxr-xr-x 1 root root 5880 Mar 2 2021 zdiff - -rwxr-xr-x 1 root root 29 Mar 2 2021 zegrep - -rwxr-xr-x 1 root root 29 Mar 2 2021 zfgrep - -rwxr-xr-x 1 root root 2081 Mar 2 2021 zforce - -rwxr-xr-x 1 root root 7585 Mar 2 2021 zgrep - -rwxr-xr-x 1 root root 2206 Mar 2 2021 zless - -rwxr-xr-x 1 root root 1842 Mar 2 2021 zmore - -rwxr-xr-x 1 root root 4553 Mar 2 2021 znew -I: user script /srv/workspace/pbuilder/14100/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1282512 Aug 5 10:25 bash + -rwxr-xr-x 3 root root 34808 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 34808 Jul 21 2020 bzcat + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Jul 21 2020 bzdiff + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Sep 5 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Jul 21 2020 bzgrep + -rwxr-xr-x 3 root root 34808 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 14264 Jul 21 2020 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 21 2020 bzmore + -rwxr-xr-x 1 root root 39832 Sep 23 2020 cat + -rwxr-xr-x 1 root root 64512 Sep 23 2020 chgrp + -rwxr-xr-x 1 root root 60368 Sep 23 2020 chmod + -rwxr-xr-x 1 root root 64528 Sep 23 2020 chown + -rwxr-xr-x 1 root root 138896 Sep 23 2020 cp + -rwxr-xr-x 1 root root 129544 Dec 11 2020 dash + -rwxr-xr-x 1 root root 101384 Sep 23 2020 date + -rwxr-xr-x 1 root root 80984 Sep 23 2020 dd + -rwxr-xr-x 1 root root 89824 Sep 23 2020 df + -rwxr-xr-x 1 root root 143088 Sep 23 2020 dir + -rwxr-xr-x 1 root root 76152 Jul 29 09:09 dmesg + lrwxrwxrwx 1 root root 8 Nov 8 2019 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Nov 8 2019 domainname -> hostname + -rwxr-xr-x 1 root root 35632 Sep 23 2020 echo + -rwxr-xr-x 1 root root 28 Nov 10 2020 egrep + -rwxr-xr-x 1 root root 31512 Sep 23 2020 false + -rwxr-xr-x 1 root root 28 Nov 10 2020 fgrep + -rwxr-xr-x 1 root root 64856 Jul 29 09:09 findmnt + -rwsr-xr-x 1 root root 34824 Feb 27 06:12 fusermount + -rwxr-xr-x 1 root root 178400 Nov 10 2020 grep + -rwxr-xr-x 2 root root 2346 Mar 3 13:30 gunzip + -rwxr-xr-x 1 root root 6376 Mar 3 13:30 gzexe + -rwxr-xr-x 1 root root 93744 Mar 3 13:30 gzip + -rwxr-xr-x 1 root root 18440 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 68720 Sep 23 2020 ln + -rwxr-xr-x 1 root root 52720 Feb 8 2020 login + -rwxr-xr-x 1 root root 143088 Sep 23 2020 ls + -rwxr-xr-x 1 root root 161960 Jul 29 09:09 lsblk + -rwxr-xr-x 1 root root 85200 Sep 23 2020 mkdir + -rwxr-xr-x 1 root root 68744 Sep 23 2020 mknod + -rwxr-xr-x 1 root root 43976 Sep 23 2020 mktemp + -rwxr-xr-x 1 root root 51368 Jul 29 09:09 more + -rwsr-xr-x 1 root root 51360 Jul 29 09:09 mount + -rwxr-xr-x 1 root root 14496 Jul 29 09:09 mountpoint + -rwxr-xr-x 1 root root 134808 Sep 23 2020 mv + lrwxrwxrwx 1 root root 8 Nov 8 2019 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 19 05:38 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 35720 Sep 23 2020 pwd + lrwxrwxrwx 1 root root 4 Aug 5 10:25 rbash -> bash + -rwxr-xr-x 1 root root 43872 Sep 23 2020 readlink + -rwxr-xr-x 1 root root 68592 Sep 23 2020 rm + -rwxr-xr-x 1 root root 43880 Sep 23 2020 rmdir + -rwxr-xr-x 1 root root 19208 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 114016 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Aug 15 13:13 sh -> bash + lrwxrwxrwx 1 root root 4 Aug 13 23:25 sh.distrib -> dash + -rwxr-xr-x 1 root root 35656 Sep 23 2020 sleep + -rwxr-xr-x 1 root root 72640 Sep 23 2020 stty + -rwsr-xr-x 1 root root 67776 Jul 29 09:09 su + -rwxr-xr-x 1 root root 35672 Sep 23 2020 sync + -rwxr-xr-x 1 root root 535768 Feb 17 23:55 tar + -rwxr-xr-x 1 root root 10568 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 89120 Sep 23 2020 touch + -rwxr-xr-x 1 root root 31512 Sep 23 2020 true + -rwxr-xr-x 1 root root 14264 Feb 27 06:12 ulockmgr_server + -rwsr-xr-x 1 root root 30880 Jul 29 09:09 umount + -rwxr-xr-x 1 root root 35640 Sep 23 2020 uname + -rwxr-xr-x 2 root root 2346 Mar 3 13:30 uncompress + -rwxr-xr-x 1 root root 143088 Sep 23 2020 vdir + -rwxr-xr-x 1 root root 59584 Jul 29 09:09 wdctl + lrwxrwxrwx 1 root root 8 Nov 8 2019 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Mar 3 13:30 zcat + -rwxr-xr-x 1 root root 1678 Mar 3 13:30 zcmp + -rwxr-xr-x 1 root root 5880 Mar 3 13:30 zdiff + -rwxr-xr-x 1 root root 29 Mar 3 13:30 zegrep + -rwxr-xr-x 1 root root 29 Mar 3 13:30 zfgrep + -rwxr-xr-x 1 root root 2081 Mar 3 13:30 zforce + -rwxr-xr-x 1 root root 7585 Mar 3 13:30 zgrep + -rwxr-xr-x 1 root root 2206 Mar 3 13:30 zless + -rwxr-xr-x 1 root root 1842 Mar 3 13:30 zmore + -rwxr-xr-x 1 root root 4553 Mar 3 13:30 znew +I: user script /srv/workspace/pbuilder/22077/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -416,7 +450,7 @@ Get: 191 http://deb.debian.org/debian bullseye/main arm64 ruby-zip all 2.0.0-2 [43.4 kB] Get: 192 http://deb.debian.org/debian bullseye/main arm64 ruby-selenium-webdriver all 3.142.7+dfsg-2 [742 kB] Get: 193 http://deb.debian.org/debian bullseye/main arm64 ruby-sqlite3 arm64 1.4.2-3 [43.0 kB] -Fetched 49.2 MB in 1s (33.2 MB/s) +Fetched 49.2 MB in 1s (40.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19646 files and directories currently installed.) @@ -1212,8 +1246,45 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl +The following NEW packages will be installed: + libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl usrmerge +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Need to get 59.5 kB of archives. +After this operation, 157 kB of additional disk space will be used. +Get:1 http://deb.debian.org/debian bullseye/main arm64 libnumber-compare-perl all 0.03-1.1 [6956 B] +Get:2 http://deb.debian.org/debian bullseye/main arm64 libtext-glob-perl all 0.11-1 [8888 B] +Get:3 http://deb.debian.org/debian bullseye/main arm64 libfile-find-rule-perl all 0.34-1 [30.6 kB] +Get:4 http://deb.debian.org/debian bullseye/main arm64 usrmerge all 25 [13.0 kB] +debconf: delaying package configuration, since apt-utils is not installed +Fetched 59.5 kB in 0s (1467 kB/s) +Selecting previously unselected package libnumber-compare-perl. +(Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 31675 files and directories currently installed.) +Preparing to unpack .../libnumber-compare-perl_0.03-1.1_all.deb ... +Unpacking libnumber-compare-perl (0.03-1.1) ... +Selecting previously unselected package libtext-glob-perl. +Preparing to unpack .../libtext-glob-perl_0.11-1_all.deb ... +Unpacking libtext-glob-perl (0.11-1) ... +Selecting previously unselected package libfile-find-rule-perl. +Preparing to unpack .../libfile-find-rule-perl_0.34-1_all.deb ... +Unpacking libfile-find-rule-perl (0.34-1) ... +Selecting previously unselected package usrmerge. +Preparing to unpack .../archives/usrmerge_25_all.deb ... +Unpacking usrmerge (25) ... +Setting up libtext-glob-perl (0.11-1) ... +Setting up libnumber-compare-perl (0.03-1.1) ... +Setting up libfile-find-rule-perl (0.34-1) ... +Setting up usrmerge (25) ... +The system has been successfully converted. +Processing triggers for man-db (2.9.4-2) ... +Not building database; man-db/auto-update is not 'true'. I: Building the package -I: Running cd /build/ruby-rspec-rails-4.0.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-rspec-rails_4.0.1-2_source.changes +hostname: Temporary failure in name resolution +I: Running cd /build/ruby-rspec-rails-4.0.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-rspec-rails_4.0.1-2_source.changes dpkg-buildpackage: info: source package ruby-rspec-rails dpkg-buildpackage: info: source version 4.0.1-2 dpkg-buildpackage: info: source distribution unstable @@ -1244,7 +1315,7 @@ dh_auto_install -O--buildsystem=ruby dh_ruby --install /build/ruby-rspec-rails-4.0.1/debian/ruby-rspec-rails dh_ruby --install -/usr/bin/ruby2.7 -S gem build --config-file /dev/null --verbose /tmp/d20220916-20655-1anlcj7/gemspec +/usr/bin/ruby2.7 -S gem build --config-file /dev/null --verbose /tmp/d20210815-11840-go73ew/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: open-ended dependency on actionpack (>= 4.2) is not recommended if actionpack is semantically versioned, use: @@ -1260,7 +1331,7 @@ Name: rspec-rails Version: 4.0.1 File: rspec-rails-4.0.1.gem -/usr/bin/ruby2.7 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rspec-rails/usr/share/rubygems-integration/all /tmp/d20220916-20655-1anlcj7/rspec-rails-4.0.1.gem +/usr/bin/ruby2.7 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rspec-rails/usr/share/rubygems-integration/all /tmp/d20210815-11840-go73ew/rspec-rails-4.0.1.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/ruby-rspec-rails-4.0.1/debian/ruby-rspec-rails/usr/share/rubygems-integration/all/gems/rspec-rails-4.0.1/lib/generators/rspec.rb /build/ruby-rspec-rails-4.0.1/debian/ruby-rspec-rails/usr/share/rubygems-integration/all/gems/rspec-rails-4.0.1/lib/generators/rspec/channel/channel_generator.rb @@ -1387,328 +1458,752 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 53883 +Randomized with seed 20489 -RSpec::Rails::ModelExampleGroup - behaves like an rspec-rails example group mixin - adds does not add `:type` metadata on inclusion - when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :model` - for an example group defined in a file in the ./spec/models/ directory - does not tag groups in that directory with `:type => :model` - does not include itself in the example group - for an example group defined in a file in the .\spec\models\ directory - does not include itself in the example group - does not tag groups in that directory with `:type => :model` - when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :model` - for an example group defined in a file in the ./spec/models/ directory - allows users to override the type - applies configured `before(:context)` hooks with `:type => :model` metadata - includes itself in the example group - tags groups in that directory with `:type => :model` - for an example group defined in a file in the .\spec\models\ directory - applies configured `before(:context)` hooks with `:type => :model` metadata - includes itself in the example group - allows users to override the type - tags groups in that directory with `:type => :model` - -should have_xxx - works with ActiveRecord::Associations::CollectionProxy - -be_new_record - a new record - passes - fails with custom failure message - a persisted record - fails with custom failure message - fails - -have_rendered - given a hash - delegates to assert_template +redirect_to with should + when assert_redirected_to fails + uses failure message from assert_redirected_to + when assert_redirected_to passes + passes when fails due to some other exception raises that exception - when assert_template passes - passes - when assert_template fails - uses failure message from assert_template with should_not when fails due to some other exception raises that exception - when fails with a redirect - gives informative error message - with a badly formatted error message - falls back to something informative - when assert_template fails + when assert_redirected_to fails passes - when assert_template passes + when assert_redirected_to passes fails with custom failure message - given a string - delegates to assert_template - given a symbol - converts to_s and delegates to assert_template RSpec::Rails::HelperExampleGroup provides a controller_path based on the helper module's name + #helper + returns the instance of AV::Base provided by AV::TC::Behavior + includes ApplicationHelper behaves like an rspec-rails example group mixin adds does not add `:type` metadata on inclusion when `infer_spec_type_from_file_location!` is configured includes itself in example groups tagged with `:type => :helper` - for an example group defined in a file in the ./spec/helpers/ directory - allows users to override the type + for an example group defined in a file in the .\spec\helpers\ directory applies configured `before(:context)` hooks with `:type => :helper` metadata includes itself in the example group tags groups in that directory with `:type => :helper` - for an example group defined in a file in the .\spec\helpers\ directory - includes itself in the example group allows users to override the type + for an example group defined in a file in the ./spec/helpers/ directory tags groups in that directory with `:type => :helper` + includes itself in the example group + allows users to override the type applies configured `before(:context)` hooks with `:type => :helper` metadata when `infer_spec_type_from_file_location!` is not configured includes itself in example groups tagged with `:type => :helper` - for an example group defined in a file in the ./spec/helpers/ directory - does not include itself in the example group - does not tag groups in that directory with `:type => :helper` for an example group defined in a file in the .\spec\helpers\ directory + does not tag groups in that directory with `:type => :helper` does not include itself in the example group + for an example group defined in a file in the ./spec/helpers/ directory does not tag groups in that directory with `:type => :helper` - #helper - returns the instance of AV::Base provided by AV::TC::Behavior - includes ApplicationHelper + does not include itself in the example group -ActionMailbox matchers - receive_inbound_email - fails when it doesn't receive inbound email - passes when negated when it doesn't receive inbound email - passes when it receives inbound email - fails when negated when it receives inbound email +should have_xxx + works with ActiveRecord::Associations::CollectionProxy -RSpec::Rails::FixtureFileUploadSupport - with fixture path set in config - resolves supports `Pathname` objects - resolves fixture file - with fixture path not set - resolves fixture using relative path - with fixture path set in spec - resolves fixture file +ActiveSupport::Relation match_array matcher + fails if the scope encompasses fewer records than on the right hand side + verifies that the scope returns the records on the right hand side, regardless of order + fails if the scope encompasses more records than on the right hand side -RSpec::Rails::ViewExampleGroup +RSpec::Rails::FixtureSupport + with use_transactional_fixtures set to false + still supports fixture_path + +RSpec::Rails::MinitestLifecycleAdapter + invokes minitest lifecycle hooks at the appropriate times + allows let variables named 'send' + +be_a_new matcher + existing record + wrong class + fails + right class + fails + new record + wrong class + fails + right class + passes + #with + right class and new record + one attribute same + passes + with composable matchers + one attribute is a composable matcher + fails + passes + matcher is wrong type + fails + two attributes are composable matchers + both matchers present in actual + passes + only one matcher present in actual + fails + one attribute value not the same + fails + all attributes same + passes + no attributes same + fails + wrong class and existing record + one attribute value not the same + fails + all attributes same + fails + no attributes same + fails + +ActiveJob matchers + have_been_enqueued + passes when negated + accepts composable matchers as an at date + fails when negated and several jobs enqueued + counts all enqueued jobs + fails when job is not enqueued + passes with default jobs count (exactly one) + have_performed_job + fails when job is not performed + passes multiple arguments to with block + passes with :twice count + reports correct number in fail error message + passes with provided argument matchers + passess deserialized arguments to with block + passes with :once count + generates failure message with at least hint + generates failure message with all provided options + only calls with block if other conditions are met + fails with with block with incorrect data + fails when negated and job is performed + passes with :thrice count + passes when negated + generates failure message with at most hint + passes with at_least count when performed jobs are over limit + passes with default jobs count (exactly one) + passes with provided arguments + passes with multiple jobs + passes with provided at date + passes with provided arguments containing global id object + throws descriptive error when no test adapter set + counts only jobs performed in block + passes with provided queue name as symbol + raises ArgumentError when no Proc passed to expect + fails when too many jobs performed + passes with at_most count when performed jobs are under limit + passes with provided queue name as string + passes with job name + have_been_performed + passes when negated + fails when job is not performed + counts all performed jobs + passes with default jobs count (exactly one) + have_enqueued_job + passes with provided arguments containing global id object + passes with :twice count + passes with at_most count when enqueued jobs are under limit + fails when too many jobs enqueued + only calls with block if other conditions are met + accepts composable matchers as an at date + passess deserialized arguments to with block + fails with with block with incorrect data + passes with ActiveSupport::TimeWithZone + reports correct number in fail error message + passes with provided at time + fails when negated and several jobs enqueued + passes multiple arguments to with block + passes with at_least count when enqueued jobs are over limit + generates failure message with at most hint + passes with provided queue name as symbol + counts only jobs enqueued in block + passes with multiple jobs + fails when job is not enqueued + passes with default jobs count (exactly one) + generates failure message with all provided options + passes with provided at date + raises ArgumentError when no Proc passed to expect + passes when negated + throws descriptive error when no test adapter set + generates failure message with at least hint + passes with provided arguments + has an enqueued job when providing at and there is no wait + passes with :once count + passes with provided queue name as string + does not have an enqueued job when providing at of :no_wait and there is a wait + passes with :thrice count + passes with job name + passes when using alias + ignores undeserializable arguments + has an enqueued job when providing at of :no_wait and there is no wait + passes with Time + passes with provided argument matchers + has an enqueued job when not providing at and there is a wait + fails when negated and job is enqueued + +have_broadcasted_to matchers + have_broadcasted_to + fails when too many messages broadcast + passes with at_least count when sent messages are over limit + counts only messages sent in block + generates failure message with at most hint + fails when message is not sent + passes with at_most count when sent messages are under limit + raises ArgumentError when no Proc passed to expect + fails when negated and message is sent + reports correct number in fail error message + passes with :once count + passes with multiple streams + generates failure message with at least hint + fails with with block with incorrect data + passes when using alias + passes with :twice count + throws descriptive error when no test adapter set + passes with :thrice count + generates failure message when data not match + passes with provided data matchers + passes with default messages count (exactly one) + passes with provided data + passes when negated + when object is passed as first argument + when channel is present + passes + when channel can't be inferred + raises exception + +RSpec::Rails::ChannelExampleGroup behaves like an rspec-rails example group mixin adds does not add `:type` metadata on inclusion + when `infer_spec_type_from_file_location!` is not configured + includes itself in example groups tagged with `:type => :channel` + for an example group defined in a file in the .\spec\channels\ directory + does not tag groups in that directory with `:type => :channel` + does not include itself in the example group + for an example group defined in a file in the ./spec/channels/ directory + does not tag groups in that directory with `:type => :channel` + does not include itself in the example group when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :view` - for an example group defined in a file in the .\spec\views\ directory - tags groups in that directory with `:type => :view` + includes itself in example groups tagged with `:type => :channel` + for an example group defined in a file in the ./spec/channels/ directory + applies configured `before(:context)` hooks with `:type => :channel` metadata allows users to override the type - applies configured `before(:context)` hooks with `:type => :view` metadata + tags groups in that directory with `:type => :channel` includes itself in the example group - for an example group defined in a file in the ./spec/views/ directory + for an example group defined in a file in the .\spec\channels\ directory + applies configured `before(:context)` hooks with `:type => :channel` metadata includes itself in the example group + tags groups in that directory with `:type => :channel` allows users to override the type - applies configured `before(:context)` hooks with `:type => :view` metadata - tags groups in that directory with `:type => :view` + +be_new_record + a persisted record + fails + fails with custom failure message + a new record + passes + fails with custom failure message + +RSpec::Rails::MailboxExampleGroup + #have_bounced + does not raise otherwise + raises on unbounced mail + #process + sends mail to the mailbox + behaves like an rspec-rails example group mixin + adds does not add `:type` metadata on inclusion + when `infer_spec_type_from_file_location!` is configured + includes itself in example groups tagged with `:type => :mailbox` + for an example group defined in a file in the ./spec/mailboxes/ directory + tags groups in that directory with `:type => :mailbox` + applies configured `before(:context)` hooks with `:type => :mailbox` metadata + allows users to override the type + includes itself in the example group + for an example group defined in a file in the .\spec\mailboxes\ directory + applies configured `before(:context)` hooks with `:type => :mailbox` metadata + allows users to override the type + includes itself in the example group + tags groups in that directory with `:type => :mailbox` when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :view` - for an example group defined in a file in the ./spec/views/ directory + includes itself in example groups tagged with `:type => :mailbox` + for an example group defined in a file in the .\spec\mailboxes\ directory + does not tag groups in that directory with `:type => :mailbox` does not include itself in the example group - does not tag groups in that directory with `:type => :view` - for an example group defined in a file in the .\spec\views\ directory + for an example group defined in a file in the ./spec/mailboxes/ directory + does not tag groups in that directory with `:type => :mailbox` does not include itself in the example group - does not tag groups in that directory with `:type => :view` - #template - is deprecated - delegates to #view + #have_failed + does not raise otherwise + raises on unfailed mail + #have_been_delivered + raises on undelivered mail + does not raise otherwise + +ActiveModel support + with partial double verification enabled + allows you to stub instances of `ActiveModel` + allows you to stub `ActiveModel` + with partial double verification disabled + allows you to stub `ActiveModel` + allows you to stub instances of `ActiveModel` + +RSpec::Rails::ViewExampleGroup + #params + delegates to the controller #render given a hash sends the hash as the first arg to render given a string sends string as the first arg to render given no input - sends render(:template => (described file)) to the view converts the filename without format into render options converts the filename components into render options + sends render(:template => (described file)) to the view converts the filename with variant into render options - #params - delegates to the controller - routes helpers collides with asset helpers - uses routes helpers automatic inclusion of helpers operates normally when no helper with the same name exists - includes the helper with the same name operates normally when the view has no path and there is a Helper class defined includes the namespaced helper with the same name - application helper exists - includes the application helper + includes the helper with the same name no application helper exists operates normally - #view - is accessible to hooks - delegates to _view + application helper exists + includes the application helper + #template + delegates to #view + is deprecated + #stub_template + caches FixtureResolver instances between example groups + prepends an ActionView::FixtureResolver to the view path + routes helpers collides with asset helpers + uses routes helpers #_controller_path with a common _default_file_to_render it returns the directory with a nested _default_file_to_render it returns the directory path - #stub_template - caches FixtureResolver instances between example groups - prepends an ActionView::FixtureResolver to the view path - -RSpec::Rails::MinitestAssertionAdapter - exposes refute_respond_to to host examples - exposes refute_path_exists to host examples - exposes assert to host examples - exposes assert_throws to host examples - exposes assert_empty to host examples - exposes flunk to host examples - exposes refute_in_epsilon to host examples - exposes refute_instance_of to host examples - exposes assert_predicate to host examples - exposes assert_in_delta to host examples - exposes assert_in_epsilon to host examples - exposes refute_predicate to host examples - exposes assert_instance_of to host examples - exposes assert_respond_to to host examples - does not expose Minitest's message method - exposes refute_same to host examples - exposes assert_output to host examples - exposes assert_kind_of to host examples - exposes refute_nil to host examples - exposes assert_match to host examples - exposes refute_match to host examples - exposes assert_same to host examples - exposes assert_send to host examples - exposes refute_includes to host examples - exposes assert_includes to host examples - does not leak TestUnit specific methods into the AssertionDelegator - exposes refute_equal to host examples - exposes assert_nil to host examples - exposes assert_silent to host examples - exposes assert_raises to host examples - exposes refute_empty to host examples - exposes assert_equal to host examples - exposes refute to host examples - exposes refute_kind_of to host examples - does not expose internal methods of Minitest - exposes assert_operator to host examples - exposes refute_operator to host examples - exposes assert_path_exists to host examples - exposes refute_in_delta to host examples - -RSpec::Rails::SystemExampleGroup - #driver - sets :rack_test driver using by before_action - uses :selenium driver by default - calls :driven_by method only once - #method_name - converts special characters to underscores behaves like an rspec-rails example group mixin adds does not add `:type` metadata on inclusion when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :system` - for an example group defined in a file in the .\spec\system\ directory + includes itself in example groups tagged with `:type => :view` + for an example group defined in a file in the ./spec/views/ directory + does not tag groups in that directory with `:type => :view` does not include itself in the example group - does not tag groups in that directory with `:type => :system` - for an example group defined in a file in the ./spec/system/ directory - does not tag groups in that directory with `:type => :system` + for an example group defined in a file in the .\spec\views\ directory + does not tag groups in that directory with `:type => :view` does not include itself in the example group when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :system` - for an example group defined in a file in the .\spec\system\ directory - applies configured `before(:context)` hooks with `:type => :system` metadata - tags groups in that directory with `:type => :system` - allows users to override the type + includes itself in example groups tagged with `:type => :view` + for an example group defined in a file in the .\spec\views\ directory + applies configured `before(:context)` hooks with `:type => :view` metadata includes itself in the example group - for an example group defined in a file in the ./spec/system/ directory - tags groups in that directory with `:type => :system` + tags groups in that directory with `:type => :view` + allows users to override the type + for an example group defined in a file in the ./spec/views/ directory includes itself in the example group + tags groups in that directory with `:type => :view` + applies configured `before(:context)` hooks with `:type => :view` metadata allows users to override the type - applies configured `before(:context)` hooks with `:type => :system` metadata + #view + delegates to _view + is accessible to hooks -RSpec::Rails::ChannelExampleGroup +RSpec::Rails::FixtureFileUploadSupport + with fixture path set in config + resolves fixture file + resolves supports `Pathname` objects + with fixture path set in spec + resolves fixture file + with fixture path not set + resolves fixture using relative path + +RSpec::Rails::HelperExampleGroup::ClassMethods + determine_default_helper_class + the described is a class + returns nil + the described is a module + returns the module + +ActiveRecord support + with partial double verification enabled + allows you to stub `ActiveRecord::Base` + allows you to stub abstract classes + with partial double verification disabled + allows you to stub `ActiveRecord::Base` + allows you to stub abstract classes + +render_template + with should_not + when fails with a redirect + gives informative error message + with a badly formatted error message + falls back to something informative + when assert_template fails + passes + when assert_template passes + fails with custom failure message + when fails due to some other exception + raises that exception + given a hash + delegates to assert_template + given a string + delegates to assert_template + given a symbol + converts to_s and delegates to assert_template + with should + when assert_template fails + uses failure message from assert_template + when fails due to some other exception + raises that exception + when assert_template passes + passes + +have_rendered + with should_not + when assert_template passes + fails with custom failure message + when assert_template fails + passes + when fails with a redirect + gives informative error message + with a badly formatted error message + falls back to something informative + when fails due to some other exception + raises that exception + given a hash + delegates to assert_template + given a symbol + converts to_s and delegates to assert_template + given a string + delegates to assert_template + with should + when assert_template passes + passes + when assert_template fails + uses failure message from assert_template + when fails due to some other exception + raises that exception + +ActionMailbox matchers + receive_inbound_email + fails when it doesn't receive inbound email + passes when it receives inbound email + fails when negated when it receives inbound email + passes when negated when it doesn't receive inbound email + +RSpec::Rails::AssertionDelegator + provides a module that delegates assertion methods to an isolated class + delegates back to the including instance for methods the assertion module requires + does not delegate method_missing + +HaveEnqueuedMail matchers + have_enqueued_mail + generates a failure message with on_queue + passes for mailer methods with default arguments + passes when using the enqueue_mail alias + generates a failure message with unmatching enqueued mail jobs + generates a failure message with at least hint + passes with provided argument matchers + only calls with block if other conditions are met + passes multiple arguments to with block + counts only emails enqueued in the block + generates a failure message with at most hint + throws descriptive error when no test adapter set + passes when deliver_later is called with a wait_until argument + passes with :thrice count + passes with :twice count + fails when negated and mail is enqueued + generates a failure message + passes when using the have_enqueued_email alias + generates a failure message with at + passes with at_least when enqueued emails are over the limit + passes when negated with only mailer arguments + passes when given 0 arguments + generates a failure message when given only mailer argument + passes for mailer methods that accept arguments when the provided argument matcher is not used + accepts composable matchers as an at date + passes when negated + matches based on mailer class and method name + passes with :once count + fails when too many emails are enqueued + generates a failure message when given 0 argument + passes with multiple emails + passes when only given mailer argument + passes when using the enqueue_email alias + passes when negated with 0 arguments + passes when a mailer method is called with deliver_later + fails with with block with incorrect data + generates a failure message with arguments + passes when deliver_later is called with a queue argument + ensure that the right mailer is enqueued + passes with at_most when enqueued emails are under the limit + mailer job is unified + passes when using a mailer with `delivery_job` set to a sub class of `ActionMailer::DeliveryJob` + passes when mailer is parameterized + passes with provided argument matchers + passes when mixing parameterized and non-parameterized emails + when parameterized + passes when mixing parameterized and non-parameterized emails + passes with provided argument matchers + passes when mailer is parameterized + +have_stream matchers + have_streams + does not allow usage + raises when no subscription started + with negated form + passes with negated form + raises when no subscription started + raises ArgumentError when no subscription passed to expect + fails with message + have_stream_for + passes + fails with message + raises ArgumentError when no subscription passed to expect + raises when no subscription started + with negated form + passes + fails with message + have_stream_from + fails with message + raises when no subscription started + raises ArgumentError when no subscription passed to expect + passes + with composable matcher + fails with message + passes + with negated form + fails with message + passes + +RSpec::Rails::RoutingExampleGroup behaves like an rspec-rails example group mixin adds does not add `:type` metadata on inclusion when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :channel` - for an example group defined in a file in the .\spec\channels\ directory + includes itself in example groups tagged with `:type => :routing` + for an example group defined in a file in the .\spec\routing\ directory + does not tag groups in that directory with `:type => :routing` does not include itself in the example group - does not tag groups in that directory with `:type => :channel` - for an example group defined in a file in the ./spec/channels/ directory - does not tag groups in that directory with `:type => :channel` + for an example group defined in a file in the ./spec/routing/ directory + does not tag groups in that directory with `:type => :routing` does not include itself in the example group when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :channel` - for an example group defined in a file in the ./spec/channels/ directory + includes itself in example groups tagged with `:type => :routing` + for an example group defined in a file in the ./spec/routing/ directory allows users to override the type - tags groups in that directory with `:type => :channel` + tags groups in that directory with `:type => :routing` includes itself in the example group - applies configured `before(:context)` hooks with `:type => :channel` metadata - for an example group defined in a file in the .\spec\channels\ directory + applies configured `before(:context)` hooks with `:type => :routing` metadata + for an example group defined in a file in the .\spec\routing\ directory + applies configured `before(:context)` hooks with `:type => :routing` metadata allows users to override the type - tags groups in that directory with `:type => :channel` includes itself in the example group - applies configured `before(:context)` hooks with `:type => :channel` metadata + tags groups in that directory with `:type => :routing` + named routes + delegates them to the route_set -RSpec::Rails::RoutingExampleGroup +RSpec::Rails::SetupAndTeardownAdapter + .setup + registers before hooks in the order setup is received + registers teardown hooks in the order setup is received + registers prepend_before hooks for the Rails' setup methods + +RSpec::Rails::RequestExampleGroup behaves like an rspec-rails example group mixin adds does not add `:type` metadata on inclusion when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :routing` - for an example group defined in a file in the .\spec\routing\ directory + includes itself in example groups tagged with `:type => :request` + for an example group defined in a file in the .\spec\integration\ directory + tags groups in that directory with `:type => :request` includes itself in the example group allows users to override the type - tags groups in that directory with `:type => :routing` - applies configured `before(:context)` hooks with `:type => :routing` metadata - for an example group defined in a file in the ./spec/routing/ directory + applies configured `before(:context)` hooks with `:type => :request` metadata + for an example group defined in a file in the ./spec/api/ directory allows users to override the type + tags groups in that directory with `:type => :request` + applies configured `before(:context)` hooks with `:type => :request` metadata includes itself in the example group - tags groups in that directory with `:type => :routing` - applies configured `before(:context)` hooks with `:type => :routing` metadata + for an example group defined in a file in the ./spec/requests/ directory + tags groups in that directory with `:type => :request` + allows users to override the type + applies configured `before(:context)` hooks with `:type => :request` metadata + includes itself in the example group + for an example group defined in a file in the .\spec\requests\ directory + tags groups in that directory with `:type => :request` + allows users to override the type + applies configured `before(:context)` hooks with `:type => :request` metadata + includes itself in the example group + for an example group defined in a file in the ./spec/integration/ directory + applies configured `before(:context)` hooks with `:type => :request` metadata + tags groups in that directory with `:type => :request` + allows users to override the type + includes itself in the example group + for an example group defined in a file in the .\spec\api\ directory + includes itself in the example group + applies configured `before(:context)` hooks with `:type => :request` metadata + allows users to override the type + tags groups in that directory with `:type => :request` when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :routing` - for an example group defined in a file in the .\spec\routing\ directory + includes itself in example groups tagged with `:type => :request` + for an example group defined in a file in the .\spec\api\ directory + does not tag groups in that directory with `:type => :request` does not include itself in the example group - does not tag groups in that directory with `:type => :routing` - for an example group defined in a file in the ./spec/routing/ directory - does not tag groups in that directory with `:type => :routing` + for an example group defined in a file in the .\spec\integration\ directory + does not tag groups in that directory with `:type => :request` does not include itself in the example group - named routes - delegates them to the route_set + for an example group defined in a file in the .\spec\requests\ directory + does not tag groups in that directory with `:type => :request` + does not include itself in the example group + for an example group defined in a file in the ./spec/requests/ directory + does not include itself in the example group + does not tag groups in that directory with `:type => :request` + for an example group defined in a file in the ./spec/integration/ directory + does not tag groups in that directory with `:type => :request` + does not include itself in the example group + for an example group defined in a file in the ./spec/api/ directory + does not tag groups in that directory with `:type => :request` + does not include itself in the example group + +RSpec::Rails::JobExampleGroup + behaves like an rspec-rails example group mixin + adds does not add `:type` metadata on inclusion + when `infer_spec_type_from_file_location!` is configured + includes itself in example groups tagged with `:type => :job` + for an example group defined in a file in the ./spec/jobs/ directory + applies configured `before(:context)` hooks with `:type => :job` metadata + allows users to override the type + tags groups in that directory with `:type => :job` + includes itself in the example group + for an example group defined in a file in the .\spec\jobs\ directory + includes itself in the example group + tags groups in that directory with `:type => :job` + allows users to override the type + applies configured `before(:context)` hooks with `:type => :job` metadata + when `infer_spec_type_from_file_location!` is not configured + includes itself in example groups tagged with `:type => :job` + for an example group defined in a file in the ./spec/jobs/ directory + does not include itself in the example group + does not tag groups in that directory with `:type => :job` + for an example group defined in a file in the .\spec\jobs\ directory + does not include itself in the example group + does not tag groups in that directory with `:type => :job` + +be_valid matcher + uses a custom failure message if provided + includes the error messages for simple implementations of error messages + includes the validation context if provided + includes a brief error message for the simplest implementation of validity + includes a brief error message when error message is wrong arity + includes a failure message for the negative case + does not include the validation context if not provided + includes the error messages in the failure message + +route_to + uses failure message from assert_recognizes + delegates to assert_recognizes + provides a description + with should + when assert_recognizes fails with an assertion failure + fails with message from assert_recognizes + when assert_recognizes passes + passes + when an exception is raised + raises that exception + when assert_recognizes fails with a routing error + fails with message from assert_recognizes + with shortcut syntax + routes with nested query parameters + routes without extra options + routes with extra options + routes with multiple query parameters + routes with one query parameter + with should_not + when an exception is raised + raises that exception + when assert_recognizes fails with a routing error + passes + when assert_recognizes fails with an assertion failure + passes + when assert_recognizes passes + fails with custom message + +RSpec::Rails::SystemExampleGroup + #method_name + converts special characters to underscores + behaves like an rspec-rails example group mixin + adds does not add `:type` metadata on inclusion + when `infer_spec_type_from_file_location!` is not configured + includes itself in example groups tagged with `:type => :system` + for an example group defined in a file in the ./spec/system/ directory + does not tag groups in that directory with `:type => :system` + does not include itself in the example group + for an example group defined in a file in the .\spec\system\ directory + does not tag groups in that directory with `:type => :system` + does not include itself in the example group + when `infer_spec_type_from_file_location!` is configured + includes itself in example groups tagged with `:type => :system` + for an example group defined in a file in the ./spec/system/ directory + includes itself in the example group + applies configured `before(:context)` hooks with `:type => :system` metadata + tags groups in that directory with `:type => :system` + allows users to override the type + for an example group defined in a file in the .\spec\system\ directory + tags groups in that directory with `:type => :system` + includes itself in the example group + applies configured `before(:context)` hooks with `:type => :system` metadata + allows users to override the type + #driver + calls :driven_by method only once + uses :selenium driver by default + sets :rack_test driver using by before_action + +be_routable + provides a description + with should_not + fails if routes recognize the path + passes if routes do not recognize the path + with should + fails if routes do not recognize the path + passes if routes recognize the path have_http_status - http status :error - behaves like does not use deprecated methods for Rails 5.2+ - does not use deprecated method for Rails >= 5.2 - with general status code group :not_found - behaves like status code matcher - describes behaves like status code matcher - has a negated failure message reporting the expected and actual status codes - has a failure message reporting the expected and actual status codes - matching a response - returns true for a response with code - returns false for a response with a different code + with a numeric status code + has a failure message reporting the expected and actual status codes + has a negated failure message reporting the expected status code + describes responding with the numeric status code behaves like supports different response instances - has a negated failure message reporting it was given another type has a failure message reporting it was given another type returns false given another type - given an ActionDispatch::TestResponse - returns true for a response with the same code + has a negated failure message reporting it was given another type given an ActionDispatch::Response returns true for a response with the same code given something that acts as a Capybara::Session returns true for a response with the same code - with a symbolic status - has a negated failure message reporting the expected status code - describes responding by the symbolic and associated numeric status code - has a failure message reporting the expected and actual statuses - raises an ArgumentError + given an ActionDispatch::TestResponse + returns true for a response with the same code matching a response returns false for a response with a different code - returns true for a response with the equivalent code + returns true for a response with the same code + http status :missing + behaves like does not use deprecated methods for Rails 5.2+ + does not use deprecated method for Rails >= 5.2 + http status :success + behaves like does not use deprecated methods for Rails 5.2+ + does not use deprecated method for Rails >= 5.2 + with general status code group :success + behaves like status code matcher + has a negated failure message reporting the expected and actual status codes + has a failure message reporting the expected and actual status codes + describes behaves like status code matcher + matching a response + returns true for a response with code + returns false for a response with a different code behaves like supports different response instances - returns false given another type has a failure message reporting it was given another type + returns false given another type has a negated failure message reporting it was given another type given an ActionDispatch::TestResponse returns true for a response with the same code @@ -1716,91 +2211,75 @@ returns true for a response with the same code given something that acts as a Capybara::Session returns true for a response with the same code - with general status code group :successful + with general status code group :not_found behaves like status code matcher - has a failure message reporting the expected and actual status codes describes behaves like status code matcher has a negated failure message reporting the expected and actual status codes + has a failure message reporting the expected and actual status codes matching a response returns true for a response with code returns false for a response with a different code behaves like supports different response instances - has a failure message reporting it was given another type has a negated failure message reporting it was given another type returns false given another type - given something that acts as a Capybara::Session - returns true for a response with the same code + has a failure message reporting it was given another type given an ActionDispatch::Response returns true for a response with the same code given an ActionDispatch::TestResponse returns true for a response with the same code - with a nil status - raises an ArgumentError - http status :success - behaves like does not use deprecated methods for Rails 5.2+ - does not use deprecated method for Rails >= 5.2 - http status :not_found - behaves like supports different response instances - has a negated failure message reporting it was given another type - returns false given another type - has a failure message reporting it was given another type - given an ActionDispatch::Response - returns true for a response with the same code given something that acts as a Capybara::Session returns true for a response with the same code - given an ActionDispatch::TestResponse - returns true for a response with the same code - http status :successful + with general status code group :redirect + behaves like status code matcher + has a failure message reporting the expected and actual status codes + has a negated failure message reporting the expected and actual status codes + describes behaves like status code matcher + matching a response + returns false for a response with a different code + returns true for a response with code behaves like supports different response instances returns false given another type has a negated failure message reporting it was given another type has a failure message reporting it was given another type - given an ActionDispatch::Response - returns true for a response with the same code given something that acts as a Capybara::Session returns true for a response with the same code + given an ActionDispatch::Response + returns true for a response with the same code given an ActionDispatch::TestResponse returns true for a response with the same code - http status :server_error + http status :not_found behaves like supports different response instances returns false given another type - has a failure message reporting it was given another type has a negated failure message reporting it was given another type + has a failure message reporting it was given another type given an ActionDispatch::TestResponse returns true for a response with the same code given something that acts as a Capybara::Session returns true for a response with the same code given an ActionDispatch::Response returns true for a response with the same code - with general status code group :redirect + http status :error + behaves like does not use deprecated methods for Rails 5.2+ + does not use deprecated method for Rails >= 5.2 + with general status code group :missing behaves like status code matcher has a failure message reporting the expected and actual status codes - has a negated failure message reporting the expected and actual status codes describes behaves like status code matcher + has a negated failure message reporting the expected and actual status codes matching a response returns false for a response with a different code returns true for a response with code behaves like supports different response instances - has a negated failure message reporting it was given another type - returns false given another type - has a failure message reporting it was given another type - given an ActionDispatch::Response - returns true for a response with the same code - given an ActionDispatch::TestResponse - returns true for a response with the same code - given something that acts as a Capybara::Session - returns true for a response with the same code - with general status code group :error - behaves like supports different response instances has a failure message reporting it was given another type returns false given another type has a negated failure message reporting it was given another type - given an ActionDispatch::Response - returns true for a response with the same code given an ActionDispatch::TestResponse returns true for a response with the same code given something that acts as a Capybara::Session returns true for a response with the same code + given an ActionDispatch::Response + returns true for a response with the same code + with general status code group :server_error behaves like status code matcher has a negated failure message reporting the expected and actual status codes describes behaves like status code matcher @@ -1808,24 +2287,17 @@ matching a response returns true for a response with code returns false for a response with a different code - with a numeric status code - has a negated failure message reporting the expected status code - describes responding with the numeric status code - has a failure message reporting the expected and actual status codes behaves like supports different response instances - has a negated failure message reporting it was given another type has a failure message reporting it was given another type returns false given another type + has a negated failure message reporting it was given another type given an ActionDispatch::TestResponse returns true for a response with the same code given something that acts as a Capybara::Session returns true for a response with the same code given an ActionDispatch::Response returns true for a response with the same code - matching a response - returns false for a response with a different code - returns true for a response with the same code - with general status code group :server_error + with general status code group :successful behaves like supports different response instances has a failure message reporting it was given another type has a negated failure message reporting it was given another type @@ -1843,13 +2315,10 @@ matching a response returns false for a response with a different code returns true for a response with code - http status :missing - behaves like does not use deprecated methods for Rails 5.2+ - does not use deprecated method for Rails >= 5.2 - with general status code group :missing + http status :successful behaves like supports different response instances - has a negated failure message reporting it was given another type returns false given another type + has a negated failure message reporting it was given another type has a failure message reporting it was given another type given an ActionDispatch::TestResponse returns true for a response with the same code @@ -1857,14 +2326,38 @@ returns true for a response with the same code given an ActionDispatch::Response returns true for a response with the same code - behaves like status code matcher - has a failure message reporting the expected and actual status codes - has a negated failure message reporting the expected and actual status codes - describes behaves like status code matcher - matching a response - returns true for a response with code - returns false for a response with a different code - with general status code group :success + http status :server_error + behaves like supports different response instances + has a negated failure message reporting it was given another type + has a failure message reporting it was given another type + returns false given another type + given an ActionDispatch::Response + returns true for a response with the same code + given an ActionDispatch::TestResponse + returns true for a response with the same code + given something that acts as a Capybara::Session + returns true for a response with the same code + with a nil status + raises an ArgumentError + with a symbolic status + raises an ArgumentError + describes responding by the symbolic and associated numeric status code + has a negated failure message reporting the expected status code + has a failure message reporting the expected and actual statuses + behaves like supports different response instances + has a failure message reporting it was given another type + returns false given another type + has a negated failure message reporting it was given another type + given an ActionDispatch::Response + returns true for a response with the same code + given an ActionDispatch::TestResponse + returns true for a response with the same code + given something that acts as a Capybara::Session + returns true for a response with the same code + matching a response + returns true for a response with the equivalent code + returns false for a response with a different code + with general status code group :error behaves like status code matcher has a failure message reporting the expected and actual status codes describes behaves like status code matcher @@ -1873,697 +2366,275 @@ returns false for a response with a different code returns true for a response with code behaves like supports different response instances - returns false given another type has a negated failure message reporting it was given another type has a failure message reporting it was given another type - given an ActionDispatch::TestResponse - returns true for a response with the same code + returns false given another type given something that acts as a Capybara::Session returns true for a response with the same code + given an ActionDispatch::TestResponse + returns true for a response with the same code given an ActionDispatch::Response returns true for a response with the same code -RSpec::Rails::ViewSpecMethods - .remove_extra_params_accessors_from - when accessors are defined - removes them - when accessors are not defined - does nothing - .add_extra_params_accessors_to - when accessors are already defined - does not redefine them - when accessors are not yet defined - adds them as instance methods - the added #extra_params reader - raises an error when a user tries to mutate it - -RSpec::Rails::SetupAndTeardownAdapter - .setup - registers prepend_before hooks for the Rails' setup methods - registers teardown hooks in the order setup is received - registers before hooks in the order setup is received - -RSpec::Rails::HelperExampleGroup::ClassMethods - determine_default_helper_class - the described is a class - returns nil - the described is a module - returns the module - -RSpec::Rails - has no malformed whitespace - -RSpec::Rails::MailboxExampleGroup - behaves like an rspec-rails example group mixin - adds does not add `:type` metadata on inclusion - when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :mailbox` - for an example group defined in a file in the .\spec\mailboxes\ directory - does not tag groups in that directory with `:type => :mailbox` - does not include itself in the example group - for an example group defined in a file in the ./spec/mailboxes/ directory - does not include itself in the example group - does not tag groups in that directory with `:type => :mailbox` - when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :mailbox` - for an example group defined in a file in the .\spec\mailboxes\ directory - includes itself in the example group - tags groups in that directory with `:type => :mailbox` - allows users to override the type - applies configured `before(:context)` hooks with `:type => :mailbox` metadata - for an example group defined in a file in the ./spec/mailboxes/ directory - includes itself in the example group - allows users to override the type - applies configured `before(:context)` hooks with `:type => :mailbox` metadata - tags groups in that directory with `:type => :mailbox` - #have_been_delivered - does not raise otherwise - raises on undelivered mail - #have_bounced - does not raise otherwise - raises on unbounced mail - #have_failed - raises on unfailed mail - does not raise otherwise - #process - sends mail to the mailbox - -ActiveJob matchers - have_performed_job - only calls with block if other conditions are met - throws descriptive error when no test adapter set - fails when job is not performed - passes with provided at date - passes with :once count - passes with at_least count when performed jobs are over limit - generates failure message with all provided options - passes with provided queue name as symbol - passes with provided arguments containing global id object - generates failure message with at most hint - reports correct number in fail error message - passes with provided queue name as string - passes when negated - passes with multiple jobs - passes with at_most count when performed jobs are under limit - passes with :thrice count - passes with provided arguments - passes multiple arguments to with block - fails when negated and job is performed - raises ArgumentError when no Proc passed to expect - fails when too many jobs performed - fails with with block with incorrect data - generates failure message with at least hint - passess deserialized arguments to with block - passes with job name - passes with provided argument matchers - passes with default jobs count (exactly one) - passes with :twice count - counts only jobs performed in block - have_been_enqueued - counts all enqueued jobs - passes with default jobs count (exactly one) - fails when negated and several jobs enqueued - fails when job is not enqueued - accepts composable matchers as an at date - passes when negated - have_enqueued_job - passes with :twice count - passes with :once count - passes with provided at date - passes with Time - passes with provided queue name as symbol - ignores undeserializable arguments - passes with provided queue name as string - passes with provided arguments - passes with job name - raises ArgumentError when no Proc passed to expect - passes with :thrice count - does not have an enqueued job when providing at of :no_wait and there is a wait - passes when negated - generates failure message with at least hint - passes with provided at time - fails when too many jobs enqueued - fails when negated and job is enqueued - passes with default jobs count (exactly one) - generates failure message with at most hint - passes with at_least count when enqueued jobs are over limit - passes with provided arguments containing global id object - passess deserialized arguments to with block - fails with with block with incorrect data - has an enqueued job when providing at and there is no wait - fails when job is not enqueued - throws descriptive error when no test adapter set - generates failure message with all provided options - reports correct number in fail error message - passes with provided argument matchers - has an enqueued job when providing at of :no_wait and there is no wait - passes multiple arguments to with block - counts only jobs enqueued in block - passes with at_most count when enqueued jobs are under limit - only calls with block if other conditions are met - fails when negated and several jobs enqueued - passes with ActiveSupport::TimeWithZone - passes with multiple jobs - has an enqueued job when not providing at and there is a wait - accepts composable matchers as an at date - passes when using alias - have_been_performed - passes when negated - passes with default jobs count (exactly one) - counts all performed jobs - fails when job is not performed - -RSpec::Rails::ViewRendering - default - ActionController::Base - does not render views - does not render views in a nested group - ActionController::Metal - renders views - when render_views? is false - supports manipulating view paths with arrays - supports manipulating view paths - supports manipulating view paths with resolvers - with empty template resolver - works with strings - works with custom resolvers - #render_views - propogates to examples in nested groups properly - with true - tells examples to render views - with no args - tells examples to render views - with false - tells examples not to render views - overrides the global config if render_views is enabled there - in a nested group - overrides the value inherited from the parent group - passes override to children - leaves the parent group as/is - with false - tells examples not to render views - with no args - tells examples to render views - with true - tells examples to render views - -RSpec::Rails::FixtureSupport - with use_transactional_fixtures set to false - still supports fixture_path - -RSpec::Rails::FeatureExampleGroup - includes Rails route helpers - when nested inside a request example group - includes Rails route helpers - #visit - is resistant to load order errors - raises an error informing about missing Capybara - behaves like an rspec-rails example group mixin - adds does not add `:type` metadata on inclusion - when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :feature` - for an example group defined in a file in the .\spec\features\ directory - applies configured `before(:context)` hooks with `:type => :feature` metadata - includes itself in the example group - allows users to override the type - tags groups in that directory with `:type => :feature` - for an example group defined in a file in the ./spec/features/ directory - allows users to override the type - includes itself in the example group - applies configured `before(:context)` hooks with `:type => :feature` metadata - tags groups in that directory with `:type => :feature` - when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :feature` - for an example group defined in a file in the ./spec/features/ directory - does not include itself in the example group - does not tag groups in that directory with `:type => :feature` - for an example group defined in a file in the .\spec\features\ directory - does not tag groups in that directory with `:type => :feature` - does not include itself in the example group - Configuration + #filter_rails_from_backtrace! adds exclusion patterns for rails gems + metadata `type: :feature` sets up feature example groups + metadata `type: :view` sets up view example groups adds 'vendor/' to the backtrace exclusions - metadata `type: :routing` sets up routing example groups fixture support is included with metadata `:use_fixtures` + metadata `type: :request` sets up request example groups + metadata `type: :helper` sets up helper example groups metadata `type: :mailer` sets up mailer example groups + metadata `type: :routing` sets up routing example groups has a default #file_fixture_path of 'spec/fixtures/files' - metadata `type: :helper` sets up helper example groups - #filter_rails_from_backtrace! adds exclusion patterns for rails gems - metadata `type: :model` sets up model example groups - metadata `type: :request` sets up request example groups metadata `:type => :controller` sets up controller example groups - metadata `type: :view` sets up view example groups - metadata `type: :feature` sets up feature example groups + metadata `type: :model` sets up model example groups adds 'lib/rspec/rails' to the backtrace exclusions - clears ActionMailer::Base::Deliveries after each example - only has deliveries from this test (e.g. from email_2@example.com) (PENDING: Temporarily skipped with xit) - only has deliveries from this test (e.g. from email@example.com) (PENDING: Temporarily skipped with xit) - #infer_spec_type_from_file_location! - sets the type to `:helper` for file path `spec/helpers` - sets the type to `:request` for file path `spec/api` - sets the type to `:routing` for file path `spec/routing` - sets the type to `:controller` for file path `spec/controllers` - sets the type to `:feature` for file path `spec/features` - sets the type to `:request` for file path `spec/requests` - sets the type to `:request` for file path `spec/integration` - sets the type to `:model` for file path `spec/models` - sets the type to `:mailer` for file path `spec/mailers` - sets the type to `:view` for file path `spec/views` adds settings - `#render_views?` is falsey by default `#use_instantiated_fixtures?` is `nil` by default `#infer_base_class_for_anonymous_controllers?` is `true` by default - `#use_transactional_examples` is an alias for `use_transactional_fixtures` - `#rendering_views?` is `nil` by default - `#fixture_path?` is `nil` by default `#use_transactional_fixtures?` is `nil` by default + `#use_transactional_examples` is an alias for `use_transactional_fixtures` `#global_fixtures?` is `nil` by default + `#fixture_path?` is `nil` by default `#render_views` sets `render_views?` to `true` + `#render_views?` is falsey by default + `#rendering_views?` is `nil` by default + `#fixture_path=` + sets `fixture_path` to the provided value + changes `fixture_path?` to the provided value + `#infer_base_class_for_anonymous_controllers=` + sets `infer_base_class_for_anonymous_controllers` to the provided value + changes `infer_base_class_for_anonymous_controllers?` to the provided value `#use_instantiated_fixtures=` - sets `use_instantiated_fixtures` to the provided value changes `use_instantiated_fixtures?` to the provided value - `#use_transactional_fixtures=` - sets `use_transactional_fixtures` to the provided value - changes `use_transactional_fixtures?` to the provided value + sets `use_instantiated_fixtures` to the provided value `#global_fixtures=` sets `global_fixtures` to the provided value changes `global_fixtures?` to the provided value `#render_views=` sets `render_views?` to the provided value sets `render_views` to the provided value + `#use_transactional_fixtures=` + sets `use_transactional_fixtures` to the provided value + changes `use_transactional_fixtures?` to the provided value `#rendering_views=` - sets `rendering_views` to the provided value changes `rendering_views?` to the provided value - `#fixture_path=` - changes `fixture_path?` to the provided value - sets `fixture_path` to the provided value - `#infer_base_class_for_anonymous_controllers=` - sets `infer_base_class_for_anonymous_controllers` to the provided value - changes `infer_base_class_for_anonymous_controllers?` to the provided value - -ActiveSupport::Relation match_array matcher - fails if the scope encompasses more records than on the right hand side - verifies that the scope returns the records on the right hand side, regardless of order - fails if the scope encompasses fewer records than on the right hand side + sets `rendering_views` to the provided value + clears ActionMailer::Base::Deliveries after each example + only has deliveries from this test (e.g. from email_2@example.com) (PENDING: Temporarily skipped with xit) + only has deliveries from this test (e.g. from email@example.com) (PENDING: Temporarily skipped with xit) + #infer_spec_type_from_file_location! + sets the type to `:view` for file path `spec/views` + sets the type to `:mailer` for file path `spec/mailers` + sets the type to `:request` for file path `spec/integration` + sets the type to `:feature` for file path `spec/features` + sets the type to `:helper` for file path `spec/helpers` + sets the type to `:controller` for file path `spec/controllers` + sets the type to `:request` for file path `spec/api` + sets the type to `:request` for file path `spec/requests` + sets the type to `:model` for file path `spec/models` + sets the type to `:routing` for file path `spec/routing` -have_broadcasted_to matchers - have_broadcasted_to - raises ArgumentError when no Proc passed to expect - fails when too many messages broadcast - passes with :once count - passes when negated - passes when using alias - reports correct number in fail error message - generates failure message with at most hint - generates failure message when data not match - passes with provided data - counts only messages sent in block - throws descriptive error when no test adapter set - passes with multiple streams - passes with at_least count when sent messages are over limit - passes with at_most count when sent messages are under limit - passes with provided data matchers - fails when negated and message is sent - generates failure message with at least hint - fails when message is not sent - passes with default messages count (exactly one) - passes with :thrice count - passes with :twice count - fails with with block with incorrect data - when object is passed as first argument - when channel can't be inferred - raises exception - when channel is present - passes +RSpec::Rails + has no malformed whitespace -RSpec::Rails::RequestExampleGroup +RSpec::Rails::ModelExampleGroup behaves like an rspec-rails example group mixin adds does not add `:type` metadata on inclusion - when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :request` - for an example group defined in a file in the .\spec\integration\ directory - does not include itself in the example group - does not tag groups in that directory with `:type => :request` - for an example group defined in a file in the ./spec/integration/ directory - does not tag groups in that directory with `:type => :request` - does not include itself in the example group - for an example group defined in a file in the .\spec\requests\ directory - does not tag groups in that directory with `:type => :request` - does not include itself in the example group - for an example group defined in a file in the ./spec/requests/ directory - does not tag groups in that directory with `:type => :request` - does not include itself in the example group - for an example group defined in a file in the .\spec\api\ directory - does not tag groups in that directory with `:type => :request` - does not include itself in the example group - for an example group defined in a file in the ./spec/api/ directory - does not tag groups in that directory with `:type => :request` - does not include itself in the example group when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :request` - for an example group defined in a file in the .\spec\integration\ directory + includes itself in example groups tagged with `:type => :model` + for an example group defined in a file in the ./spec/models/ directory + applies configured `before(:context)` hooks with `:type => :model` metadata + tags groups in that directory with `:type => :model` allows users to override the type includes itself in the example group - applies configured `before(:context)` hooks with `:type => :request` metadata - tags groups in that directory with `:type => :request` - for an example group defined in a file in the ./spec/requests/ directory - allows users to override the type - applies configured `before(:context)` hooks with `:type => :request` metadata + for an example group defined in a file in the .\spec\models\ directory + tags groups in that directory with `:type => :model` + applies configured `before(:context)` hooks with `:type => :model` metadata includes itself in the example group - tags groups in that directory with `:type => :request` - for an example group defined in a file in the ./spec/api/ directory - tags groups in that directory with `:type => :request` - applies configured `before(:context)` hooks with `:type => :request` metadata allows users to override the type - includes itself in the example group - for an example group defined in a file in the .\spec\requests\ directory - includes itself in the example group - tags groups in that directory with `:type => :request` - applies configured `before(:context)` hooks with `:type => :request` metadata + when `infer_spec_type_from_file_location!` is not configured + includes itself in example groups tagged with `:type => :model` + for an example group defined in a file in the ./spec/models/ directory + does not tag groups in that directory with `:type => :model` + does not include itself in the example group + for an example group defined in a file in the .\spec\models\ directory + does not include itself in the example group + does not tag groups in that directory with `:type => :model` + +RSpec::Rails::MinitestAssertionAdapter + exposes assert_kind_of to host examples + exposes assert_instance_of to host examples + exposes refute to host examples + exposes refute_in_delta to host examples + exposes refute_instance_of to host examples + exposes assert_respond_to to host examples + exposes assert_predicate to host examples + exposes refute_kind_of to host examples + exposes refute_same to host examples + exposes assert_output to host examples + does not expose internal methods of Minitest + exposes assert_send to host examples + exposes assert_raises to host examples + exposes refute_respond_to to host examples + does not expose Minitest's message method + exposes refute_path_exists to host examples + exposes assert_in_delta to host examples + exposes refute_nil to host examples + exposes assert_throws to host examples + exposes assert_equal to host examples + exposes assert_empty to host examples + exposes assert_in_epsilon to host examples + exposes refute_operator to host examples + exposes refute_match to host examples + exposes flunk to host examples + exposes refute_includes to host examples + exposes assert_nil to host examples + exposes refute_empty to host examples + does not leak TestUnit specific methods into the AssertionDelegator + exposes refute_in_epsilon to host examples + exposes assert to host examples + exposes assert_same to host examples + exposes assert_match to host examples + exposes refute_predicate to host examples + exposes refute_equal to host examples + exposes assert_silent to host examples + exposes assert_includes to host examples + exposes assert_path_exists to host examples + exposes assert_operator to host examples + +RSpec::Rails::ViewSpecMethods + .add_extra_params_accessors_to + when accessors are already defined + does not redefine them + when accessors are not yet defined + adds them as instance methods + the added #extra_params reader + raises an error when a user tries to mutate it + .remove_extra_params_accessors_from + when accessors are defined + removes them + when accessors are not defined + does nothing + +RSpec::Rails::FeatureExampleGroup + includes Rails route helpers + #visit + is resistant to load order errors + raises an error informing about missing Capybara + behaves like an rspec-rails example group mixin + adds does not add `:type` metadata on inclusion + when `infer_spec_type_from_file_location!` is configured + includes itself in example groups tagged with `:type => :feature` + for an example group defined in a file in the .\spec\features\ directory + applies configured `before(:context)` hooks with `:type => :feature` metadata allows users to override the type - for an example group defined in a file in the ./spec/integration/ directory - tags groups in that directory with `:type => :request` + tags groups in that directory with `:type => :feature` includes itself in the example group + for an example group defined in a file in the ./spec/features/ directory allows users to override the type - applies configured `before(:context)` hooks with `:type => :request` metadata - for an example group defined in a file in the .\spec\api\ directory + applies configured `before(:context)` hooks with `:type => :feature` metadata + tags groups in that directory with `:type => :feature` includes itself in the example group - tags groups in that directory with `:type => :request` - allows users to override the type - applies configured `before(:context)` hooks with `:type => :request` metadata - -be_valid matcher - includes the error messages for simple implementations of error messages - includes the validation context if provided - includes a brief error message when error message is wrong arity - includes a brief error message for the simplest implementation of validity - includes a failure message for the negative case - includes the error messages in the failure message - does not include the validation context if not provided - uses a custom failure message if provided - -redirect_to - with should_not - when assert_redirected_to fails - passes - when fails due to some other exception - raises that exception - when assert_redirected_to passes - fails with custom failure message - with should - when assert_redirected_to fails - uses failure message from assert_redirected_to - when fails due to some other exception - raises that exception - when assert_redirected_to passes - passes + when `infer_spec_type_from_file_location!` is not configured + includes itself in example groups tagged with `:type => :feature` + for an example group defined in a file in the .\spec\features\ directory + does not include itself in the example group + does not tag groups in that directory with `:type => :feature` + for an example group defined in a file in the ./spec/features/ directory + does not tag groups in that directory with `:type => :feature` + does not include itself in the example group + when nested inside a request example group + includes Rails route helpers RSpec::Rails::ControllerExampleGroup includes routing matchers - in a namespace - sets up resourceful routes on the example (PENDING: Not yet implemented) - controller name - sets the name as 'AnonymousController' if the controller is abstract - sets the name according to the defined controller namespace if it is not anonymous - with inferred anonymous controller - defaults to inferring anonymous controller class - when infer_base_class_for_anonymous_controllers is true - infers the anonymous controller class when no ApplicationController is present - infers the anonymous controller class - when infer_base_class_for_anonymous_controllers is false - sets the anonymous controller class to ApplicationController - sets the anonymous controller class to ActiveController::Base when no ApplicationController is present behaves like an rspec-rails example group mixin adds does not add `:type` metadata on inclusion when `infer_spec_type_from_file_location!` is not configured includes itself in example groups tagged with `:type => :controller` - for an example group defined in a file in the .\spec\controllers\ directory - does not include itself in the example group - does not tag groups in that directory with `:type => :controller` for an example group defined in a file in the ./spec/controllers/ directory does not tag groups in that directory with `:type => :controller` does not include itself in the example group + for an example group defined in a file in the .\spec\controllers\ directory + does not include itself in the example group + does not tag groups in that directory with `:type => :controller` when `infer_spec_type_from_file_location!` is configured includes itself in example groups tagged with `:type => :controller` for an example group defined in a file in the ./spec/controllers/ directory + tags groups in that directory with `:type => :controller` allows users to override the type - includes itself in the example group applies configured `before(:context)` hooks with `:type => :controller` metadata - tags groups in that directory with `:type => :controller` + includes itself in the example group for an example group defined in a file in the .\spec\controllers\ directory applies configured `before(:context)` hooks with `:type => :controller` metadata - tags groups in that directory with `:type => :controller` allows users to override the type + tags groups in that directory with `:type => :controller` includes itself in the example group controller name sets name as AnonymousController if it inherits outer group's anonymous controller - sets name as AnonymousController if defined as ApplicationController - sets the name according to defined controller if it is not anonymous sets name as AnonymousController if the controller is abstract + sets the name according to defined controller if it is not anonymous + sets name as AnonymousController if defined as ApplicationController sets the name as AnonymousController if it's anonymous + in a namespace + sets up resourceful routes on the example (PENDING: Not yet implemented) + controller name + sets the name as 'AnonymousController' if the controller is abstract + sets the name according to the defined controller namespace if it is not anonymous + with explicit subject + uses the specified subject instead of the controller with implicit subject - doesn't cause let definition priority to be changed uses the controller as the subject + doesn't cause let definition priority to be changed #controller - delegates named route helpers to the underlying controller calls NamedRouteCollection#route_defined? when it checks that given route is defined or not + delegates named route helpers to the underlying controller #bypass_rescue overrides the rescue_with_handler method on the controller to raise submitted error - with explicit subject - uses the specified subject instead of the controller - -RSpec::Rails::JobExampleGroup - behaves like an rspec-rails example group mixin - adds does not add `:type` metadata on inclusion - when `infer_spec_type_from_file_location!` is not configured - includes itself in example groups tagged with `:type => :job` - for an example group defined in a file in the .\spec\jobs\ directory - does not include itself in the example group - does not tag groups in that directory with `:type => :job` - for an example group defined in a file in the ./spec/jobs/ directory - does not tag groups in that directory with `:type => :job` - does not include itself in the example group - when `infer_spec_type_from_file_location!` is configured - includes itself in example groups tagged with `:type => :job` - for an example group defined in a file in the .\spec\jobs\ directory - applies configured `before(:context)` hooks with `:type => :job` metadata - includes itself in the example group - tags groups in that directory with `:type => :job` - allows users to override the type - for an example group defined in a file in the ./spec/jobs/ directory - applies configured `before(:context)` hooks with `:type => :job` metadata - allows users to override the type - tags groups in that directory with `:type => :job` - includes itself in the example group - -render_template - given a hash - delegates to assert_template - with should_not - when fails due to some other exception - raises that exception - when assert_template passes - fails with custom failure message - when assert_template fails - passes - when fails with a redirect - gives informative error message - with a badly formatted error message - falls back to something informative - with should - when assert_template passes - passes - when fails due to some other exception - raises that exception - when assert_template fails - uses failure message from assert_template - given a symbol - converts to_s and delegates to assert_template - given a string - delegates to assert_template - -ActiveModel support - with partial double verification enabled - allows you to stub `ActiveModel` - allows you to stub instances of `ActiveModel` - with partial double verification disabled - allows you to stub `ActiveModel` - allows you to stub instances of `ActiveModel` - -be_routable - provides a description - with should_not - passes if routes do not recognize the path - fails if routes recognize the path - with should - passes if routes recognize the path - fails if routes do not recognize the path - -RSpec::Rails::AssertionDelegator - provides a module that delegates assertion methods to an isolated class - delegates back to the including instance for methods the assertion module requires - does not delegate method_missing - -route_to - provides a description - delegates to assert_recognizes - uses failure message from assert_recognizes - with should - when assert_recognizes fails with a routing error - fails with message from assert_recognizes - when assert_recognizes fails with an assertion failure - fails with message from assert_recognizes - when assert_recognizes passes - passes - when an exception is raised - raises that exception - with should_not - when assert_recognizes fails with an assertion failure - passes - when assert_recognizes fails with a routing error - passes - when assert_recognizes passes - fails with custom message - when an exception is raised - raises that exception - with shortcut syntax - routes with extra options - routes with multiple query parameters - routes with one query parameter - routes with nested query parameters - routes without extra options - -ActiveRecord support - with partial double verification disabled - allows you to stub `ActiveRecord::Base` - allows you to stub abstract classes - with partial double verification enabled - allows you to stub abstract classes - allows you to stub `ActiveRecord::Base` - -RSpec::Rails::MinitestLifecycleAdapter - invokes minitest lifecycle hooks at the appropriate times - allows let variables named 'send' - -HaveEnqueuedMail matchers - have_enqueued_mail - passes when given 0 arguments - passes when negated - passes for mailer methods that accept arguments when the provided argument matcher is not used - passes when using the have_enqueued_email alias - fails when negated and mail is enqueued - passes when using the enqueue_email alias - generates a failure message with at most hint - counts only emails enqueued in the block - matches based on mailer class and method name - passes when deliver_later is called with a wait_until argument - passes with at_most when enqueued emails are under the limit - fails when too many emails are enqueued - generates a failure message when given 0 argument - passes with provided argument matchers - passes for mailer methods with default arguments - passes when negated with 0 arguments - generates a failure message - generates a failure message with at - passes with :twice count - throws descriptive error when no test adapter set - passes when a mailer method is called with deliver_later - passes multiple arguments to with block - generates a failure message with on_queue - passes with multiple emails - accepts composable matchers as an at date - passes when only given mailer argument - generates a failure message when given only mailer argument - fails with with block with incorrect data - ensure that the right mailer is enqueued - passes when deliver_later is called with a queue argument - generates a failure message with at least hint - generates a failure message with arguments - passes with :thrice count - passes when using the enqueue_mail alias - passes with at_least when enqueued emails are over the limit - generates a failure message with unmatching enqueued mail jobs - only calls with block if other conditions are met - passes when negated with only mailer arguments - passes with :once count - when parameterized - passes when mixing parameterized and non-parameterized emails - passes with provided argument matchers - passes when mailer is parameterized - mailer job is unified - passes when mailer is parameterized - passes with provided argument matchers - passes when using a mailer with `delivery_job` set to a sub class of `ActionMailer::DeliveryJob` - passes when mixing parameterized and non-parameterized emails - -have_stream matchers - have_stream_for - passes - raises ArgumentError when no subscription passed to expect - fails with message - raises when no subscription started - with negated form - fails with message - passes - have_streams - raises when no subscription started - does not allow usage - with negated form - raises ArgumentError when no subscription passed to expect - fails with message - passes with negated form - raises when no subscription started - have_stream_from - fails with message - passes - raises ArgumentError when no subscription passed to expect - raises when no subscription started - with negated form - fails with message - passes - with composable matcher - fails with message - passes + with inferred anonymous controller + defaults to inferring anonymous controller class + when infer_base_class_for_anonymous_controllers is true + infers the anonymous controller class + infers the anonymous controller class when no ApplicationController is present + when infer_base_class_for_anonymous_controllers is false + sets the anonymous controller class to ApplicationController + sets the anonymous controller class to ActiveController::Base when no ApplicationController is present -be_a_new matcher - existing record - right class - fails - wrong class - fails - new record - right class - passes - wrong class - fails - #with - wrong class and existing record - all attributes same - fails - one attribute value not the same - fails - no attributes same - fails - right class and new record - no attributes same - fails - one attribute same - passes - one attribute value not the same - fails - all attributes same - passes - with composable matchers - two attributes are composable matchers - both matchers present in actual - passes - only one matcher present in actual - fails - one attribute is a composable matcher - passes - fails - matcher is wrong type - fails +RSpec::Rails::ViewRendering + default + ActionController::Base + does not render views in a nested group + does not render views + ActionController::Metal + renders views + #render_views + propogates to examples in nested groups properly + in a nested group + overrides the value inherited from the parent group + leaves the parent group as/is + passes override to children + with no args + tells examples to render views + with false + tells examples not to render views + with true + tells examples to render views + with no args + tells examples to render views + with false + tells examples not to render views + overrides the global config if render_views is enabled there + with true + tells examples to render views + when render_views? is false + supports manipulating view paths with arrays + supports manipulating view paths + supports manipulating view paths with resolvers + with empty template resolver + works with strings + works with custom resolvers Pending: (Failures listed here are expected and do not affect your suite's status) @@ -2579,10 +2650,10 @@ # Not yet implemented # ./spec/rspec/rails/example/controller_example_group_spec.rb:209 -Finished in 4.53 seconds (files took 5.53 seconds to load) +Finished in 5.48 seconds (files took 6.45 seconds to load) 761 examples, 0 failures, 3 pending -Randomized with seed 53883 +Randomized with seed 20489 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -2616,12 +2687,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/22077/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/22077/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/14100 and its subdirectories -I: Current time: Fri Sep 16 17:36:18 -12 2022 -I: pbuilder-time-stamp: 1663392978 +I: removing directory /srv/workspace/pbuilder/22077 and its subdirectories +I: Current time: Sun Aug 15 13:15:06 +14 2021 +I: pbuilder-time-stamp: 1628982906