Diff of the two buildlogs: -- --- b1/build.log 2025-03-21 00:15:39.337984247 +0000 +++ b2/build.log 2025-03-21 00:16:13.688434812 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Mar 20 12:14:00 -12 2025 -I: pbuilder-time-stamp: 1742516040 +I: Current time: Thu Apr 23 20:38:38 +14 2026 +I: pbuilder-time-stamp: 1776926318 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -25,54 +25,86 @@ dpkg-source: info: applying 0001-test_helper-drop-bundler-usage.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/20940/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/129710/tmp/hooks/D01_modify_environment starting +debug: Running on ionos16-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Apr 23 06:38 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/129710/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/129710/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + 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=21 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='d57218cd28d04c898b6921e5913140e8' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='20940' - PS1='# ' - PS2='> ' + INVOCATION_ID=7dadc607fc104240a7b27af2b465de13 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=129710 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.Qw1kO8No/pbuilderrc_jB20 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Qw1kO8No/b1 --logfile b1/build.log ruby-rack-cache_1.17.0-1.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Qw1kO8No/pbuilderrc_edGd --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Qw1kO8No/b2 --logfile b2/build.log ruby-rack-cache_1.17.0-1.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos2-i386 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/20940/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/129710/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -254,7 +286,7 @@ Get: 134 http://deb.debian.org/debian unstable/main i386 ruby-ruby2-keywords all 0.0.5-1 [4300 B] Get: 135 http://deb.debian.org/debian unstable/main i386 ruby-mocha all 2.4.2-2 [60.7 kB] Get: 136 http://deb.debian.org/debian unstable/main i386 ruby-rack all 3.1.12-1 [96.9 kB] -Fetched 49.4 MB in 1s (54.4 MB/s) +Fetched 49.4 MB in 0s (125 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19792 files and directories currently installed.) @@ -707,8 +739,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Mar 21 00:14:59 UTC 2025. -Universal Time is now: Fri Mar 21 00:14:59 UTC 2025. +Local time is now: Thu Apr 23 06:38:58 UTC 2026. +Universal Time is now: Thu Apr 23 06:38:58 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-2) ... @@ -833,7 +865,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-rack-cache-1.17.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ruby-rack-cache_1.17.0-1_source.changes +I: user script /srv/workspace/pbuilder/129710/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/129710/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-rack-cache-1.17.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ruby-rack-cache_1.17.0-1_source.changes dpkg-buildpackage: info: source package ruby-rack-cache dpkg-buildpackage: info: source version 1.17.0-1 dpkg-buildpackage: info: source distribution unstable @@ -866,7 +902,7 @@ │ ruby-rack-cache: Installing files and building extensions for ruby3.3 │ └──────────────────────────────────────────────────────────────────────────────┘ -/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20250320-30265-e0bq16/gemspec +/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20260423-3862-16r3sy/gemspec WARNING: open-ended dependency on rack (>= 0.4) is not recommended if rack is semantically versioned, use: add_runtime_dependency "rack", "~> 0.4" @@ -889,7 +925,7 @@ Name: rack-cache Version: 1.17.0 File: rack-cache-1.17.0.gem -/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rack-cache/usr/share/rubygems-integration/all /tmp/d20250320-30265-e0bq16/rack-cache-1.17.0.gem +/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rack-cache/usr/share/rubygems-integration/all /tmp/d20260423-3862-16r3sy/rack-cache-1.17.0.gem /build/reproducible-path/ruby-rack-cache-1.17.0/debian/ruby-rack-cache/usr/share/rubygems-integration/all/gems/rack-cache-1.17.0/example/sinatra/app.rb /build/reproducible-path/ruby-rack-cache-1.17.0/debian/ruby-rack-cache/usr/share/rubygems-integration/all/gems/rack-cache-1.17.0/example/sinatra/views/index.erb /build/reproducible-path/ruby-rack-cache-1.17.0/debian/ruby-rack-cache/usr/share/rubygems-integration/all/gems/rack-cache-1.17.0/gems/rack_v2-1.rb @@ -971,324 +1007,324 @@ /build/reproducible-path/ruby-rack-cache-1.17.0/test/entity_store_test.rb:329: warning: assigned but unused variable - size /build/reproducible-path/ruby-rack-cache-1.17.0/test/entity_store_test.rb:336: warning: assigned but unused variable - size /build/reproducible-path/ruby-rack-cache-1.17.0/test/meta_store_test.rb:149: warning: assigned but unused variable - req -Run options: -v --seed 8715 +Run options: -v --seed 7655 # Running: -Rack::Cache::Storage::Noop Store URIs#test_0001_resolves Noop meta store URIs = 0.00 s = . -Rack::Cache::Context#test_0038_does not cache 403 responses = 0.01 s = . -Rack::Cache::Context#test_0072_validates cached responses with etag and no freshness information = 0.01 s = . -Rack::Cache::Context#test_0012_does not cache requests with a Cookie header = 0.00 s = . -Rack::Cache::Context#test_0036_does not cache 401 responses = 0.00 s = . -Rack::Cache::Context#test_0008_invalidates on delete requests = 0.00 s = . -Rack::Cache::Context#test_0080_logs to rack.logger if available = 0.00 s = . -Rack::Cache::Context#test_0048_does not cache 415 responses = 0.00 s = . +Rack::Cache::Context#test_0017_responds with 304 when if-none-match matches etag = 0.01 s = . +Rack::Cache::Context#test_0005_doesnt invalidate on options requests = 0.00 s = . +Rack::Cache::Context#test_0035_does not cache 400 responses = 0.00 s = . +Rack::Cache::Context#test_0029_does not cache 204 responses = 0.00 s = . +Rack::Cache::Context#test_0018_responds with 304 only if if-none-match and if-modified-since both match = 0.00 s = . +Rack::Cache::Context#test_0066_hits cached response with max-age directive = 0.00 s = . Rack::Cache::Context#test_0055_does not cache 504 responses = 0.00 s = . -Rack::Cache::Context#test_0064_caches responses with an etag validator but no freshness information = 0.00 s = . -Rack::Cache::Context#test_0031_does not cache 206 responses = 0.00 s = . Rack::Cache::Context#test_0059_caches responses with explicit no-cache directive = 0.00 s = . -Rack::Cache::Context#test_0033_does not cache 304 responses = 0.00 s = . -Rack::Cache::Context#test_0006_invalidates on post requests = 0.00 s = . -Rack::Cache::Context#test_0039_does not cache 405 responses = 0.00 s = . +Rack::Cache::Context#test_0042_does not cache 408 responses = 0.00 s = . Rack::Cache::Context#test_0065_hits cached response with expires header = 0.00 s = . +Rack::Cache::Context#test_0019_validates private responses cached on the client = 0.00 s = . +Rack::Cache::Context#test_0074_stores HEAD as original_method on HEAD requests = 0.00 s = . +Rack::Cache::Context#test_0001_passes options to the underlying stores = 0.00 s = . +Rack::Cache::Context#test_0061_caches responses with a max-age directive = 0.00 s = . +Rack::Cache::Context#test_0051_does not cache 500 responses = 0.00 s = . +Rack::Cache::Context#test_0057_does not cache responses with explicit no-store directive = 0.00 s = . +Rack::Cache::Context#test_0028_does not cache 202 responses = 0.00 s = . +Rack::Cache::Context#test_0004_passes on options requests = 0.00 s = . +Rack::Cache::Context#test_0053_does not cache 502 responses = 0.00 s = . +Rack::Cache::Context#test_0063_caches responses with a last-modified validator but no freshness information = 0.00 s = . +Rack::Cache::Context#test_0002_passes on non-GET/HEAD requests = 0.00 s = . +Rack::Cache::Context#test_0049_does not cache 416 responses = 0.00 s = . +Rack::Cache::Context#test_0016_responds with 304 when if-modified-since matches last-modified = 0.00 s = . +Rack::Cache::Context#test_0025_does not revalidate fresh cache entry when enable_revalidate option is set false (default) = 0.00 s = . +Rack::Cache::Context#test_0056_does not cache 505 responses = 0.00 s = . +Rack::Cache::Context#test_0003_passes on rack-cache.force-pass = 0.00 s = . +Rack::Cache::Context#test_0014_does remove all configured ignore_headers from a cacheable response = 0.00 s = . Rack::Cache::Context#test_0078_passes if there was a metastore exception = 0.00 s = . -Rack::Cache::Context#test_0069_does not assign default_ttl when response has must-revalidate directive = 0.00 s = . -Rack::Cache::Context#test_0015_does not remove set-cookie response header from a private response = 0.00 s = . -Rack::Cache::Context#test_0060_caches responses with an Expiration header = 0.00 s = . -Rack::Cache::Context#test_0062_caches responses with a s-maxage directive = 0.00 s = . Rack::Cache::Context#test_0007_invalidates on put requests = 0.00 s = . -Rack::Cache::Context#test_0079_does not cache when cache-control response header changed to private (reset @cache_control on dup) = 0.00 s = . +Rack::Cache::Context#test_0071_validates cached responses with last-modified and no freshness information = 0.00 s = . +Rack::Cache::Context#test_0052_does not cache 501 responses = 0.00 s = . +Rack::Cache::Context#test_0021_reloads responses when cache hits but no-cache request directive present when allow_reload is set true = 0.00 s = . +Rack::Cache::Context#test_0027_does not cache 201 responses = 0.00 s = . +Rack::Cache::Context#test_0011_does not cache with Cookie header and non public response = 0.00 s = . +Rack::Cache::Context#test_0043_does not cache 409 responses = 0.00 s = . +Rack::Cache::Context#test_0034_does not cache 305 responses = 0.00 s = . +Rack::Cache::Context#test_0070_fetches full response when cache stale and no validators present = 0.00 s = . Rack::Cache::Context#test_0037_does not cache 402 responses = 0.00 s = . -Rack::Cache::Context#test_0075_passes HEAD requests through directly on pass = 0.00 s = . -Rack::Cache::Context#test_0058_does not cache responses without freshness information or a validator = 0.00 s = . +Rack::Cache::Context#test_0012_does not cache requests with a Cookie header = 0.00 s = . +Rack::Cache::Context#test_0069_does not assign default_ttl when response has must-revalidate directive = 0.00 s = . +Rack::Cache::Context#test_0048_does not cache 415 responses = 0.00 s = . +Rack::Cache::Context#test_0032_does not cache 303 responses = 0.00 s = . +Rack::Cache::Context#test_0009_does not cache with Authorization request header and non public response = 0.00 s = . +Rack::Cache::Context#test_0047_does not cache 414 responses = 0.00 s = . Rack::Cache::Context#test_0020_stores responses when no-cache request directive present = 0.00 s = . +Rack::Cache::Context#test_0075_passes HEAD requests through directly on pass = 0.00 s = . +Rack::Cache::Context#test_0030_does not cache 205 responses = 0.00 s = . +Rack::Cache::Context#test_0013_does remove set-cookie response header from a cacheable response = 0.00 s = . Rack::Cache::Context#test_0050_does not cache 417 responses = 0.00 s = . -Rack::Cache::Context#test_0045_does not cache 412 responses = 0.00 s = . -Rack::Cache::Context#test_0040_does not cache 406 responses = 0.00 s = . -Rack::Cache::Context#test_0027_does not cache 201 responses = 0.00 s = . -Rack::Cache::Context#test_0023_revalidates fresh cache entry when max-age request directive is exceeded when allow_revalidate option is set true = 0.00 s = . -Rack::Cache::Context#test_0041_does not cache 407 responses = 0.00 s = . Rack::Cache::Context#test_0010_does cache with Authorization request header and public response = 0.00 s = . -Rack::Cache::Context#test_0005_doesnt invalidate on options requests = 0.00 s = . -Rack::Cache::Context#test_0061_caches responses with a max-age directive = 0.00 s = . -Rack::Cache::Context#test_0013_does remove set-cookie response header from a cacheable response = 0.00 s = . Rack::Cache::Context#test_0067_hits cached response with s-maxage directive = 0.00 s = . -Rack::Cache::Context#test_0063_caches responses with a last-modified validator but no freshness information = 0.00 s = . -Rack::Cache::Context#test_0046_does not cache 413 responses = 0.00 s = . +Rack::Cache::Context#test_0041_does not cache 407 responses = 0.00 s = . +Rack::Cache::Context#test_0062_caches responses with a s-maxage directive = 0.00 s = . +Rack::Cache::Context#test_0008_invalidates on delete requests = 0.00 s = . +Rack::Cache::Context#test_0040_does not cache 406 responses = 0.00 s = . +Rack::Cache::Context#test_0064_caches responses with an etag validator but no freshness information = 0.00 s = . Rack::Cache::Context#test_0044_does not cache 411 responses = 0.00 s = . -Rack::Cache::Context#test_0053_does not cache 502 responses = 0.00 s = . -Rack::Cache::Context#test_0032_does not cache 303 responses = 0.00 s = . +Rack::Cache::Context#test_0031_does not cache 206 responses = 0.00 s = . +Rack::Cache::Context#test_0015_does not remove set-cookie response header from a private response = 0.00 s = . +Rack::Cache::Context#test_0058_does not cache responses without freshness information or a validator = 0.00 s = . +Rack::Cache::Context#test_0060_caches responses with an Expiration header = 0.00 s = . +Rack::Cache::Context#test_0022_does not reload responses when allow_reload is set false (default) = 0.00 s = . +Rack::Cache::Context#test_0072_validates cached responses with etag and no freshness information = 0.00 s = . +Rack::Cache::Context#test_0046_does not cache 413 responses = 0.00 s = . +Rack::Cache::Context#test_0039_does not cache 405 responses = 0.00 s = . +Rack::Cache::Context#test_0079_does not cache when cache-control response header changed to private (reset @cache_control on dup) = 0.00 s = . +Rack::Cache::Context#test_0054_does not cache 503 responses = 0.00 s = . +Rack::Cache::Context#test_0006_invalidates on post requests = 0.00 s = . +Rack::Cache::Context#test_0076_uses cache to respond to HEAD requests when fresh = 0.00 s = . +Rack::Cache::Context#test_0038_does not cache 403 responses = 0.00 s = . Rack::Cache::Context#test_0026_fetches response from backend when cache misses = 0.00 s = . -Rack::Cache::Context#test_0047_does not cache 414 responses = 0.00 s = . -Rack::Cache::Context#test_0009_does not cache with Authorization request header and non public response = 0.00 s = . -Rack::Cache::Context#test_0043_does not cache 409 responses = 0.00 s = . -Rack::Cache::Context#test_0021_reloads responses when cache hits but no-cache request directive present when allow_reload is set true = 0.00 s = . -Rack::Cache::Context#test_0002_passes on non-GET/HEAD requests = 0.00 s = . -Rack::Cache::Context#test_0052_does not cache 501 responses = 0.00 s = . -Rack::Cache::Context#test_0057_does not cache responses with explicit no-store directive = 0.00 s = . -Rack::Cache::Context#test_0029_does not cache 204 responses = 0.00 s = . -Rack::Cache::Context#test_0028_does not cache 202 responses = 0.00 s = . -Rack::Cache::Context#test_0035_does not cache 400 responses = 0.00 s = . -Rack::Cache::Context#test_0049_does not cache 416 responses = 0.00 s = . -Rack::Cache::Context#test_0073_replaces cached responses when validation results in non-304 response = 0.00 s = . -Rack::Cache::Context#test_0001_passes options to the underlying stores = 0.00 s = . -Rack::Cache::Context#test_0070_fetches full response when cache stale and no validators present = 0.00 s = . -Rack::Cache::Context#test_0019_validates private responses cached on the client = 0.00 s = . -Rack::Cache::Context#test_0071_validates cached responses with last-modified and no freshness information = 0.01 s = . -Rack::Cache::Context#test_0034_does not cache 305 responses = 0.00 s = . Rack::Cache::Context#test_0024_returns a stale cache entry when max-age request directive is exceeded when allow_revalidate and fault_tolerant options are set to true and the remote server returns a connection error = 0.00 s = . -Rack::Cache::Context#test_0054_does not cache 503 responses = 0.00 s = . -Rack::Cache::Context#test_0016_responds with 304 when if-modified-since matches last-modified = 0.00 s = . -Rack::Cache::Context#test_0014_does remove all configured ignore_headers from a cacheable response = 0.00 s = . -Rack::Cache::Context#test_0066_hits cached response with max-age directive = 0.00 s = . -Rack::Cache::Context#test_0018_responds with 304 only if if-none-match and if-modified-since both match = 0.00 s = . -Rack::Cache::Context#test_0017_responds with 304 when if-none-match matches etag = 0.00 s = . -Rack::Cache::Context#test_0056_does not cache 505 responses = 0.00 s = . -Rack::Cache::Context#test_0074_stores HEAD as original_method on HEAD requests = 0.00 s = . -Rack::Cache::Context#test_0042_does not cache 408 responses = 0.00 s = . Rack::Cache::Context#test_0068_assigns default_ttl when response has no freshness information = 0.00 s = . -Rack::Cache::Context#test_0011_does not cache with Cookie header and non public response = 0.00 s = . -Rack::Cache::Context#test_0030_does not cache 205 responses = 0.00 s = . +Rack::Cache::Context#test_0036_does not cache 401 responses = 0.00 s = . +Rack::Cache::Context#test_0023_revalidates fresh cache entry when max-age request directive is exceeded when allow_revalidate option is set true = 0.00 s = . Rack::Cache::Context#test_0077_invalidates cached responses on POST = 0.00 s = . -Rack::Cache::Context#test_0022_does not reload responses when allow_reload is set false (default) = 0.00 s = . -Rack::Cache::Context#test_0051_does not cache 500 responses = 0.00 s = . -Rack::Cache::Context#test_0004_passes on options requests = 0.00 s = . -Rack::Cache::Context#test_0003_passes on rack-cache.force-pass = 0.00 s = . -Rack::Cache::Context#test_0076_uses cache to respond to HEAD requests when fresh = 0.00 s = . -Rack::Cache::Context#test_0025_does not revalidate fresh cache entry when enable_revalidate option is set false (default) = 0.00 s = . -Rack::Cache::MetaStore::Heap::logging writes#test_0001_passes a TTL to the stores is use_native_ttl is truthy = 0.00 s = . -Rack::Cache::Storage::Heap Store URIs#test_0003_resolves mem:/ meta store URIs = 0.00 s = . -Rack::Cache::Storage::Heap Store URIs#test_0004_resolves mem:/ entity store URIs = 0.00 s = . -Rack::Cache::Storage::Heap Store URIs#test_0001_resolves heap:/ meta store URIs = 0.00 s = . -Rack::Cache::Storage::Heap Store URIs#test_0002_resolves heap:/ entity store URIs = 0.00 s = . -Rack::Cache::MetaStore::Disk::logging writes#test_0001_passes a TTL to the stores is use_native_ttl is truthy = 0.00 s = . -Rack::Cache::Response::#expires#test_0003_returns nil if the expires header is not parseable = 0.00 s = . -Rack::Cache::Response::#expires#test_0001_returns nil if there is no expires header = 0.00 s = . -Rack::Cache::Response::#expires#test_0002_returns a Time if the expires header is parseable = 0.00 s = . -Rack::Cache::Response::#cache_control#test_0001_handles multiple name=value pairs = 0.00 s = . -Rack::Cache::Response::#cache_control#test_0002_removes the header when given an empty hash = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0005_succeeds when purging non-existing entries = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0013_allows custom cache keys from class = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0031_gracefully degrades if the cache store stops working = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0021_canonizes urls for cache keys = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0026_restores response headers properly with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0038_removes the Age response header before storing = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0029_succeeds quietly when #invalidate called with no matching entries = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0001_writes a list of negotation tuples with #write = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0009_can read and write key: '/test?x=y' = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0033_stores multiple responses for each Vary combination = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0037_overwrites non-varying responses with #store = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0020_does not find an entry with #lookup when none exists = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0002_reads a list of negotation tuples with #read = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0028_invalidates meta and entity store entries with #invalidate = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0006_returns nil from #purge = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0016_stores a cache entry = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0014_does not blow up when given a non-marhsalable object with an ALL_CAPS key = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0019_finds a stored entry with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0036_stores multiple responses for each Vary combination = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0032_does not return entries that Vary with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0023_purges meta store entry when the body does not exist = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0010_can read and write key: '/test?x=y&p=q' = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0030_does not remove response x-status with #invalidate = 0.01 s = . -Rack::Cache::MetaStore::Heap#test_0024_purges meta store entry when the entry does not contain the digest header = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0011_can read and write fairly large keys = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0034_overwrites non-varying responses with #store = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0007_can read and write key: '/test' = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0008_can read and write key: 'http://example.com:8080/' = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0015_supports a ttl parameter for #write = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0035_does not return entries that Vary with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0027_restores response body from entity store with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0017_can handle objects that can only be read once = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0022_does not find an entry with #lookup when the body does not exist = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0039_removes the Age response header before storing = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0004_removes entries for key with #purge = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0018_sets the x-content-digest response header before storing = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0003_reads an empty list with #read when nothing cached at key = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0012_allows custom cache keys from block = 0.00 s = . -Rack::Cache::MetaStore::Heap#test_0025_warns once if purge is not implemented = WARNING: Future releases may require purge implementation for Rack::Cache::MetaStore::Heap -0.00 s = . +Rack::Cache::Context#test_0073_replaces cached responses when validation results in non-304 response = 0.00 s = . +Rack::Cache::Context#test_0045_does not cache 412 responses = 0.00 s = . +Rack::Cache::Context#test_0080_logs to rack.logger if available = 0.00 s = . +Rack::Cache::Context#test_0033_does not cache 304 responses = 0.00 s = . +Rack::Cache::Options::#set#test_0002_sets a String option as string = 0.00 s = . +Rack::Cache::Options::#set#test_0003_sets all key/value pairs when given a Hash = 0.00 s = . +Rack::Cache::Options::#set#test_0001_sets a Symbol option as rack-cache.symbol = 0.00 s = . +Rack::Cache::Response::#vary#test_0002_returns the literal value of the Vary header = 0.00 s = . Rack::Cache::Response::#vary#test_0003_can be checked for existence using the #vary? method = 0.00 s = . Rack::Cache::Response::#vary#test_0001_is nil when no Vary header is present = 0.00 s = . -Rack::Cache::Response::#vary#test_0002_returns the literal value of the Vary header = 0.00 s = . -Rack::Cache::Response::#vary_header_names#test_0003_parses multiple header name values separated by spaces = 0.00 s = . -Rack::Cache::Response::#vary_header_names#test_0004_parses multiple header name values separated by commas = 0.00 s = . -Rack::Cache::Response::#vary_header_names#test_0001_returns an empty Array when no Vary header is present = 0.00 s = . -Rack::Cache::Response::#vary_header_names#test_0002_parses a single header name value = 0.00 s = . -Rack::Cache::Storage#test_0005_creates a new EntityStore for URI if none exists = 0.00 s = . -Rack::Cache::Storage#test_0002_passes options to the underlying stores = 0.00 s = . -Rack::Cache::Storage#test_0003_creates a new MetaStore for URI if none exists = 0.00 s = . -Rack::Cache::Storage#test_0007_clears all URI -> store mappings with #clear = 0.00 s = . -Rack::Cache::Storage#test_0004_returns an existing MetaStore instance for URI that exists = 0.00 s = . -Rack::Cache::Storage#test_0001_fails when an unknown URI scheme is provided = 0.00 s = . -Rack::Cache::Storage#test_0006_returns an existing EntityStore instance for URI that exists = 0.00 s = . -Rack::Cache::Response::#date#test_0003_uses the current time when no Date header present = 0.00 s = . -Rack::Cache::Response::#date#test_0004_returns the correct date when the header is modified directly = 0.00 s = . -Rack::Cache::Response::#date#test_0001_uses the Date header if present and parseable = 0.00 s = . -Rack::Cache::Response::#date#test_0002_returns the current time if present but not parseable = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0009_responds to #purge and returns nil = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0005_always responds to #read with an empty String = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0002_accepts bodies with #write = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0003_takes a ttl parameter for #write = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0007_always responds to #open with empty array = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0008_returns a Rack compatible body from #open = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0004_always responds to #exist? with true, regardless of the content having been saved before = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0001_responds to all required messages = 0.00 s = . -Rack::Cache::EntityStore::Noop#test_0006_gives a 40 character SHA1 hex digest from #write = 0.00 s = . -Rack::Cache::Response::#expire!#test_0003_sets the Age to be equal to the s-maxage when both max-age and s-maxage present = 0.00 s = . -Rack::Cache::Response::#expire!#test_0002_sets the Age to be equal to the r-maxage when the three max-age and r/s-maxage present = 0.00 s = . -Rack::Cache::Response::#expire!#test_0005_does nothing when the response does not include freshness information = 0.00 s = . -Rack::Cache::Response::#expire!#test_0004_does nothing when the response is already stale/expired = 0.00 s = . -Rack::Cache::Response::#expire!#test_0001_sets the Age to be equal to the max-age = 0.00 s = . -Rack::Cache::Response::#max_age#test_0003_falls back to max-age when no r/s-maxage directive present = 0.00 s = . -Rack::Cache::Response::#max_age#test_0002_uses s-maxage cache control when no r-maxage directive present = 0.00 s = . -Rack::Cache::Response::#max_age#test_0005_gives a #max_age of nil when no freshness information available = 0.00 s = . -Rack::Cache::Response::#max_age#test_0004_falls back to expires when no max-age or r/s-maxage directive present = 0.00 s = . -Rack::Cache::Response::#max_age#test_0001_uses r-maxage cache control directive when present = 0.00 s = . -Rack::Cache::Key#test_0005_includes host = 0.00 s = . -Rack::Cache::Key#test_0011_does not include query when all params are ignored = 0.00 s = . -Rack::Cache::Key#test_0001_sorts params = 0.00 s = . -Rack::Cache::Key#test_0007_does not include question mark if there is no query string = 0.00 s = . -Rack::Cache::Key#test_0008_sorts the query string by key/value after decoding = 0.00 s = . +Rack::Cache::Request#test_0002_is marked as no_cache when request should not be loaded from cache = 0.00 s = . +Rack::Cache::Request#test_0003_is not marked as no_cache when neither no-cache directive is specified = 0.00 s = . +Rack::Cache::Request#test_0001_is marked as no_cache when the cache-control header includes the no-cache directive = 0.00 s = . +Rack::Cache::MetaStore::Heap::logging writes#test_0001_passes a TTL to the stores is use_native_ttl is truthy = 0.00 s = . Rack::Cache::Key#test_0002_handles badly encoded params = 0.00 s = . Rack::Cache::Key#test_0003_doesn't confuse encoded equals sign with query string separator = 0.00 s = . Rack::Cache::Key#test_0004_includes the scheme = 0.00 s = . +Rack::Cache::Key#test_0005_includes host = 0.00 s = . +Rack::Cache::Key#test_0008_sorts the query string by key/value after decoding = 0.00 s = . +Rack::Cache::Key#test_0006_includes path = 0.00 s = . Rack::Cache::Key#test_0010_ignores params based on configuration = 0.00 s = . +Rack::Cache::Key#test_0011_does not include query when all params are ignored = 0.00 s = . +Rack::Cache::Key#test_0007_does not include question mark if there is no query string = 0.00 s = . +Rack::Cache::Key#test_0001_sorts params = 0.00 s = . Rack::Cache::Key#test_0009_is in order of scheme, host, path, params = 0.00 s = . -Rack::Cache::Key#test_0006_includes path = 0.00 s = . -Rack::Cache::EntityStore::Heap#test_0005_can read data written with #write = 0.00 s = . -Rack::Cache::EntityStore::Heap#test_0007_returns the entire body as a String from #read = 0.00 s = . -Rack::Cache::EntityStore::Heap#test_0008_returns nil from #read when key does not exist = 0.00 s = . -Rack::Cache::EntityStore::Heap#test_0001_responds to all required messages = 0.00 s = . -Rack::Cache::EntityStore::Heap#test_0011_can store largish bodies with binary data = 0.01 s = . -Rack::Cache::EntityStore::Heap#test_0010_returns nil from #open when key does not exist = 0.00 s = . -Rack::Cache::EntityStore::Heap#test_0014_uses its own Hash with no args to ::new = 0.00 s = . +Rack::Cache::Response::#expire!#test_0002_sets the Age to be equal to the r-maxage when the three max-age and r/s-maxage present = 0.00 s = . +Rack::Cache::Response::#expire!#test_0004_does nothing when the response is already stale/expired = 0.00 s = . +Rack::Cache::Response::#expire!#test_0003_sets the Age to be equal to the s-maxage when both max-age and s-maxage present = 0.00 s = . +Rack::Cache::Response::#expire!#test_0005_does nothing when the response does not include freshness information = 0.00 s = . +Rack::Cache::Response::#expire!#test_0001_sets the Age to be equal to the max-age = 0.00 s = . +Rack::Cache::MetaStore#test_0002_has not implemented write = 0.00 s = . +Rack::Cache::MetaStore#test_0003_has not implemented purge = 0.00 s = . +Rack::Cache::MetaStore#test_0001_has not implemented read = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0002_accepts bodies with #write = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0003_takes a ttl parameter for #write = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0004_always responds to #exist? with true, regardless of the content having been saved before = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0005_always responds to #read with an empty String = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0006_gives a 40 character SHA1 hex digest from #write = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0008_returns a Rack compatible body from #open = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0007_always responds to #open with empty array = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0001_responds to all required messages = 0.00 s = . +Rack::Cache::EntityStore::Noop#test_0009_responds to #purge and returns nil = 0.00 s = . +Rack::Cache::Storage::Noop Store URIs#test_0001_resolves Noop meta store URIs = 0.00 s = . Rack::Cache::EntityStore::Heap#test_0002_stores bodies with #write = 0.00 s = . -Rack::Cache::EntityStore::Heap#test_0003_takes a ttl parameter for #write = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0011_can store largish bodies with binary data = 0.00 s = . Rack::Cache::EntityStore::Heap#test_0004_correctly determines whether cached body exists for key with #exist? = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0003_takes a ttl parameter for #write = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0014_uses its own Hash with no args to ::new = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0008_returns nil from #read when key does not exist = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0005_can read data written with #write = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0010_returns nil from #open when key does not exist = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0006_gives a 40 character SHA1 hex digest from #write = 0.00 s = . Rack::Cache::EntityStore::Heap#test_0013_takes a Hash to ::new = 0.00 s = . Rack::Cache::EntityStore::Heap#test_0012_deletes stored entries with #purge = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0007_returns the entire body as a String from #read = 0.00 s = . +Rack::Cache::EntityStore::Heap#test_0001_responds to all required messages = 0.00 s = . Rack::Cache::EntityStore::Heap#test_0009_returns a Rack compatible body from #open = 0.00 s = . -Rack::Cache::EntityStore::Heap#test_0006_gives a 40 character SHA1 hex digest from #write = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0005_succeeds when purging non-existing entries = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0013_allows custom cache keys from class = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0031_gracefully degrades if the cache store stops working = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0021_canonizes urls for cache keys = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0026_restores response headers properly with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0038_removes the Age response header before storing = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0029_succeeds quietly when #invalidate called with no matching entries = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0001_writes a list of negotation tuples with #write = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0009_can read and write key: '/test?x=y' = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0033_stores multiple responses for each Vary combination = 0.01 s = . -Rack::Cache::MetaStore::Disk#test_0037_overwrites non-varying responses with #store = 0.01 s = . -Rack::Cache::MetaStore::Disk#test_0020_does not find an entry with #lookup when none exists = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0002_reads a list of negotation tuples with #read = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0028_invalidates meta and entity store entries with #invalidate = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0006_returns nil from #purge = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0016_stores a cache entry = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0014_does not blow up when given a non-marhsalable object with an ALL_CAPS key = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0019_finds a stored entry with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0036_stores multiple responses for each Vary combination = 0.01 s = . -Rack::Cache::MetaStore::Disk#test_0032_does not return entries that Vary with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0023_purges meta store entry when the body does not exist = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0010_can read and write key: '/test?x=y&p=q' = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0030_does not remove response x-status with #invalidate = 0.01 s = . -Rack::Cache::MetaStore::Disk#test_0024_purges meta store entry when the entry does not contain the digest header = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0011_can read and write fairly large keys = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0034_overwrites non-varying responses with #store = 0.01 s = . -Rack::Cache::MetaStore::Disk#test_0007_can read and write key: '/test' = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0008_can read and write key: 'http://example.com:8080/' = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0015_supports a ttl parameter for #write = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0035_does not return entries that Vary with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0027_restores response body from entity store with #lookup = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0017_can handle objects that can only be read once = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0022_does not find an entry with #lookup when the body does not exist = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0039_removes the Age response header before storing = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0004_removes entries for key with #purge = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0018_sets the x-content-digest response header before storing = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0003_reads an empty list with #read when nothing cached at key = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0012_allows custom cache keys from block = 0.00 s = . -Rack::Cache::MetaStore::Disk#test_0025_warns once if purge is not implemented = 0.00 s = . -Rack::Cache::Response::#ttl#test_0003_returns negative values when expires is in part = 0.00 s = . -Rack::Cache::Response::#ttl#test_0004_uses the cache-control max-age value when present = 0.00 s = . -Rack::Cache::Response::#ttl#test_0001_is nil when no expires or cache-control headers present = 0.00 s = . -Rack::Cache::Response::#ttl#test_0002_uses the expires header when no max-age is present = 0.00 s = . +Rack::Cache::MetaStore::Disk::logging writes#test_0001_passes a TTL to the stores is use_native_ttl is truthy = 0.00 s = . +Rack::Cache::Storage#test_0004_returns an existing MetaStore instance for URI that exists = 0.00 s = . +Rack::Cache::Storage#test_0003_creates a new MetaStore for URI if none exists = 0.00 s = . +Rack::Cache::Storage#test_0005_creates a new EntityStore for URI if none exists = 0.00 s = . +Rack::Cache::Storage#test_0002_passes options to the underlying stores = 0.00 s = . +Rack::Cache::Storage#test_0006_returns an existing EntityStore instance for URI that exists = 0.00 s = . +Rack::Cache::Storage#test_0007_clears all URI -> store mappings with #clear = 0.00 s = . +Rack::Cache::Storage#test_0001_fails when an unknown URI scheme is provided = 0.00 s = . +Rack::Cache::Options#test_0004_allows the cache key generator to be configured = 0.00 s = . +Rack::Cache::Options#test_0003_allows storing the value as a block = 0.00 s = . Rack::Cache::Options#test_0005_allows the meta store to be configured = 0.00 s = . Rack::Cache::Options#test_0002_allows setting multiple options via assignment = 0.00 s = . -Rack::Cache::Options#test_0003_allows storing the value as a block = 0.00 s = . +Rack::Cache::Options#test_0006_allows the entity store to be configured = 0.00 s = . Rack::Cache::Options#test_0007_allows log verbosity to be configured = 0.00 s = . -Rack::Cache::Options#test_0004_allows the cache key generator to be configured = 0.00 s = . Rack::Cache::Options#test_0001_makes options declared with option_accessor available as attributes = 0.00 s = . -Rack::Cache::Options#test_0006_allows the entity store to be configured = 0.00 s = . -Rack::Cache::Response::#validateable?#test_0003_is false when no validator is present = 0.00 s = . -Rack::Cache::Response::#validateable?#test_0001_is true when last-modified header present = 0.00 s = . -Rack::Cache::Response::#validateable?#test_0002_is true when etag header present = 0.00 s = . -Rack::Cache::Storage::Disk Store URIs#test_0003_resolves disk: meta store URIs = 0.00 s = . -Rack::Cache::Storage::Disk Store URIs#test_0004_resolves disk: entity store URIs = 0.00 s = . -Rack::Cache::Storage::Disk Store URIs#test_0001_resolves file: meta store URIs = 0.00 s = . -Rack::Cache::Storage::Disk Store URIs#test_0002_resolves file: entity store URIs = 0.00 s = . -Rack::Cache::Request#test_0003_is not marked as no_cache when neither no-cache directive is specified = 0.00 s = . -Rack::Cache::Request#test_0001_is marked as no_cache when the cache-control header includes the no-cache directive = 0.00 s = . -Rack::Cache::Request#test_0002_is marked as no_cache when request should not be loaded from cache = 0.00 s = . -Rack::Cache#test_0003_sets options provided in the options Hash = 0.00 s = . -Rack::Cache#test_0004_takes a block; executes it during initialization = 0.00 s = . -Rack::Cache#test_0001_takes a backend and returns a middleware component = 0.00 s = . -Rack::Cache#test_0002_takes an options Hash = 0.00 s = . -Rack::Cache::Context::with responses that include a Vary header#test_0001_serves from cache when headers match = 0.00 s = . -Rack::Cache::Context::with responses that include a Vary header#test_0002_stores multiple responses when headers differ = 0.00 s = . -Rack::Cache::Options::#set#test_0003_sets all key/value pairs when given a Hash = 0.00 s = . -Rack::Cache::Options::#set#test_0001_sets a Symbol option as rack-cache.symbol = 0.00 s = . -Rack::Cache::Options::#set#test_0002_sets a String option as string = 0.00 s = . -Rack::Cache::CacheControl#test_0005_takes a String with a single flag value = 0.00 s = . -Rack::Cache::CacheControl#test_0027_responds to #proxy_revalidate? non-truthfully when no proxy-revalidate directive present = 0.00 s = . -Rack::Cache::CacheControl#test_0023_responds to #no_cache? non-truthfully when no no-cache directive present = 0.00 s = . -Rack::Cache::CacheControl#test_0011_sorts alphabetically with boolean directives before value directives = 0.00 s = . -Rack::Cache::CacheControl#test_0001_takes no args and initializes with an empty set of values = 0.00 s = . -Rack::Cache::CacheControl#test_0026_responds to #proxy_revalidate? truthfully when proxy-revalidate directive present = 0.00 s = . +Rack::Cache::Response::#max_age#test_0002_uses s-maxage cache control when no r-maxage directive present = 0.00 s = . +Rack::Cache::Response::#max_age#test_0004_falls back to expires when no max-age or r/s-maxage directive present = 0.00 s = . +Rack::Cache::Response::#max_age#test_0003_falls back to max-age when no r/s-maxage directive present = 0.00 s = . +Rack::Cache::Response::#max_age#test_0005_gives a #max_age of nil when no freshness information available = 0.00 s = . +Rack::Cache::Response::#max_age#test_0001_uses r-maxage cache control directive when present = 0.00 s = . +Rack::Cache::CacheControl#test_0012_responds to #max_age with an integer when max-age directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0019_responds to #public? non-truthfully when no public directive present = 0.00 s = . Rack::Cache::CacheControl#test_0002_takes a String and parses it into a Hash when created = 0.00 s = . -Rack::Cache::CacheControl#test_0013_responds to #max_age with nil when no max-age directive present = 0.00 s = . Rack::Cache::CacheControl#test_0021_responds to #private? non-truthfully when no private directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0024_responds to #must_revalidate? truthfully when must-revalidate directive present = 0.00 s = . Rack::Cache::CacheControl#test_0016_responds to #reverse_max_age with an integer when r-maxage directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0011_sorts alphabetically with boolean directives before value directives = 0.00 s = . +Rack::Cache::CacheControl#test_0003_takes a String with a single name=value pair = 0.00 s = . +Rack::Cache::CacheControl#test_0014_responds to #shared_max_age with an integer when s-maxage directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0022_responds to #no_cache? truthfully when no-cache directive present = 0.00 s = . Rack::Cache::CacheControl#test_0010_converts self into header String with #to_s = 0.00 s = . -Rack::Cache::CacheControl#test_0024_responds to #must_revalidate? truthfully when must-revalidate directive present = 0.00 s = . -Rack::Cache::CacheControl#test_0007_strips leading and trailing spaces from header value = 0.00 s = . +Rack::Cache::CacheControl#test_0005_takes a String with a single flag value = 0.00 s = . Rack::Cache::CacheControl#test_0008_strips blank segments = 0.00 s = . -Rack::Cache::CacheControl#test_0015_responds to #shared_max_age with nil when no s-maxage directive present = 0.00 s = . -Rack::Cache::CacheControl#test_0014_responds to #shared_max_age with an integer when s-maxage directive present = 0.00 s = . -Rack::Cache::CacheControl#test_0019_responds to #public? non-truthfully when no public directive present = 0.00 s = . Rack::Cache::CacheControl#test_0017_responds to #reverse_max_age with nil when no r-maxage directive present = 0.00 s = . Rack::Cache::CacheControl#test_0004_takes a String with multiple name=value pairs = 0.00 s = . -Rack::Cache::CacheControl#test_0006_takes a String with a bunch of all kinds of stuff = 0.00 s = . +Rack::Cache::CacheControl#test_0007_strips leading and trailing spaces from header value = 0.00 s = . Rack::Cache::CacheControl#test_0018_responds to #public? truthfully when public directive present = 0.00 s = . -Rack::Cache::CacheControl#test_0003_takes a String with a single name=value pair = 0.00 s = . +Rack::Cache::CacheControl#test_0015_responds to #shared_max_age with nil when no s-maxage directive present = 0.00 s = . Rack::Cache::CacheControl#test_0020_responds to #private? truthfully when private directive present = 0.00 s = . Rack::Cache::CacheControl#test_0009_removes all directives with #clear = 0.00 s = . -Rack::Cache::CacheControl#test_0012_responds to #max_age with an integer when max-age directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0013_responds to #max_age with nil when no max-age directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0006_takes a String with a bunch of all kinds of stuff = 0.00 s = . +Rack::Cache::CacheControl#test_0026_responds to #proxy_revalidate? truthfully when proxy-revalidate directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0027_responds to #proxy_revalidate? non-truthfully when no proxy-revalidate directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0023_responds to #no_cache? non-truthfully when no no-cache directive present = 0.00 s = . +Rack::Cache::CacheControl#test_0001_takes no args and initializes with an empty set of values = 0.00 s = . Rack::Cache::CacheControl#test_0025_responds to #must_revalidate? non-truthfully when no must-revalidate directive present = 0.00 s = . -Rack::Cache::CacheControl#test_0022_responds to #no_cache? truthfully when no-cache directive present = 0.00 s = . -Rack::Cache::Response#test_0001_marks Rack tuples with string typed statuses as cacheable = 0.00 s = . +Rack::Cache::Response::#cache_control#test_0002_removes the header when given an empty hash = 0.00 s = . +Rack::Cache::Response::#cache_control#test_0001_handles multiple name=value pairs = 0.00 s = . +Rack::Cache::Response::#expires#test_0002_returns a Time if the expires header is parseable = 0.00 s = . +Rack::Cache::Response::#expires#test_0003_returns nil if the expires header is not parseable = 0.00 s = . +Rack::Cache::Response::#expires#test_0001_returns nil if there is no expires header = 0.00 s = . +Rack::Cache::Response::#validateable?#test_0002_is true when etag header present = 0.00 s = . +Rack::Cache::Response::#validateable?#test_0003_is false when no validator is present = 0.00 s = . +Rack::Cache::Response::#validateable?#test_0001_is true when last-modified header present = 0.00 s = . +Rack::Cache#test_0002_takes an options Hash = 0.00 s = . +Rack::Cache#test_0003_sets options provided in the options Hash = 0.00 s = . +Rack::Cache#test_0004_takes a block; executes it during initialization = 0.00 s = . +Rack::Cache#test_0001_takes a backend and returns a middleware component = 0.00 s = . +Rack::Cache::Response::#vary_header_names#test_0002_parses a single header name value = 0.00 s = . +Rack::Cache::Response::#vary_header_names#test_0003_parses multiple header name values separated by spaces = 0.00 s = . +Rack::Cache::Response::#vary_header_names#test_0004_parses multiple header name values separated by commas = 0.00 s = . +Rack::Cache::Response::#vary_header_names#test_0001_returns an empty Array when no Vary header is present = 0.00 s = . Rack::Cache::Response#test_0002_responds to #to_a with a Rack response tuple = 0.00 s = . -Rack::Cache::EntityStore::Disk#test_0007_returns the entire body as a String from #read = 0.00 s = . -Rack::Cache::EntityStore::Disk#test_0008_returns nil from #read when key does not exist = 0.00 s = . -Rack::Cache::EntityStore::Disk#test_0005_can read data written with #write = 0.00 s = . -Rack::Cache::EntityStore::Disk#test_0013_takes a path to ::new and creates the directory = 0.00 s = . -Rack::Cache::EntityStore::Disk#test_0001_responds to all required messages = 0.00 s = . +Rack::Cache::Response#test_0001_marks Rack tuples with string typed statuses as cacheable = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0013_allows custom cache keys from class = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0005_succeeds when purging non-existing entries = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0025_warns once if purge is not implemented = WARNING: Future releases may require purge implementation for Rack::Cache::MetaStore::Disk +0.00 s = . +Rack::Cache::MetaStore::Disk#test_0011_can read and write fairly large keys = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0029_succeeds quietly when #invalidate called with no matching entries = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0017_can handle objects that can only be read once = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0028_invalidates meta and entity store entries with #invalidate = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0002_reads a list of negotation tuples with #read = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0020_does not find an entry with #lookup when none exists = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0016_stores a cache entry = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0035_does not return entries that Vary with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0030_does not remove response x-status with #invalidate = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0010_can read and write key: '/test?x=y&p=q' = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0018_sets the x-content-digest response header before storing = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0008_can read and write key: 'http://example.com:8080/' = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0019_finds a stored entry with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0012_allows custom cache keys from block = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0034_overwrites non-varying responses with #store = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0014_does not blow up when given a non-marhsalable object with an ALL_CAPS key = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0037_overwrites non-varying responses with #store = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0001_writes a list of negotation tuples with #write = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0022_does not find an entry with #lookup when the body does not exist = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0007_can read and write key: '/test' = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0027_restores response body from entity store with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0003_reads an empty list with #read when nothing cached at key = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0031_gracefully degrades if the cache store stops working = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0006_returns nil from #purge = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0026_restores response headers properly with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0021_canonizes urls for cache keys = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0024_purges meta store entry when the entry does not contain the digest header = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0032_does not return entries that Vary with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0004_removes entries for key with #purge = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0038_removes the Age response header before storing = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0015_supports a ttl parameter for #write = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0036_stores multiple responses for each Vary combination = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0009_can read and write key: '/test?x=y' = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0039_removes the Age response header before storing = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0023_purges meta store entry when the body does not exist = 0.00 s = . +Rack::Cache::MetaStore::Disk#test_0033_stores multiple responses for each Vary combination = 0.00 s = . +Rack::Cache::Response::#ttl#test_0002_uses the expires header when no max-age is present = 0.00 s = . +Rack::Cache::Response::#ttl#test_0003_returns negative values when expires is in part = 0.00 s = . +Rack::Cache::Response::#ttl#test_0004_uses the cache-control max-age value when present = 0.00 s = . +Rack::Cache::Response::#ttl#test_0001_is nil when no expires or cache-control headers present = 0.00 s = . Rack::Cache::EntityStore::Disk#test_0010_returns nil from #open when key does not exist = 0.00 s = . -Rack::Cache::EntityStore::Disk#test_0011_can store largish bodies with binary data = 0.01 s = . -Rack::Cache::EntityStore::Disk#test_0015_spreads data over a 36² hash radius = 0.02 s = . Rack::Cache::EntityStore::Disk#test_0002_stores bodies with #write = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0008_returns nil from #read when key does not exist = 0.00 s = . Rack::Cache::EntityStore::Disk#test_0003_takes a ttl parameter for #write = 0.00 s = . Rack::Cache::EntityStore::Disk#test_0004_correctly determines whether cached body exists for key with #exist? = 0.00 s = . -Rack::Cache::EntityStore::Disk#test_0014_produces a body that responds to #to_path = 0.00 s = . Rack::Cache::EntityStore::Disk#test_0012_deletes stored entries with #purge = 0.00 s = . -Rack::Cache::EntityStore::Disk#test_0009_returns a Rack compatible body from #open = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0011_can store largish bodies with binary data = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0005_can read data written with #write = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0015_spreads data over a 36² hash radius = 0.01 s = . Rack::Cache::EntityStore::Disk#test_0006_gives a 40 character SHA1 hex digest from #write = 0.00 s = . -Rack::Cache::MetaStore#test_0003_has not implemented purge = 0.00 s = . -Rack::Cache::MetaStore#test_0001_has not implemented read = 0.00 s = . -Rack::Cache::MetaStore#test_0002_has not implemented write = 0.00 s = . -Rack::Cache::Response::#private=#test_0001_adds the private cache-control directive when set true = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0014_produces a body that responds to #to_path = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0013_takes a path to ::new and creates the directory = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0007_returns the entire body as a String from #read = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0001_responds to all required messages = 0.00 s = . +Rack::Cache::EntityStore::Disk#test_0009_returns a Rack compatible body from #open = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0013_allows custom cache keys from class = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0005_succeeds when purging non-existing entries = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0025_warns once if purge is not implemented = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0011_can read and write fairly large keys = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0029_succeeds quietly when #invalidate called with no matching entries = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0017_can handle objects that can only be read once = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0028_invalidates meta and entity store entries with #invalidate = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0002_reads a list of negotation tuples with #read = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0020_does not find an entry with #lookup when none exists = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0016_stores a cache entry = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0035_does not return entries that Vary with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0030_does not remove response x-status with #invalidate = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0010_can read and write key: '/test?x=y&p=q' = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0018_sets the x-content-digest response header before storing = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0008_can read and write key: 'http://example.com:8080/' = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0019_finds a stored entry with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0012_allows custom cache keys from block = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0034_overwrites non-varying responses with #store = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0014_does not blow up when given a non-marhsalable object with an ALL_CAPS key = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0037_overwrites non-varying responses with #store = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0001_writes a list of negotation tuples with #write = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0022_does not find an entry with #lookup when the body does not exist = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0007_can read and write key: '/test' = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0027_restores response body from entity store with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0003_reads an empty list with #read when nothing cached at key = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0031_gracefully degrades if the cache store stops working = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0006_returns nil from #purge = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0026_restores response headers properly with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0021_canonizes urls for cache keys = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0024_purges meta store entry when the entry does not contain the digest header = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0032_does not return entries that Vary with #lookup = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0004_removes entries for key with #purge = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0038_removes the Age response header before storing = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0015_supports a ttl parameter for #write = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0036_stores multiple responses for each Vary combination = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0009_can read and write key: '/test?x=y' = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0039_removes the Age response header before storing = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0023_purges meta store entry when the body does not exist = 0.00 s = . +Rack::Cache::MetaStore::Heap#test_0033_stores multiple responses for each Vary combination = 0.00 s = . Rack::Cache::Response::#private=#test_0002_removes the public cache-control directive = 0.00 s = . +Rack::Cache::Response::#private=#test_0001_adds the private cache-control directive when set true = 0.00 s = . +Rack::Cache::Context::with responses that include a Vary header#test_0002_stores multiple responses when headers differ = 0.00 s = . +Rack::Cache::Context::with responses that include a Vary header#test_0001_serves from cache when headers match = 0.00 s = . +Rack::Cache::Storage::Disk Store URIs#test_0002_resolves file: entity store URIs = 0.00 s = . +Rack::Cache::Storage::Disk Store URIs#test_0003_resolves disk: meta store URIs = 0.00 s = . +Rack::Cache::Storage::Disk Store URIs#test_0004_resolves disk: entity store URIs = 0.00 s = . +Rack::Cache::Storage::Disk Store URIs#test_0001_resolves file: meta store URIs = 0.00 s = . +Rack::Cache::Response::#date#test_0002_returns the current time if present but not parseable = 0.00 s = . +Rack::Cache::Response::#date#test_0003_uses the current time when no Date header present = 0.00 s = . +Rack::Cache::Response::#date#test_0004_returns the correct date when the header is modified directly = 0.00 s = . +Rack::Cache::Response::#date#test_0001_uses the Date header if present and parseable = 0.00 s = . +Rack::Cache::Storage::Heap Store URIs#test_0002_resolves heap:/ entity store URIs = 0.00 s = . +Rack::Cache::Storage::Heap Store URIs#test_0003_resolves mem:/ meta store URIs = 0.00 s = . +Rack::Cache::Storage::Heap Store URIs#test_0004_resolves mem:/ entity store URIs = 0.00 s = . +Rack::Cache::Storage::Heap Store URIs#test_0001_resolves heap:/ meta store URIs = 0.00 s = . -Finished in 0.523365s, 594.2319 runs/s, 2797.2847 assertions/s. +Finished in 0.198780s, 1564.5442 runs/s, 7364.9283 assertions/s. 311 runs, 1464 assertions, 0 failures, 0 errors, 0 skips @@ -1320,12 +1356,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/129710/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/129710/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/20940 and its subdirectories -I: Current time: Thu Mar 20 12:15:37 -12 2025 -I: pbuilder-time-stamp: 1742516137 +I: removing directory /srv/workspace/pbuilder/129710 and its subdirectories +I: Current time: Thu Apr 23 20:39:10 +14 2026 +I: pbuilder-time-stamp: 1776926350