Diff of the two buildlogs: -- --- b1/build.log 2023-04-12 15:05:17.270639508 +0000 +++ b2/build.log 2023-04-12 15:08:38.977860023 +0000 @@ -1,9 +1,6 @@ -W: cgroups are not available on the host, not using them. -unshare: unshare failed: Cannot allocate memory -W: pbuilder: unshare CLONE_NEWNET not available -I: pbuilder: network access is available during build! -I: Current time: Wed Apr 12 03:01:35 -12 2023 -I: pbuilder-time-stamp: 1681311695 +I: pbuilder: network access will be disabled during build +I: Current time: Wed May 15 11:30:18 +14 2024 +I: pbuilder-time-stamp: 1715722218 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration @@ -20,7 +17,7 @@ I: copying [./ruby-dalli_3.0.6.orig.tar.gz] I: copying [./ruby-dalli_3.0.6-1.1.debian.tar.xz] I: Extracting source -gpgv: Signature made Sat Oct 15 01:58:23 2022 -12 +gpgv: Signature made Sun Oct 16 03:58:23 2022 +14 gpgv: using RSA key 3AFA757FAC6EA11D2FF45DF088D24287A2D898B1 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./ruby-dalli_3.0.6-1.1.dsc: no acceptable signature found @@ -35,136 +32,146 @@ dpkg-source: info: applying 0001-Adding-Ruby-3.1-to-CI-workflow-886.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/12824/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/77289/tmp/hooks/D01_modify_environment starting +debug: Running on ionos6-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +lrwxrwxrwx 1 root root 4 Jan 6 2023 /bin/sh -> dash +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/77289/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/77289/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' + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME='pbuilder2' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=8' + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=15' DISTRIBUTION='bookworm' HOME='/root' HOST_ARCH='i386' IFS=' ' + INVOCATION_ID='d24ba6f82942421b98862c1f2fd5d896' LANG='C' - LANGUAGE='en_US:en' + LANGUAGE='de_CH:de' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' MAIL='/var/mail/root' OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' + 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' - PPID='12824' + PPID='77289' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.T4ExgBvC/pbuilderrc_49Xz --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.T4ExgBvC/b1 --logfile b1/build.log ruby-dalli_3.0.6-1.1.dsc' + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.T4ExgBvC/pbuilderrc_Ms1U --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.T4ExgBvC/b2 --logfile b2/build.log --extrapackages usrmerge ruby-dalli_3.0.6-1.1.dsc' SUDO_GID='112' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' + TZ='/usr/share/zoneinfo/Etc/GMT-14' USER='root' - _='/usr/sbin/chroot' - http_proxy='http://78.137.99.97:3128' + _='/usr/bin/systemd-run' + http_proxy='http://85.184.249.68:3128' I: uname -a - Linux ionos12-i386 5.10.0-21-686-pae #1 SMP Debian 5.10.162-1 (2023-01-21) i686 GNU/Linux + Linux i-capture-the-hostname 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux I: ls -l /bin total 6040 - -rwxr-xr-x 1 root root 1408088 Feb 12 08:21 bash - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bunzip2 - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bzcat - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Sep 18 2022 bzdiff - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4893 Nov 27 2021 bzexe - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Sep 18 2022 bzgrep - -rwxr-xr-x 3 root root 38404 Sep 18 2022 bzip2 - -rwxr-xr-x 1 root root 17892 Sep 18 2022 bzip2recover - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Sep 18 2022 bzmore - -rwxr-xr-x 1 root root 42920 Sep 20 2022 cat - -rwxr-xr-x 1 root root 79816 Sep 20 2022 chgrp - -rwxr-xr-x 1 root root 67496 Sep 20 2022 chmod - -rwxr-xr-x 1 root root 79816 Sep 20 2022 chown - -rwxr-xr-x 1 root root 162024 Sep 20 2022 cp - -rwxr-xr-x 1 root root 136916 Jan 5 01:20 dash - -rwxr-xr-x 1 root root 137160 Sep 20 2022 date - -rwxr-xr-x 1 root root 100364 Sep 20 2022 dd - -rwxr-xr-x 1 root root 108940 Sep 20 2022 df - -rwxr-xr-x 1 root root 162152 Sep 20 2022 dir - -rwxr-xr-x 1 root root 87760 Mar 22 22:20 dmesg - lrwxrwxrwx 1 root root 8 Dec 19 01:33 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Dec 19 01:33 domainname -> hostname - -rwxr-xr-x 1 root root 38760 Sep 20 2022 echo - -rwxr-xr-x 1 root root 41 Jan 24 02:43 egrep - -rwxr-xr-x 1 root root 34664 Sep 20 2022 false - -rwxr-xr-x 1 root root 41 Jan 24 02:43 fgrep - -rwxr-xr-x 1 root root 84272 Mar 22 22:20 findmnt - -rwsr-xr-x 1 root root 30240 Mar 22 20:38 fusermount - -rwxr-xr-x 1 root root 218680 Jan 24 02:43 grep - -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip - -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe - -rwxr-xr-x 1 root root 100952 Apr 9 2022 gzip - -rwxr-xr-x 1 root root 21916 Dec 19 01:33 hostname - -rwxr-xr-x 1 root root 75756 Sep 20 2022 ln - -rwxr-xr-x 1 root root 55600 Mar 22 23:43 login - -rwxr-xr-x 1 root root 162152 Sep 20 2022 ls - -rwxr-xr-x 1 root root 214568 Mar 22 22:20 lsblk - -rwxr-xr-x 1 root root 96328 Sep 20 2022 mkdir - -rwxr-xr-x 1 root root 84008 Sep 20 2022 mknod - -rwxr-xr-x 1 root root 38792 Sep 20 2022 mktemp - -rwxr-xr-x 1 root root 63016 Mar 22 22:20 more - -rwsr-xr-x 1 root root 58912 Mar 22 22:20 mount - -rwxr-xr-x 1 root root 13856 Mar 22 22:20 mountpoint - -rwxr-xr-x 1 root root 157932 Sep 20 2022 mv - lrwxrwxrwx 1 root root 8 Dec 19 01:33 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Dec 18 05:00 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 38792 Sep 20 2022 pwd - lrwxrwxrwx 1 root root 4 Feb 12 08:21 rbash -> bash - -rwxr-xr-x 1 root root 51080 Sep 20 2022 readlink - -rwxr-xr-x 1 root root 75720 Sep 20 2022 rm - -rwxr-xr-x 1 root root 51080 Sep 20 2022 rmdir - -rwxr-xr-x 1 root root 22308 Nov 2 04:31 run-parts - -rwxr-xr-x 1 root root 133224 Jan 5 07:55 sed - lrwxrwxrwx 1 root root 4 Jan 5 01:20 sh -> dash - -rwxr-xr-x 1 root root 38760 Sep 20 2022 sleep - -rwxr-xr-x 1 root root 87976 Sep 20 2022 stty - -rwsr-xr-x 1 root root 83492 Mar 22 22:20 su - -rwxr-xr-x 1 root root 38792 Sep 20 2022 sync - -rwxr-xr-x 1 root root 602584 Feb 16 2021 tar - -rwxr-xr-x 1 root root 13860 Nov 2 04:31 tempfile - -rwxr-xr-x 1 root root 120776 Sep 20 2022 touch - -rwxr-xr-x 1 root root 34664 Sep 20 2022 true - -rwxr-xr-x 1 root root 17892 Mar 22 20:38 ulockmgr_server - -rwsr-xr-x 1 root root 30236 Mar 22 22:20 umount - -rwxr-xr-x 1 root root 38760 Sep 20 2022 uname - -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress - -rwxr-xr-x 1 root root 162152 Sep 20 2022 vdir - -rwxr-xr-x 1 root root 71216 Mar 22 22:20 wdctl - lrwxrwxrwx 1 root root 8 Dec 19 01:33 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat - -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp - -rwxr-xr-x 1 root root 6460 Apr 9 2022 zdiff - -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep - -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep - -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce - -rwxr-xr-x 1 root root 8103 Apr 9 2022 zgrep - -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless - -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore - -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew -I: user script /srv/workspace/pbuilder/12824/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1408088 Feb 13 2023 bash + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bunzip2 + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bzcat + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Sep 19 2022 bzdiff + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4893 Nov 28 2021 bzexe + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Sep 19 2022 bzgrep + -rwxr-xr-x 3 root root 38404 Sep 19 2022 bzip2 + -rwxr-xr-x 1 root root 17892 Sep 19 2022 bzip2recover + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Sep 19 2022 bzmore + -rwxr-xr-x 1 root root 42920 Sep 21 2022 cat + -rwxr-xr-x 1 root root 79816 Sep 21 2022 chgrp + -rwxr-xr-x 1 root root 67496 Sep 21 2022 chmod + -rwxr-xr-x 1 root root 79816 Sep 21 2022 chown + -rwxr-xr-x 1 root root 162024 Sep 21 2022 cp + -rwxr-xr-x 1 root root 136916 Jan 6 2023 dash + -rwxr-xr-x 1 root root 137160 Sep 21 2022 date + -rwxr-xr-x 1 root root 100364 Sep 21 2022 dd + -rwxr-xr-x 1 root root 108940 Sep 21 2022 df + -rwxr-xr-x 1 root root 162152 Sep 21 2022 dir + -rwxr-xr-x 1 root root 87760 Mar 24 2023 dmesg + lrwxrwxrwx 1 root root 8 Dec 20 2022 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Dec 20 2022 domainname -> hostname + -rwxr-xr-x 1 root root 38760 Sep 21 2022 echo + -rwxr-xr-x 1 root root 41 Jan 25 2023 egrep + -rwxr-xr-x 1 root root 34664 Sep 21 2022 false + -rwxr-xr-x 1 root root 41 Jan 25 2023 fgrep + -rwxr-xr-x 1 root root 84272 Mar 24 2023 findmnt + -rwsr-xr-x 1 root root 30240 Mar 23 2023 fusermount + -rwxr-xr-x 1 root root 218680 Jan 25 2023 grep + -rwxr-xr-x 2 root root 2346 Apr 10 2022 gunzip + -rwxr-xr-x 1 root root 6447 Apr 10 2022 gzexe + -rwxr-xr-x 1 root root 100952 Apr 10 2022 gzip + -rwxr-xr-x 1 root root 21916 Dec 20 2022 hostname + -rwxr-xr-x 1 root root 75756 Sep 21 2022 ln + -rwxr-xr-x 1 root root 55600 Mar 24 2023 login + -rwxr-xr-x 1 root root 162152 Sep 21 2022 ls + -rwxr-xr-x 1 root root 214568 Mar 24 2023 lsblk + -rwxr-xr-x 1 root root 96328 Sep 21 2022 mkdir + -rwxr-xr-x 1 root root 84008 Sep 21 2022 mknod + -rwxr-xr-x 1 root root 38792 Sep 21 2022 mktemp + -rwxr-xr-x 1 root root 63016 Mar 24 2023 more + -rwsr-xr-x 1 root root 58912 Mar 24 2023 mount + -rwxr-xr-x 1 root root 13856 Mar 24 2023 mountpoint + -rwxr-xr-x 1 root root 157932 Sep 21 2022 mv + lrwxrwxrwx 1 root root 8 Dec 20 2022 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Dec 19 2022 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 38792 Sep 21 2022 pwd + lrwxrwxrwx 1 root root 4 Feb 13 2023 rbash -> bash + -rwxr-xr-x 1 root root 51080 Sep 21 2022 readlink + -rwxr-xr-x 1 root root 75720 Sep 21 2022 rm + -rwxr-xr-x 1 root root 51080 Sep 21 2022 rmdir + -rwxr-xr-x 1 root root 22308 Nov 3 2022 run-parts + -rwxr-xr-x 1 root root 133224 Jan 6 2023 sed + lrwxrwxrwx 1 root root 4 Jan 6 2023 sh -> dash + -rwxr-xr-x 1 root root 38760 Sep 21 2022 sleep + -rwxr-xr-x 1 root root 87976 Sep 21 2022 stty + -rwsr-xr-x 1 root root 83492 Mar 24 2023 su + -rwxr-xr-x 1 root root 38792 Sep 21 2022 sync + -rwxr-xr-x 1 root root 602584 Feb 17 2021 tar + -rwxr-xr-x 1 root root 13860 Nov 3 2022 tempfile + -rwxr-xr-x 1 root root 120776 Sep 21 2022 touch + -rwxr-xr-x 1 root root 34664 Sep 21 2022 true + -rwxr-xr-x 1 root root 17892 Mar 23 2023 ulockmgr_server + -rwsr-xr-x 1 root root 30236 Mar 24 2023 umount + -rwxr-xr-x 1 root root 38760 Sep 21 2022 uname + -rwxr-xr-x 2 root root 2346 Apr 10 2022 uncompress + -rwxr-xr-x 1 root root 162152 Sep 21 2022 vdir + -rwxr-xr-x 1 root root 71216 Mar 24 2023 wdctl + lrwxrwxrwx 1 root root 8 Dec 20 2022 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Apr 10 2022 zcat + -rwxr-xr-x 1 root root 1678 Apr 10 2022 zcmp + -rwxr-xr-x 1 root root 6460 Apr 10 2022 zdiff + -rwxr-xr-x 1 root root 29 Apr 10 2022 zegrep + -rwxr-xr-x 1 root root 29 Apr 10 2022 zfgrep + -rwxr-xr-x 1 root root 2081 Apr 10 2022 zforce + -rwxr-xr-x 1 root root 8103 Apr 10 2022 zgrep + -rwxr-xr-x 1 root root 2206 Apr 10 2022 zless + -rwxr-xr-x 1 root root 1842 Apr 10 2022 zmore + -rwxr-xr-x 1 root root 4577 Apr 10 2022 znew +I: user script /srv/workspace/pbuilder/77289/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -396,7 +403,7 @@ Get: 182 http://deb.debian.org/debian bookworm/main i386 ruby-rails all 2:6.1.7.3+dfsg-1 [25.6 kB] Get: 183 http://deb.debian.org/debian bookworm/main i386 ruby-simplecov-html all 0.12.3-2 [468 kB] Get: 184 http://deb.debian.org/debian bookworm/main i386 ruby-simplecov all 0.22.0-1 [45.1 kB] -Fetched 55.4 MB in 3s (17.2 MB/s) +Fetched 55.4 MB in 1s (77.7 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package fonts-lato. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19604 files and directories currently installed.) @@ -1158,8 +1165,19 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +usrmerge is already the newest version (35). +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/ruby-dalli-3.0.6/ && 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-dalli_3.0.6-1.1_source.changes +I: user script /srv/workspace/pbuilder/77289/tmp/hooks/A99_set_merged_usr starting +Re-configuring usrmerge... +removed '/etc/unsupported-skip-usrmerge-conversion' +The system has been successfully converted. +I: user script /srv/workspace/pbuilder/77289/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/ruby-dalli-3.0.6/ && 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-dalli_3.0.6-1.1_source.changes dpkg-buildpackage: info: source package ruby-dalli dpkg-buildpackage: info: source version 3.0.6-1.1 dpkg-buildpackage: info: source distribution unstable @@ -1188,7 +1206,7 @@ dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-dalli/ -O--buildsystem=ruby dh_ruby --install /build/ruby-dalli-3.0.6/debian/ruby-dalli -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20230412-22393-2xzfjq/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240515-82797-unwp7p/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: description and summary are identical WARNING: open-ended dependency on connection_pool (>= 0, development) is not recommended @@ -1208,7 +1226,7 @@ Name: dalli Version: 3.0.6 File: dalli-3.0.6.gem -/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-dalli/usr/share/rubygems-integration/all /tmp/d20230412-22393-2xzfjq/dalli-3.0.6.gem +/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-dalli/usr/share/rubygems-integration/all /tmp/d20240515-82797-unwp7p/dalli-3.0.6.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/ruby-dalli-3.0.6/debian/ruby-dalli/usr/share/rubygems-integration/all/gems/dalli-3.0.6/lib/dalli.rb /build/ruby-dalli-3.0.6/debian/ruby-dalli/usr/share/rubygems-integration/all/gems/dalli-3.0.6/lib/dalli/cas/client.rb @@ -1261,263 +1279,263 @@ RUBYLIB=. GEM_PATH=/build/ruby-dalli-3.0.6/debian/ruby-dalli/usr/share/rubygems-integration/all:/build/ruby-dalli-3.0.6/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/i386-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/i386-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -S rake -f debian/ruby-tests.rake /usr/bin/ruby3.1 -w -I"test" /usr/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb "test/protocol/test_server_config_parser.rb" "test/protocol/test_ttl_sanitizer.rb" "test/protocol/test_value_compressor.rb" "test/protocol/test_value_marshaller.rb" "test/protocol/test_value_serializer.rb" "test/test_binary_protocol.rb" "test/test_cas_client.rb" "test/test_compressor.rb" "test/test_dalli.rb" "test/test_encoding.rb" "test/test_failover.rb" "test/test_key_manager.rb" "test/test_network.rb" "test/test_rack_session.rb" "test/test_ring.rb" "test/test_sasl.rb" "test/test_serializer.rb" "test/test_servers_arg_normalizer.rb" -v -Run options: -v --seed 35447 +Run options: -v --seed 62942 # Running: -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is not specified::when the compressed, serialized value is above the value_max_bytes size#test_0001_raises an error with the expected message = 1.70 s = . -Network::assuming a bad network::with a fake server#test_0002_handle connection reset with unix socket = 0.41 s = . -Network::assuming a bad network::with a fake server#test_0005_handle read timeouts = 1.03 s = . -Network::assuming a bad network::with a fake server#test_0001_handle connection reset = 0.41 s = . -Network::assuming a bad network::with a fake server#test_0003_handle malformed response = 0.42 s = . -Network::assuming a bad network::with a fake server#test_0004_handle connect timeouts = 1.44 s = . -Dalli::Protocol::TtlSanitizer::sanitize::when the argument is a string::when the value is more than 30 days in seconds, but less than the current timestamp#test_0001_converts to a future timestamp = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an ArgumentError for marshal data too short#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . +KeyManager::options::digest_class::when there is an explicit digest_class parameter provided::and the class implements hexdigest#test_0001_uses the specified argument = 0.00 s = . +KeyManager::validate_key::when there is no namespace::when the key is shorter than 250 characters#test_0001_returns the key = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is a memcached URI::when the URI is properly formed and includes all values::when the client options are not empty#test_0001_parses correctly = 0.00 s = . +KeyManager::validate_key::when there is a namespace::when the key with namespace is longer than 250 characters::when there is no digest_class parameter#test_0001_returns the truncated key = 0.00 s = . Found memcached 1.6.18 in PATH GzipCompressor#test_0001_compress and uncompress data using Zlib::GzipWriter/Reader = 1.02 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to false::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueSerializer::store::when the request options value for the :raw key is true#test_0001_does not call the serializer and just converts the input value to a string = 0.00 s = . -Compressor#test_0001_default to Dalli::Compressor = 1.01 s = . -Compressor#test_0002_support a custom compressor = 2.01 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to true::when the request options do not specify an explicit compress option#test_0001_compresses the argument = 0.00 s = . -KeyManager::key_with_namespace::without namespace#test_0001_returns the argument = 0.00 s = . -Dalli::Protocol::ValueSerializer::options::serializer::when the serializer option is explicitly specified#test_0001_uses the explicit option = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to true::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . -Dalli::using a live server#test_0027_handle namespaced keys in multi_get = 0.14 s = . -Dalli::using a live server#test_0010_support the cas! operation = 0.01 s = . -Dalli::using a live server#test_0028_handle special Regexp characters in namespace with get_multi = 0.01 s = . -Dalli::using a live server#test_0024_handle namespaced keys = 0.02 s = . -Dalli::using a live server#test_0001_support get/set = 0.22 s = . -Dalli::using a live server#test_0019_support version operation = 0.01 s = . -Dalli::using a live server#test_0005_support stats = 0.05 s = . -Dalli::using a live server#test_0009_support the cas operation = 0.01 s = . -Dalli::using a live server#test_0016_supports replace operation = 0.02 s = . -Dalli::using a live server#test_0023_support multithreaded access = 3.43 s = . -Dalli::using a live server#test_0029_handle application marshalling issues = 0.01 s = . -Dalli::using a live server#test_0006_support the fetch operation = 0.01 s = . -Dalli::using a live server#test_0022_pass a simple smoke test on unix socket = 0.11 s = . -Dalli::using a live server#test_0015_support the append and prepend operations = 0.01 s = . -Dalli::using a live server#test_0013_support raw incr/decr = 0.01 s = . -Dalli::using a live server#test_0011_supports multi-get = 0.11 s = . -Dalli::using a live server#test_0012_does not corrupt multiget with errors = 0.01 s = . -Dalli::using a live server#test_0008_support the fetch operation with nil values when cache_nils: true = 0.01 s = . -Dalli::using a live server#test_0003_returns nil for nonexist key = 0.00 s = . -Dalli::using a live server#test_0018_support gat operation = 0.01 s = . -Dalli::using a live server#test_0030_supports the with method = 0.01 s = . -Dalli::using a live server#test_0021_pass a simple smoke test = 0.01 s = . -Dalli::using a live server#test_0007_support the fetch operation with falsey values = 0.01 s = . -Dalli::using a live server#test_0020_allow TCP connections to be configured for keepalive = 0.01 s = . -Dalli::using a live server#test_0017_support touch operation = 0.01 s = . -Dalli::using a live server#test_0025_handle nil namespace = 0.01 s = . -Dalli::using a live server#test_0004_allows "Not found" as value = 0.03 s = . -Dalli::using a live server#test_0026_truncate cache keys that are too long = 0.01 s = . -Dalli::using a live server#test_0002_supports delete = 0.01 s = . -Dalli::using a live server#test_0014_support incr/decr operations = 0.02 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is a memcached URI::when the URI is properly formed and includes all values::when the client options are empty#test_0001_parses correctly = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is customized::when the raw option is not specified::when the serialized value is below the value_max_bytes size and min compression size#test_0001_return the expected value and flags = 0.00 s = . -Dalli::Protocol::ValueCompressor::options::compressor::when the compressor option is unspecified#test_0001_defaults to Dalli::Compressor = 0.00 s = . -Dalli::Protocol::ValueSerializer::store::when serialization raises an Error that is not a TimeoutError#test_0001_translates that into a MarshalError = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to true::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . -KeyManager::key_without_namespace::with namespace::when the argument includes the namespace in a position other than the start#test_0001_returns the argument = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an ArgumentError with a non-matching message#test_0001_re-raises ArgumentError = 0.00 s = . -Ring::a ring of servers::containing only a single server#test_0001_raise correctly when it's not alive = 0.10 s = . -Ring::a ring of servers::containing only a single server#test_0002_return the server when it's alive = 1.01 s = . -Encoding::using a live server#test_0001_support i18n content = 0.01 s = . -Encoding::using a live server#test_0002_support content expiry = 1.21 s = . -KeyManager::options::digest_class::when there is an explicit digest_class parameter provided::and the class does not implement hexdigest#test_0001_raises an argument error = 0.00 s = . -Serializer#test_0002_support a custom serializer = 2.01 s = . -Serializer#test_0001_default to Marshal = 1.01 s = . -Dalli::Protocol::Binary::hostname parsing#test_0008_handles ipv6 addresses with port = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0011_handles a FQDN with port and weight = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0003_handles no port or weight = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0001_handles unix socket with no weight = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0005_handles a port and a weight = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0007_handles ipv6 addresses = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0009_handles ipv6 addresses with port and weight = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0006_handles ipv4 addresses = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0012_throws an exception if the hostname cannot be parsed = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0004_handles a port, but no weight = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0010_handles a FQDN = 0.00 s = . -Dalli::Protocol::Binary::hostname parsing#test_0002_handles unix socket with a weight = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is not specified::when the serialized value is below the value_max_bytes size#test_0001_return the expected value and flags = 0.00 s = . -Dalli::Protocol::ValueMarshaller::options::value_max_bytes::with a user specified value#test_0001_sets value_max_bytes to the user specified value = 0.00 s = . -Ring::a ring of servers::containing multiple servers#test_0002_return an alive server when at least one is alive = 1.02 s = . -Ring::a ring of servers::containing multiple servers#test_0001_raise correctly when no server is alive = 0.21 s = . -KeyManager::validate_key::when there is a namespace::when the key with namespace is longer than 250 characters::when there is no digest_class parameter#test_0001_returns the truncated key = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to false::when the request options specify compress as true#test_0001_compresses the argument = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is a domain name#test_0001_parses a hostname by itself = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is a domain name#test_0003_parses hostname with a port and weight = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is a domain name#test_0002_parses hostname with a port = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is customized::when the raw option is specified::when the raw compressed value is above the value_max_bytes size#test_0001_raises an error with the expected message = 0.00 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is an array of strings::when there is a single entry, with commas#test_0001_returns the servers as an array = 0.00 s = . -KeyManager::validate_key::when there is a namespace::when the key is blank, but not empty#test_0001_returns the key = 0.00 s = . -KeyManager::validate_key::when there is no namespace::when the key is longer than 250 characters::when there is no digest_class parameter#test_0001_returns the truncated key = 0.00 s = . -Dalli::Protocol::TtlSanitizer::sanitize::when the argument is a string::when the value is more than the current timestamp#test_0001_just returns the value = 0.00 s = . -Dalli::Protocol::TtlSanitizer::sanitize::when the argument is an integer::when the value is more than 30 days in seconds, but less than the current timestamp#test_0001_converts to a future timestamp = 0.00 s = . -KeyManager::key_without_namespace::with namespace::when the argument does not include the namespace#test_0001_returns the argument = 0.00 s = . -KeyManager::options::digest_class::when there is no explicit digest_class parameter provided#test_0001_uses Digest::MD5 as a default = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to false::when the request options specify compress as true#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an ArgumentError for an undefined class#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . -Dalli::Protocol::ValueSerializer::store::when the request options do not specify a value for the :raw key#test_0001_serializes the value = 0.00 s = . -KeyManager::validate_key::when there is a namespace::when the key with namespace is longer than 250 characters::when there is a custom digest_class parameter#test_0001_returns the truncated key = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to true::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueMarshaller::retrieve#test_0003_retrieves the value when the flags indicate the value is just serialized = 0.00 s = . -Dalli::Protocol::ValueMarshaller::retrieve#test_0002_retrieves the value when the flags indicate the value is just compressed = 0.00 s = . -Dalli::Protocol::ValueMarshaller::retrieve#test_0001_retrieves the value when the flags indicate the value is both compressed and serialized = 0.00 s = . -Dalli::Protocol::ValueMarshaller::retrieve#test_0004_retrieves the value when the flags indicate the value is neither compressed nor serialized = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is customized::when the raw option is specified::when the raw value is below the value_max_bytes size and min compression size#test_0001_return the expected value and flags = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to false::when the request options specify compress as true#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to false::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . Dalli::options parsing#test_0003_raises error with invalid digest_class = 0.00 s = . Dalli::options parsing#test_0002_raises error with invalid expires_in = 0.00 s = . -Dalli::options parsing#test_0005_opens a SSL TCP connection = 2.91 s = . +Dalli::options parsing#test_0004_opens a standard TCP connection = 0.11 s = . Dalli::options parsing#test_0001_not warn about valid options = 0.00 s = . -Dalli::options parsing#test_0004_opens a standard TCP connection = 0.01 s = . +Dalli::options parsing#test_0005_opens a SSL TCP connection = 2.99 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to false::when the request options specify compress as true#test_0001_compresses the argument = 0.00 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is an array with non-strings#test_0001_raises an error = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to true::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to false::when the request options specify compress as true#test_0001_compresses the argument = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a NameError with a non-matching message#test_0001_re-raises NameError = 0.01 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to false::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . +KeyManager::validate_key::when there is no namespace::when the key is blank, but not empty#test_0001_returns the key = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to false::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to true::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an TypeError for an instance of IO needed#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is nil::when the MEMCACHE_SERVERS environment is not set#test_0001_returns the expected default = 0.00 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is neither a string nor an array of strings#test_0001_raises an error = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is customized::when the raw option is specified::when the raw value is below the value_max_bytes size and min compression size#test_0001_return the expected value and flags = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is not specified::when the serialized value is below the value_max_bytes size and min compression size#test_0001_return the expected value and flags = 0.00 s = . +Dalli::Protocol::TtlSanitizer::sanitize::when the argument is an integer::when the value is more than the current timestamp#test_0001_just returns the value = 0.00 s = . +KeyManager::key_with_namespace::with namespace#test_0001_returns the argument with the namespace prepended = 0.00 s = . Dalli::Protocol::ValueCompressor::retrieve::when the bitflags do not specify compression#test_0001_should return the value without decompressing = 0.00 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is a single string::when the string is multiple comma separated entries with empty entries#test_0001_splits the string and returns an array, discarding the empty elements = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when the bitflags specify serialization#test_0001_should deserialize the value = 0.00 s = . -KeyManager::validate_key::when there is a namespace::when the key is empty#test_0001_raises an error = 0.00 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is an array of strings::when there is a single entry, with no commas#test_0001_returns the single entry as an array = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a TypeError for exception class/object expected#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the bytesize is under value_max_bytes::when the raw option is not specified::when the serialized value is above the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . KeyManager::key_without_namespace::without namespace::when the key has a colon#test_0001_returns the argument = 0.00 s = . -KeyManager::options::namespace::when there is no explicit namespace parameter provided#test_0001_the namespace is nil = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv6 address#test_0002_parses hostname with a port = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv6 address#test_0003_parses hostname with a port and weight = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv6 address#test_0001_parses a hostname by itself = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the bytesize is under value_max_bytes::when the raw option is not specified::when the value is below the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . +KeyManager::validate_key::when there is no namespace::when the key is empty#test_0001_raises an error = 0.00 s = . +failover::timeouts#test_0001_not lead to corrupt sockets = 0.12 s = . +Dalli::Protocol::ValueMarshaller::store::when the bytesize is under value_max_bytes::when the raw option is specified::when the value is below the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to true::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . +Network::assuming a bad network#test_0001_handle no server available = 0.10 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to true::when the request options do not specify an explicit compress option#test_0001_compresses the argument = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is a domain name#test_0001_parses a hostname by itself = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is a domain name#test_0002_parses hostname with a port = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is a domain name#test_0003_parses hostname with a port and weight = 0.00 s = . +KeyManager::options::namespace::when there is an explicit String provided as a namespace parameter#test_0001_the namespace is the string = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to false::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . Dalli::ServersArgNormalizer::normalize_servers::when the argument is an array of strings::when there are multiple entries#test_0001_returns the individual servers as an array = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is a memcached URI::when the URI is properly formed and includes all values::when the client options are not empty#test_0001_parses correctly = 0.00 s = . +KeyManager::options::namespace::when there is a Proc provided as a namespace parameter#test_0001_the namespace is the stringified symbol = 0.00 s = . +Dalli::Protocol::ValueMarshaller::options::value_max_bytes::by default#test_0001_sets value_max_bytes to 1MB by default = 0.00 s = . Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a TypeError for needs to have method `_load#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . -Dalli::Protocol::Binary::multi_response_nonblock#test_0002_raises NetworkError when called after multi_response_abort = 0.10 s = . +Dalli::Protocol::ValueSerializer::store::when serialization raises an Error that is not a TimeoutError#test_0001_translates that into a MarshalError = 0.00 s = . +Dalli::Protocol::TtlSanitizer::sanitize::when the argument is a string::when the value is more than 30 days in seconds, but less than the current timestamp#test_0001_converts to a future timestamp = 0.00 s = . Dalli::Protocol::Binary::multi_response_nonblock#test_0001_raises NetworkError when called before multi_response_start = 0.10 s = . -Dalli::Protocol::ServerConfigParser::parse::errors::when the string is empty#test_0001_produces an error = 0.00 s = . -Dalli::ttl validation#test_0001_generated an ArgumentError for ttl that does not support to_i = 0.01 s = . -KeyManager::validate_key::when there is no namespace::when the key is nil#test_0001_raises an error = 0.00 s = . -Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is unspecified::when the deprecated compression option is used#test_0001_overrides the default = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::errors::when the string starts with a colon#test_0001_produces an error = 0.00 s = . -Dalli::Protocol::ValueCompressor::retrieve::when the bitflags specify compression#test_0001_should decompress the value = 0.00 s = . -KeyManager::options::namespace::when there is an explicit String provided as a namespace parameter#test_0001_the namespace is the string = 0.00 s = . +Dalli::Protocol::Binary::multi_response_nonblock#test_0002_raises NetworkError when called after multi_response_abort = 0.10 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is specified::when the raw compressed value is above the value_max_bytes size#test_0001_raises an error with the expected message = 0.89 s = . Dalli::Protocol::ValueCompressor::options::compression_min_size::when the compression_min_size option is unspecified#test_0001_defaults to 4 KB = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is specified::when the value is below the value_max_bytes size and above the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . -Dalli::Cas::Client::using a live server#test_0001_supports get with CAS = 0.01 s = . -Dalli::Cas::Client::using a live server#test_0003_supports replace-with-CAS operation = 0.01 s = . -Dalli::Cas::Client::using a live server#test_0004_supports delete with CAS = 0.01 s = . -Dalli::Cas::Client::using a live server#test_0005_handles CAS round-trip operations = 0.01 s = . +Dalli::Protocol::ServerConfigParser::parse::errors::when the string ends with a colon#test_0001_produces an error = 0.00 s = . +KeyManager::key_without_namespace::with namespace::when the argument does not include the namespace#test_0001_returns the argument = 0.00 s = . +Dalli::Cas::Client::using a live server#test_0004_supports delete with CAS = 0.00 s = . +Dalli::Cas::Client::using a live server#test_0001_supports get with CAS = 0.00 s = . +Dalli::Cas::Client::using a live server#test_0005_handles CAS round-trip operations = 0.00 s = . Dalli::Cas::Client::using a live server#test_0002_supports multi-get with CAS = 0.01 s = . -Dalli#test_0001_default to localhost:11211 = 0.00 s = . -Dalli#test_0002_accept comma separated string = 0.00 s = . -Dalli#test_0003_accept array of servers = 0.00 s = . -Dalli#test_0004_raises error when servers is a Hash = 0.00 s = . -Dalli::Protocol::TtlSanitizer::sanitize::when the argument is an integer::when the value is less than 30 days in seconds#test_0001_just returns the value = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is not specified::when the serialized value is below the value_max_bytes size and min compression size#test_0001_return the expected value and flags = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to true::when the request options specify compress as true#test_0001_does not compress the argument = 0.00 s = . -KeyManager::validate_key::when there is no namespace::when the key is blank, but not empty#test_0001_returns the key = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to true::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is specified::when the raw value is below the value_max_bytes size and min compression size#test_0001_return the expected value and flags = 0.00 s = . -KeyManager::options::namespace::when there is an explicit symbol provided as a namespace parameter#test_0001_the namespace is the stringified symbol = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when using the default serializer#test_0001_properly deserializes the serialized value = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when using the default serializer#test_0002_raises UnmarshalError for non-seriaized data = 0.00 s = . +Dalli::Cas::Client::using a live server#test_0003_supports replace-with-CAS operation = 0.01 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is a single string::when the string is multiple comma separated entries#test_0001_splits the string and returns an array = 0.00 s = . +KeyManager::validate_key::when there is a namespace::when the key is nil#test_0001_raises an error = 0.00 s = . Dalli::Protocol::ValueSerializer::store::when serialization raises a TimeoutError#test_0001_reraises the Timeout::Error = 0.00 s = . -Dalli::Protocol::TtlSanitizer::sanitize::when the argument is a string::when the value is less than 30 days in seconds#test_0001_just returns the value = 0.00 s = . -KeyManager::options::namespace::when there is a Proc provided as a namespace parameter#test_0001_the namespace is the stringified symbol = 0.00 s = . -KeyManager::validate_key::when there is no namespace::when the key is shorter than 250 characters#test_0001_returns the key = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a NameError with a non-matching message#test_0001_re-raises NameError = 0.01 s = . +Dalli::Protocol::ValueMarshaller::store::when the bytesize is under value_max_bytes::when the raw option is not specified::when the value is below the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . +KeyManager::options::digest_class::when there is an explicit digest_class parameter provided::and the class does not implement hexdigest#test_0001_raises an argument error = 0.00 s = . +Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is unspecified#test_0001_defaults to true = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an ArgumentError for an undefined class#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . +KeyManager::validate_key::when there is a namespace::when the key is empty#test_0001_raises an error = 0.00 s = . +KeyManager::validate_key::when there is no namespace::when the key is longer than 250 characters::when there is no digest_class parameter#test_0001_returns the truncated key = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to true::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to false::when the request options specify compress as true#test_0001_does not compress the argument = 0.00 s = . +Dalli::ttl validation#test_0001_generated an ArgumentError for ttl that does not support to_i = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is a memcached URI::when the URI does not include a port::when the client options are empty#test_0001_parses correctly = 0.00 s = . Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv4 address#test_0001_parses a hostname by itself = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv4 address#test_0003_parses hostname with a port and weight = 0.00 s = . Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv4 address#test_0002_parses hostname with a port = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to true::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::TtlSanitizer::sanitize::when the argument is an integer::when the value is more than the current timestamp#test_0001_just returns the value = 0.00 s = . -Ring::a ring of servers#test_0002_raise when no servers are available/defined = 0.00 s = . -Ring::a ring of servers#test_0003_detect when a dead server is up again = 2.02 s = . -Ring::a ring of servers#test_0001_have the continuum sorted by value = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to true::when the request options do not specify an explicit compress option#test_0001_compresses the argument = 0.00 s = . -Network::assuming a bad network#test_0001_handle no server available = 0.10 s = . -KeyManager::key_without_namespace::without namespace::when the key has no colon#test_0001_returns the argument = 0.00 s = . -Dalli::Protocol::ValueSerializer::store::when the request options are nil#test_0001_serializes the value = 0.00 s = . -Dalli::Protocol::ValueMarshaller::options::value_max_bytes::by default#test_0001_sets value_max_bytes to 1MB by default = 0.00 s = . -KeyManager::validate_key::when there is a namespace::when the key is nil#test_0001_raises an error = 0.00 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is neither a string nor an array of strings#test_0001_raises an error = 0.00 s = . -Dalli::Protocol::ValueCompressor::options::compressor::when the compressor option is explicitly specified#test_0001_uses the explicit option = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to false::when the request options specify compress as true#test_0001_compresses the argument = 0.00 s = . -KeyManager::validate_key::when there is no namespace::when the key is longer than 250 characters::when there is a custom digest_class parameter#test_0001_returns the truncated key = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to false::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is customized::when the raw option is not specified::when the compressed, serialized value is above the value_max_bytes size#test_0001_raises an error with the expected message = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an TypeError for an instance of IO needed#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::unix#test_0001_parses a socket by itself = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::unix#test_0003_produces an error with a port and weight = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::unix#test_0002_parses socket with a weight = 0.00 s = . -failover::timeouts#test_0001_not lead to corrupt sockets = 0.12 s = . -Dalli::Protocol::ValueSerializer::store::when serialization raises an Error that is not a TimeoutError#test_0001_translates that into a MarshalError = 0.00 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is an array with non-strings#test_0001_raises an error = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to true::when the request options specify compress as true#test_0001_compresses the argument = 0.00 s = . -Dalli::key validation#test_0001_not allow blanks, but allows whitespace characters = 0.01 s = . -Dalli::key validation#test_0002_allow namespace to be a symbol = 0.01 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv4 address#test_0003_parses hostname with a port and weight = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to true::when the request options specify compress as true#test_0001_does not compress the argument = 0.00 s = . +failover::assuming some bad servers#test_0004_handle them gracefully in get_multi = 1.11 s = . +failover::assuming some bad servers#test_0002_reconnects if server idles the connection = 7.04 s = . +failover::assuming some bad servers#test_0001_silently reconnect if server hiccups = 2.02 s = . +failover::assuming some bad servers#test_0003_handle graceful failover = 1.31 s = . +failover::assuming some bad servers#test_0005_handle graceful failover in get_multi = 1.21 s = . +failover::assuming some bad servers#test_0006_stats it still properly report = 2.12 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to true::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is customized::when the raw option is specified::when the raw compressed value is above the value_max_bytes size#test_0001_raises an error with the expected message = 0.00 s = . Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to true::when the request options specify compress as true#test_0001_compresses the argument = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is specified::when the raw compressed value is above the value_max_bytes size#test_0001_raises an error with the expected message = 1.71 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to true::when the request options do not specify an explicit compress option#test_0001_compresses the argument = 0.00 s = . +Ring::a ring of servers::containing only a single server#test_0002_return the server when it's alive = 1.01 s = . +Ring::a ring of servers::containing only a single server#test_0001_raise correctly when it's not alive = 0.10 s = . +Dalli::Protocol::ServerConfigParser::parse::errors::when the string is empty#test_0001_produces an error = 0.00 s = . +Dalli::Protocol::ValueMarshaller::retrieve#test_0004_retrieves the value when the flags indicate the value is neither compressed nor serialized = 0.00 s = . +Dalli::Protocol::ValueMarshaller::retrieve#test_0001_retrieves the value when the flags indicate the value is both compressed and serialized = 0.00 s = . +Dalli::Protocol::ValueMarshaller::retrieve#test_0002_retrieves the value when the flags indicate the value is just compressed = 0.00 s = . +Dalli::Protocol::ValueMarshaller::retrieve#test_0003_retrieves the value when the flags indicate the value is just serialized = 0.00 s = . +Dalli::Protocol::ValueSerializer::options::serializer::when the serializer option is explicitly specified#test_0001_uses the explicit option = 0.00 s = . Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to false::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the bytesize is under value_max_bytes::when the raw option is not specified::when the serialized value is above the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is an array of strings::when there is a single entry, with no commas#test_0001_returns the single entry as an array = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to false::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when the bitflags specify serialization#test_0001_should deserialize the value = 0.00 s = . +Dalli::Protocol::ValueSerializer::store::when the request options are nil#test_0001_serializes the value = 0.00 s = . +Dalli::Protocol::TtlSanitizer::sanitize::when the argument is a string::when the value is less than 30 days in seconds#test_0001_just returns the value = 0.00 s = . +Dalli::Protocol::ValueCompressor::retrieve::when the bitflags specify compression#test_0001_should decompress the value = 0.00 s = . +Dalli::Protocol::ValueSerializer::store::when the request options value for the :raw key is true#test_0001_does not call the serializer and just converts the input value to a string = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to false::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . +Dalli::using a live server::with compression#test_0002_allow large values to be set = 0.01 s = . +Dalli::using a live server::with compression#test_0001_does not allow large values = 0.05 s = . +KeyManager::validate_key::when there is a namespace::when the key with namespace is shorter than 250 characters#test_0001_returns the key = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an ArgumentError with a non-matching message#test_0001_re-raises ArgumentError = 0.00 s = . +Dalli::Protocol::TtlSanitizer::sanitize::when the argument is an integer::when the value is more than 30 days in seconds, but less than the current timestamp#test_0001_converts to a future timestamp = 0.00 s = . KeyManager::key_without_namespace::with namespace::when the argument starts with the namespace#test_0001_strips the namespace = 0.00 s = . -Dalli::Protocol::ValueSerializer::options::serializer::when the serializer option is unspecified#test_0001_defaults to Marshal = 0.00 s = . -KeyManager::options::digest_class::when there is an explicit digest_class parameter provided::and the class implements hexdigest#test_0001_uses the specified argument = 0.00 s = . +Dalli::Protocol::ValueSerializer::store::when the request options do not specify a value for the :raw key#test_0001_serializes the value = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is specified::when the raw value is below the value_max_bytes size and min compression size#test_0001_return the expected value and flags = 0.00 s = . +Dalli::Protocol::ValueSerializer::store::when serialization raises an Error that is not a TimeoutError#test_0001_translates that into a MarshalError = 0.00 s = . +Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is explicitly true::when the deprecated compression option is used#test_0001_does not override the explicit compress options = 0.00 s = . Dalli::Protocol::ValueSerializer::store::when the request options value for the :raw key is false#test_0001_serializes the value = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an TypeError for an incompatible marshal file format (can't be read)#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . -Rack::Session::Dalli#test_0007_creates a new cookie = 0.12 s = . -Rack::Session::Dalli#test_0014_maintains freshness of existing sessions = 4.03 s = . -Rack::Session::Dalli#test_0018_omits cookie with :defer option but still updates the state = 0.04 s = . -Rack::Session::Dalli#test_0001_faults on no connection = 0.11 s = . -Rack::Session::Dalli#test_0004_rejects a :cache option = 0.00 s = . -Rack::Session::Dalli#test_0005_generates sids without an existing Dalli::Client = 0.00 s = . -Rack::Session::Dalli#test_0017_provides new session id with :renew option = 0.01 s = . -Rack::Session::Dalli#test_0003_passes options to MemCache = 0.00 s = . -Rack::Session::Dalli#test_0012_survives nonexistant blank cookies = 0.01 s = . -Rack::Session::Dalli#test_0008_determines session from a cookie = 0.01 s = . -Rack::Session::Dalli#test_0013_sets an expiration on new sessions = 4.03 s = . +Network::assuming a bad network::with a fake server#test_0002_handle connection reset with unix socket = 0.40 s = . +Network::assuming a bad network::with a fake server#test_0001_handle connection reset = 0.40 s = . +Network::assuming a bad network::with a fake server#test_0005_handle read timeouts = 1.02 s = . +Network::assuming a bad network::with a fake server#test_0004_handle connect timeouts = 1.43 s = . +Network::assuming a bad network::with a fake server#test_0003_handle malformed response = 0.42 s = . +Dalli#test_0002_accept comma separated string = 0.00 s = . +Dalli#test_0004_raises error when servers is a Hash = 0.00 s = . +Dalli#test_0001_default to localhost:11211 = 0.00 s = . +Dalli#test_0003_accept array of servers = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0003_handles no port or weight = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0001_handles unix socket with no weight = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0004_handles a port, but no weight = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0009_handles ipv6 addresses with port and weight = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0010_handles a FQDN = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0008_handles ipv6 addresses with port = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0002_handles unix socket with a weight = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0012_throws an exception if the hostname cannot be parsed = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0005_handles a port and a weight = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0006_handles ipv4 addresses = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0011_handles a FQDN with port and weight = 0.00 s = . +Dalli::Protocol::Binary::hostname parsing#test_0007_handles ipv6 addresses = 0.00 s = . +Ring::a ring of servers::containing multiple servers#test_0002_return an alive server when at least one is alive = 1.01 s = . +Ring::a ring of servers::containing multiple servers#test_0001_raise correctly when no server is alive = 0.20 s = . +Compressor#test_0001_default to Dalli::Compressor = 1.01 s = . +Compressor#test_0002_support a custom compressor = 2.01 s = . +KeyManager::validate_key::when there is a namespace::when the key is blank, but not empty#test_0001_returns the key = 0.00 s = . +Dalli::Protocol::TtlSanitizer::sanitize::when the argument is a string::when the value is more than the current timestamp#test_0001_just returns the value = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to false::when the request options specify compress as true#test_0001_does not compress the argument = 0.00 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is an array of strings::when there is a single entry, with commas#test_0001_returns the servers as an array = 0.00 s = . +KeyManager::validate_key::when there is no namespace::when the key is longer than 250 characters::when there is a custom digest_class parameter#test_0001_returns the truncated key = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv6 address#test_0001_parses a hostname by itself = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv6 address#test_0003_parses hostname with a port and weight = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::tcp::when the hostname is an IPv6 address#test_0002_parses hostname with a port = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the bytesize is under value_max_bytes::when the raw option is specified::when the value is above the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is a single string::when the string is a single entry#test_0001_returns the single entry as an array = 0.00 s = . +Dalli::Protocol::ValueCompressor::options::compressor::when the compressor option is explicitly specified#test_0001_uses the explicit option = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is a memcached URI::when the URI is properly formed and includes all values::when the client options are empty#test_0001_parses correctly = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a TypeError for exception class/object expected#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . +Dalli::Protocol::ValueSerializer::options::serializer::when the serializer option is unspecified#test_0001_defaults to Marshal = 0.00 s = . +Dalli::Protocol::ValueCompressor::retrieve::when the decompression raises a Zlib::Error#test_0001_translates that into a UnmarshalError = 0.00 s = . +Ring::a ring of servers#test_0003_detect when a dead server is up again = 2.01 s = . +Ring::a ring of servers#test_0001_have the continuum sorted by value = 0.00 s = . +Ring::a ring of servers#test_0002_raise when no servers are available/defined = 0.00 s = . +Dalli::Protocol::TtlSanitizer::sanitize::when the argument is an integer::when the value is less than 30 days in seconds#test_0001_just returns the value = 0.00 s = . +Dalli::using a live server#test_0001_support get/set = 0.31 s = . +Dalli::using a live server#test_0008_support the fetch operation with nil values when cache_nils: true = 0.01 s = . +Dalli::using a live server#test_0027_handle namespaced keys in multi_get = 0.00 s = . +Dalli::using a live server#test_0004_allows "Not found" as value = 0.00 s = . +Dalli::using a live server#test_0025_handle nil namespace = 0.00 s = . +Dalli::using a live server#test_0018_support gat operation = 0.00 s = . +Dalli::using a live server#test_0007_support the fetch operation with falsey values = 0.00 s = . +Dalli::using a live server#test_0017_support touch operation = 0.00 s = . +Dalli::using a live server#test_0026_truncate cache keys that are too long = 0.00 s = . +Dalli::using a live server#test_0019_support version operation = 0.00 s = . +Dalli::using a live server#test_0013_support raw incr/decr = 0.00 s = . +Dalli::using a live server#test_0020_allow TCP connections to be configured for keepalive = 0.00 s = . +Dalli::using a live server#test_0030_supports the with method = 0.00 s = . +Dalli::using a live server#test_0006_support the fetch operation = 0.00 s = . +Dalli::using a live server#test_0002_supports delete = 0.03 s = . +Dalli::using a live server#test_0015_support the append and prepend operations = 0.01 s = . +Dalli::using a live server#test_0021_pass a simple smoke test = 0.01 s = . +Dalli::using a live server#test_0012_does not corrupt multiget with errors = 0.01 s = . +Dalli::using a live server#test_0009_support the cas operation = 0.00 s = . +Dalli::using a live server#test_0022_pass a simple smoke test on unix socket = 0.11 s = . +Dalli::using a live server#test_0005_support stats = 0.03 s = . +Dalli::using a live server#test_0010_support the cas! operation = 0.00 s = . +Dalli::using a live server#test_0016_supports replace operation = 0.00 s = . +Dalli::using a live server#test_0023_support multithreaded access = 1.70 s = . +Dalli::using a live server#test_0011_supports multi-get = 0.06 s = . +Dalli::using a live server#test_0029_handle application marshalling issues = 0.00 s = . +Dalli::using a live server#test_0014_support incr/decr operations = 0.01 s = . +Dalli::using a live server#test_0024_handle namespaced keys = 0.00 s = . +Dalli::using a live server#test_0028_handle special Regexp characters in namespace with get_multi = 0.00 s = . +Dalli::using a live server#test_0003_returns nil for nonexist key = 0.00 s = . +Dalli::Protocol::ValueCompressor::options::compressor::when the compressor option is unspecified#test_0001_defaults to Dalli::Compressor = 0.00 s = . +Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is explicitly false#test_0001_is false = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a TypeError with a non-matching message#test_0001_re-raises TypeError = 0.00 s = . +Rack::Session::Dalli#test_0001_faults on no connection = 0.20 s = . +Rack::Session::Dalli#test_0006_upgrades to a connection pool = 0.00 s = . +Rack::Session::Dalli#test_0002_connects to existing server = 0.00 s = . Rack::Session::Dalli#test_0010_determines session from params = 0.01 s = . Rack::Session::Dalli#test_0009_determines session only from a cookie by default = 0.01 s = . -Rack::Session::Dalli#test_0015_does not send the same session id if it did not change = 0.01 s = . +Rack::Session::Dalli#test_0017_provides new session id with :renew option = 0.01 s = . +Rack::Session::Dalli#test_0018_omits cookie with :defer option but still updates the state = 0.01 s = . Rack::Session::Dalli#test_0020_updates deep hashes correctly = 0.01 s = . -Rack::Session::Dalli#test_0006_upgrades to a connection pool = 0.01 s = . -Rack::Session::Dalli#test_0011_survives nonexistant cookies = 0.01 s = . -Rack::Session::Dalli#test_0019_omits cookie and state update with :skip option = 0.01 s = . -Rack::Session::Dalli#test_0002_connects to existing server = 0.01 s = . +Rack::Session::Dalli#test_0013_sets an expiration on new sessions = 4.03 s = . Rack::Session::Dalli#test_0016_deletes cookies with :drop option = 0.01 s = . -KeyManager::validate_key::when there is a namespace::when the key with namespace is shorter than 250 characters#test_0001_returns the key = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a TypeError with a non-matching message#test_0001_re-raises TypeError = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to false::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to false::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is explicitly false#test_0001_is false = 0.00 s = . -failover::assuming some bad servers#test_0004_handle them gracefully in get_multi = 1.11 s = . -failover::assuming some bad servers#test_0006_stats it still properly report = 2.12 s = . -failover::assuming some bad servers#test_0001_silently reconnect if server hiccups = 2.02 s = . -failover::assuming some bad servers#test_0003_handle graceful failover = 1.32 s = . -failover::assuming some bad servers#test_0005_handle graceful failover in get_multi = 1.22 s = . -failover::assuming some bad servers#test_0002_reconnects if server idles the connection = 7.04 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is nil::when the MEMCACHE_SERVERS environment is set#test_0001_returns the value from the environment = 0.00 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is a single string::when the string is a single entry#test_0001_returns the single entry as an array = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to true::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is nil::when the MEMCACHE_SERVERS environment is not set#test_0001_returns the expected default = 0.00 s = . -Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is explicitly false::when the deprecated compression option is used#test_0001_does not override the explicit compress options = 0.00 s = . -Dalli::Protocol::ValueCompressor::options::compression_min_size::when the compression_min_size option is explicitly specified#test_0001_uses the explicit option = 0.00 s = . -KeyManager::key_with_namespace::with namespace#test_0001_returns the argument with the namespace prepended = 0.00 s = . -Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a NameError for an uninitialized constant#test_0001_raises UnmarshalError on uninitialized constant = 0.01 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to false::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ValueCompressor::retrieve::when the decompression raises a Zlib::Error#test_0001_translates that into a UnmarshalError = 0.00 s = . +Rack::Session::Dalli#test_0005_generates sids without an existing Dalli::Client = 0.00 s = . +Rack::Session::Dalli#test_0007_creates a new cookie = 0.00 s = . +Rack::Session::Dalli#test_0014_maintains freshness of existing sessions = 4.03 s = . +Rack::Session::Dalli#test_0019_omits cookie and state update with :skip option = 0.01 s = . +Rack::Session::Dalli#test_0015_does not send the same session id if it did not change = 0.01 s = . +Rack::Session::Dalli#test_0004_rejects a :cache option = 0.00 s = . +Rack::Session::Dalli#test_0011_survives nonexistant cookies = 0.00 s = . +Rack::Session::Dalli#test_0012_survives nonexistant blank cookies = 0.00 s = . +Rack::Session::Dalli#test_0003_passes options to MemCache = 0.00 s = . +Rack::Session::Dalli#test_0008_determines session from a cookie = 0.01 s = . Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is explicitly true#test_0001_is true = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::errors::when the string ends with a colon#test_0001_produces an error = 0.00 s = . -Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is explicitly true::when the deprecated compression option is used#test_0001_does not override the explicit compress options = 0.00 s = . -Dalli::using a live server::with compression#test_0002_allow large values to be set = 0.02 s = . -Dalli::using a live server::with compression#test_0001_does not allow large values = 0.09 s = . -Dalli::Protocol::ValueMarshaller::store::when the bytesize is under value_max_bytes::when the raw option is specified::when the value is below the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . -Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is unspecified#test_0001_defaults to true = 0.00 s = . -Dalli::ServersArgNormalizer::normalize_servers::when the argument is a single string::when the string is multiple comma separated entries#test_0001_splits the string and returns an array = 0.00 s = . -Dalli::Protocol::ValueMarshaller::store::when the bytesize is under value_max_bytes::when the raw option is specified::when the value is above the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to true::when the request options specify compress as true#test_0001_does not compress the argument = 0.00 s = . +KeyManager::options::digest_class::when there is no explicit digest_class parameter provided#test_0001_uses Digest::MD5 as a default = 0.00 s = . +KeyManager::validate_key::when there is no namespace::when the key is nil#test_0001_raises an error = 0.00 s = . +Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is explicitly false::when the deprecated compression option is used#test_0001_does not override the explicit compress options = 0.00 s = . +Serializer#test_0001_default to Marshal = 1.01 s = . +Serializer#test_0002_support a custom serializer = 2.01 s = . +Dalli::Protocol::ValueSerializer::retrieve::when using the default serializer#test_0001_properly deserializes the serialized value = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when using the default serializer#test_0002_raises UnmarshalError for non-seriaized data = 0.00 s = . +KeyManager::options::namespace::when there is no explicit namespace parameter provided#test_0001_the namespace is nil = 0.00 s = . +KeyManager::key_without_namespace::without namespace::when the key has no colon#test_0001_returns the argument = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to true::when the request options specify compress as true#test_0001_does not compress the argument = 0.00 s = . +Encoding::using a live server#test_0002_support content expiry = 1.21 s = . +Encoding::using a live server#test_0001_support i18n content = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an TypeError for an incompatible marshal file format (can't be read)#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . +Dalli::Protocol::ValueMarshaller::options::value_max_bytes::with a user specified value#test_0001_sets value_max_bytes to the user specified value = 0.00 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is nil::when the MEMCACHE_SERVERS environment is set#test_0001_returns the value from the environment = 0.00 s = . +Dalli::key validation#test_0001_not allow blanks, but allows whitespace characters = 0.00 s = . +Dalli::key validation#test_0002_allow namespace to be a symbol = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to false::when the request options specify compress as false#test_0001_does not compress the argument = 0.00 s = . Dalli::Protocol::ValueSerializer::retrieve::when the bitflags do not specify serialization#test_0001_should return the value without deserializing = 0.00 s = . -KeyManager::validate_key::when there is no namespace::when the key is empty#test_0001_raises an error = 0.00 s = . -Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is greater than the default compression_min_size::when the client-level compress option is set to false::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . -Dalli::Protocol::ServerConfigParser::parse::when the string is a memcached URI::when the URI does not include a port::when the client options are empty#test_0001_parses correctly = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is specified::when the value is below the value_max_bytes size and above the minimum compression size#test_0001_return the expected value and flags = 0.00 s = . +Dalli::Protocol::ValueCompressor::options::compress_by_default?::when the compress option is unspecified::when the deprecated compression option is used#test_0001_overrides the default = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises a NameError for an uninitialized constant#test_0001_raises UnmarshalError on uninitialized constant = 0.01 s = . +KeyManager::options::namespace::when there is an explicit symbol provided as a namespace parameter#test_0001_the namespace is the stringified symbol = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when no compression_min_size options is set::when the value size is less than the default compression_min_size::when the client-level compress option is set to false::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ValueSerializer::retrieve::when deserialization raises an ArgumentError for marshal data too short#test_0001_raises UnmarshalError on uninitialized constant = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is less than the explicit compression size::when the client-level compress option is set to true::when the request options do not specify an explicit compress option#test_0001_does not compress the argument = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::errors::when the string starts with a colon#test_0001_produces an error = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is not specified::when the serialized value is below the value_max_bytes size#test_0001_return the expected value and flags = 0.00 s = . +KeyManager::key_without_namespace::with namespace::when the argument includes the namespace in a position other than the start#test_0001_returns the argument = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is customized::when the raw option is not specified::when the serialized value is below the value_max_bytes size and min compression size#test_0001_return the expected value and flags = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::unix#test_0001_parses a socket by itself = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::unix#test_0002_parses socket with a weight = 0.00 s = . +Dalli::Protocol::ServerConfigParser::parse::when the string is not an memcached URI::unix#test_0003_produces an error with a port and weight = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is the default 1MB::when the raw option is not specified::when the compressed, serialized value is above the value_max_bytes size#test_0001_raises an error with the expected message = 0.90 s = . +KeyManager::key_with_namespace::without namespace#test_0001_returns the argument = 0.00 s = . +KeyManager::validate_key::when there is a namespace::when the key with namespace is longer than 250 characters::when there is a custom digest_class parameter#test_0001_returns the truncated key = 0.00 s = . +Dalli::ServersArgNormalizer::normalize_servers::when the argument is a single string::when the string is multiple comma separated entries with empty entries#test_0001_splits the string and returns an array, discarding the empty elements = 0.00 s = . +Dalli::Protocol::ValueCompressor::options::compression_min_size::when the compression_min_size option is explicitly specified#test_0001_uses the explicit option = 0.00 s = . +Dalli::Protocol::ValueCompressor::store::when the raw value is below the compression_min_size::when a compression_min_size options is explicitly set::when the value size is greater than the explicit compression size::when the client-level compress option is set to true::when the request options specify compress as true#test_0001_compresses the argument = 0.00 s = . +Dalli::Protocol::ValueMarshaller::store::when the value_max_bytes is customized::when the raw option is not specified::when the compressed, serialized value is above the value_max_bytes size#test_0001_raises an error with the expected message = 0.00 s = . -Finished in 50.975615s, 4.9043 runs/s, 136.6340 assertions/s. +Finished in 47.266098s, 5.2892 runs/s, 147.3572 assertions/s. 250 runs, 6965 assertions, 0 failures, 0 errors, 0 skips ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1551,12 +1569,15 @@ dpkg-source --after-build . 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/77289/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/77289/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/12824 and its subdirectories -I: Current time: Wed Apr 12 03:03:16 -12 2023 -I: pbuilder-time-stamp: 1681311796 +I: removing directory /srv/workspace/pbuilder/77289 and its subdirectories +I: Current time: Wed May 15 11:31:38 +14 2024 +I: pbuilder-time-stamp: 1715722298