Diff of the two buildlogs: -- --- b1/build.log 2024-05-05 07:14:40.827571656 +0000 +++ b2/build.log 2024-05-05 07:16:43.690338836 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Jun 7 01:35:28 -12 2025 -I: pbuilder-time-stamp: 1749303328 +I: Current time: Sun May 5 21:14:43 +14 2024 +I: pbuilder-time-stamp: 1714893283 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -28,51 +28,83 @@ dpkg-source: info: applying require-pathname.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1469054/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2785642/tmp/hooks/D01_modify_environment starting +debug: Running on infom01-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 May 5 07:14 /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/2785642/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2785642/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' + 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]="21" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='3ba544f254cb421abec061e92676257c' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1469054' - PS1='# ' - PS2='> ' + INVOCATION_ID=d06e28badbc34d6797456e32e163c8b7 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=2785642 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.rwOM2reE/pbuilderrc_SAIV --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.rwOM2reE/b1 --logfile b1/build.log ruby-dry-container_0.7.2-2.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.rwOM2reE/pbuilderrc_c3Ry --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.rwOM2reE/b2 --logfile b2/build.log ruby-dry-container_0.7.2-2.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom02-amd64 6.6.13+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.13-1~bpo12+1 (2024-02-15) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-20-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Jun 6 14:05 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1469054/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 4 07:42 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2785642/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -252,7 +284,7 @@ Get: 132 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [90.2 kB] Get: 133 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 134 http://deb.debian.org/debian unstable/main amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] -Fetched 47.4 MB in 2s (29.9 MB/s) +Fetched 47.4 MB in 1s (93.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:amd64. (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 ... 19699 files and directories currently installed.) @@ -699,8 +731,8 @@ Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Jun 7 13:37:09 UTC 2025. -Universal Time is now: Sat Jun 7 13:37:09 UTC 2025. +Local time is now: Sun May 5 07:16:11 UTC 2024. +Universal Time is now: Sun May 5 07:16:11 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -822,7 +854,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-dry-container-0.7.2/ && 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-dry-container_0.7.2-2_source.changes +I: user script /srv/workspace/pbuilder/2785642/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/2785642/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-dry-container-0.7.2/ && 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-dry-container_0.7.2-2_source.changes dpkg-buildpackage: info: source package ruby-dry-container dpkg-buildpackage: info: source version 0.7.2-2 dpkg-buildpackage: info: source distribution unstable @@ -851,7 +887,7 @@ dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-dry-container/ -O--buildsystem=ruby dh_ruby --install /build/reproducible-path/ruby-dry-container-0.7.2/debian/ruby-dry-container -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20250607-1482964-x8h9d5/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240505-2798286-bpz0gh/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: open-ended dependency on bundler (>= 0, development) is not recommended use a bounded requirement, such as '~> x.y' @@ -864,7 +900,7 @@ Name: dry-container Version: 0.7.2 File: dry-container-0.7.2.gem -/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-dry-container/usr/share/rubygems-integration/all /tmp/d20250607-1482964-x8h9d5/dry-container-0.7.2.gem +/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-dry-container/usr/share/rubygems-integration/all /tmp/d20240505-2798286-bpz0gh/dry-container-0.7.2.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/reproducible-path/ruby-dry-container-0.7.2/debian/ruby-dry-container/usr/share/rubygems-integration/all/gems/dry-container-0.7.2/lib/dry-container.rb /build/reproducible-path/ruby-dry-container-0.7.2/debian/ruby-dry-container/usr/share/rubygems-integration/all/gems/dry-container-0.7.2/lib/dry/container.rb @@ -912,317 +948,184 @@ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-dry-container-0.7.2/debian/ruby-dry-container/usr/share/rubygems-integration/all:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation -Randomized with seed 40126 - -Dry::Container - inheritance - sets up a container for a child class - behaves like a container - .dup - returns a copy that doesn't share registered keys with the parent - .resolve - accepts a fallback block - .clone - returns a copy that doesn't share registered keys with the parent - re-uses frozen container - with default configuration - #each - returns the container - yields stringified versions of all registered keys to the block - resolving with a key that has not been registered - is expected to raise Dry::Container::Error - registering an object - with option call: false - registers and resolves an object - without options - registers and resolves the object - import - allows importing of nested namespaces - allows importing of namespaces - #merge - without namespace argument - is expected to equal :item - is expected to equal :item - with namespace argument - when namespace is nil - is expected to equal :item - is expected to equal :item - when namespace is not nil - is expected to equal :item - is expected to equal :item - registering a block - without options - without arguments - registers and resolves an object - with arguments - registers and resolves a proc - does not call a proc on resolving if one accepts an arbitrary number of keyword arguments - with option call: false - registers and resolves a proc - mixing Strings and Symbols - is expected to eql "item" - #key? - when key exists in container - is expected to equal true - when key does not exist in container - is expected to equal false - registering a proc - with option call: false - registers and resolves a proc - with option memoize: true - only resolves the proc once - registers and resolves a proc - when receiving something other than a proc - is expected to raise Dry::Container::Error - without options - without arguments - registers and resolves an object - with arguments - registers and resolves a proc - namespace - with nesting - registers items under the given namespaces - with nesting and when block takes arguments - resolves items relative to the namespace - when block takes arguments - registers items under the given namespace - when block does not take arguments - registers items under the given namespace - #each_key - returns the container - yields stringified versions of all registered keys to the block - #keys - returns stringified versions of all registered keys - #decorate - for callable item - memoize true - is expected to equal #:0x00007fe4975f8768>)> - memoize false - is expected not to equal #<#:0x00007fe4975eed08> - does not call the block until the key is resolved - with an instance as a decorator - expected to pass original value to decorator#call method - for not callable item - wrapping - expected to be an instance of SimpleDelegator - memoization - decorates static value only once - registering with the same key multiple times - is expected to raise Dry::Container::Error - configuration - resolver - custom - is expected to eq # - is expected to have received call({}, :key) 1 time - default - is expected to be a kind of Dry::Container::Resolver - registry - custom - is expected to have received call({}, :key, :item, {}) 1 time - default - is expected to be a kind of Dry::Container::Registry - namespace_separator - default - is expected to eq "." - custom - is expected to eq "item" - stubbing - only other keys remain accesible - keys can be reverted back to their original value - raises an error when key is missing - keys can be stubbed - mixing Strings and Symbols - is expected to eql "stub" - with block argument - keys are stubbed only while inside the block - executes the block with the given stubs - .freeze - returns self back - allows to freeze a container so that nothing can be registered later +Randomized with seed 65481 Dry::Container::Mixin - extended + included behaves like a container - .resolve - accepts a fallback block .clone - re-uses frozen container returns a copy that doesn't share registered keys with the parent + re-uses frozen container + .resolve + accepts a fallback block with default configuration - #each_key - returns the container - yields stringified versions of all registered keys to the block - #key? - when key exists in container - is expected to equal true - when key does not exist in container - is expected to equal false - namespace - when block does not take arguments - registers items under the given namespace - when block takes arguments - registers items under the given namespace - with nesting and when block takes arguments - resolves items relative to the namespace - with nesting - registers items under the given namespaces + #keys + returns stringified versions of all registered keys + registering a proc + with option call: false + registers and resolves a proc + with option memoize: true + only resolves the proc once + registers and resolves a proc + when receiving something other than a proc + is expected to raise Dry::Container::Error + without options + without arguments + registers and resolves an object + with arguments + registers and resolves a proc #merge + without namespace argument + is expected to equal :item + is expected to equal :item with namespace argument - when namespace is not nil + when namespace is nil is expected to equal :item is expected to equal :item - when namespace is nil + when namespace is not nil is expected to equal :item is expected to equal :item - without namespace argument - is expected to equal :item - is expected to equal :item - registering with the same key multiple times - is expected to raise Dry::Container::Error - mixing Strings and Symbols - is expected to eql "item" + namespace + when block takes arguments + registers items under the given namespace + when block does not take arguments + registers items under the given namespace + with nesting + registers items under the given namespaces + with nesting and when block takes arguments + resolves items relative to the namespace #decorate for callable item + memoize true + is expected to equal #:0x00007fce1e4f10c0>)> memoize false does not call the block until the key is resolved - is expected not to equal #<#:0x00007fe49765d690> - memoize true - is expected to equal #:0x00007fe4976311a8>)> + is expected not to equal #<#:0x00007fce1e4da0c8> for not callable item - memoization - decorates static value only once wrapping expected to be an instance of SimpleDelegator + memoization + decorates static value only once with an instance as a decorator expected to pass original value to decorator#call method - import - allows importing of nested namespaces - allows importing of namespaces - registering an object - with option call: false - registers and resolves an object - without options - registers and resolves the object + #each_key + returns the container + yields stringified versions of all registered keys to the block + #each + yields stringified versions of all registered keys to the block + returns the container + mixing Strings and Symbols + is expected to eql "item" registering a block - with option call: false - registers and resolves a proc without options with arguments does not call a proc on resolving if one accepts an arbitrary number of keyword arguments registers and resolves a proc without arguments registers and resolves an object - #keys - returns stringified versions of all registered keys - #each - yields stringified versions of all registered keys to the block - returns the container - registering a proc - with option memoize: true - registers and resolves a proc - only resolves the proc once - when receiving something other than a proc - is expected to raise Dry::Container::Error with option call: false registers and resolves a proc - without options - without arguments - registers and resolves an object - with arguments - registers and resolves a proc + #key? + when key does not exist in container + is expected to equal false + when key exists in container + is expected to equal true resolving with a key that has not been registered is expected to raise Dry::Container::Error + import + allows importing of nested namespaces + allows importing of namespaces + registering with the same key multiple times + is expected to raise Dry::Container::Error + registering an object + with option call: false + registers and resolves an object + without options + registers and resolves the object + stubbing + only other keys remain accesible + keys can be reverted back to their original value + keys can be stubbed + raises an error when key is missing + mixing Strings and Symbols + is expected to eql "stub" + with block argument + keys are stubbed only while inside the block + executes the block with the given stubs .dup returns a copy that doesn't share registered keys with the parent .freeze - returns self back allows to freeze a container so that nothing can be registered later + returns self back configuration - namespace_separator - default - is expected to eq "." - custom - is expected to eq "item" resolver - custom - is expected to have received call({}, :key) 1 time - is expected to eq # default is expected to be a kind of Dry::Container::Resolver + custom + is expected to eq # + is expected to have received call({}, :key) 1 time registry default is expected to be a kind of Dry::Container::Registry custom is expected to have received call({}, :key, :item, {}) 1 time + namespace_separator + default + is expected to eq "." + custom + is expected to eq "item" + into a class with a custom .initialize method + does not fail on missing member variable + extended + behaves like a container + .freeze + returns self back + allows to freeze a container so that nothing can be registered later stubbing + raises an error when key is missing keys can be stubbed keys can be reverted back to their original value only other keys remain accesible - raises an error when key is missing mixing Strings and Symbols is expected to eql "stub" with block argument keys are stubbed only while inside the block executes the block with the given stubs - included - into a class with a custom .initialize method - does not fail on missing member variable - behaves like a container - .resolve - accepts a fallback block .dup returns a copy that doesn't share registered keys with the parent - configuration - namespace_separator - default - is expected to eq "." - custom - is expected to eq "item" - resolver - default - is expected to be a kind of Dry::Container::Resolver - custom - is expected to have received call({}, :key) 1 time - is expected to eq # - registry - default - is expected to be a kind of Dry::Container::Registry - custom - is expected to have received call({}, :key, :item, {}) 1 time with default configuration - #decorate - for not callable item - wrapping - expected to be an instance of SimpleDelegator - memoization - decorates static value only once - for callable item - memoize false - is expected not to equal #<#:0x00007fe4975f0f18> - does not call the block until the key is resolved - memoize true - is expected to equal #:0x00007fe4975c7258>)> - with an instance as a decorator - expected to pass original value to decorator#call method - #each_key - returns the container - yields stringified versions of all registered keys to the block - namespace - with nesting - registers items under the given namespaces - with nesting and when block takes arguments - resolves items relative to the namespace - when block takes arguments - registers items under the given namespace - when block does not take arguments - registers items under the given namespace + registering a proc + without options + without arguments + registers and resolves an object + with arguments + registers and resolves a proc + with option memoize: true + registers and resolves a proc + only resolves the proc once + when receiving something other than a proc + is expected to raise Dry::Container::Error + with option call: false + registers and resolves a proc + registering a block + without options + with arguments + registers and resolves a proc + does not call a proc on resolving if one accepts an arbitrary number of keyword arguments + without arguments + registers and resolves an object + with option call: false + registers and resolves a proc + #keys + returns stringified versions of all registered keys + resolving with a key that has not been registered + is expected to raise Dry::Container::Error + mixing Strings and Symbols + is expected to eql "item" #each - yields stringified versions of all registered keys to the block returns the container + yields stringified versions of all registered keys to the block #merge - without namespace argument - is expected to equal :item - is expected to equal :item with namespace argument when namespace is not nil is expected to equal :item @@ -1230,84 +1133,217 @@ when namespace is nil is expected to equal :item is expected to equal :item + without namespace argument + is expected to equal :item + is expected to equal :item + registering with the same key multiple times + is expected to raise Dry::Container::Error #key? when key exists in container is expected to equal true when key does not exist in container is expected to equal false - registering a block - without options - without arguments - registers and resolves an object - with arguments - registers and resolves a proc - does not call a proc on resolving if one accepts an arbitrary number of keyword arguments - with option call: false - registers and resolves a proc - mixing Strings and Symbols - is expected to eql "item" - registering with the same key multiple times - is expected to raise Dry::Container::Error - import - allows importing of nested namespaces - allows importing of namespaces registering an object without options registers and resolves the object with option call: false registers and resolves an object - #keys - returns stringified versions of all registered keys - registering a proc - without options - with arguments - registers and resolves a proc - without arguments - registers and resolves an object - with option call: false - registers and resolves a proc - with option memoize: true - registers and resolves a proc - only resolves the proc once - when receiving something other than a proc - is expected to raise Dry::Container::Error - resolving with a key that has not been registered - is expected to raise Dry::Container::Error + #each_key + yields stringified versions of all registered keys to the block + returns the container + #decorate + with an instance as a decorator + expected to pass original value to decorator#call method + for not callable item + wrapping + expected to be an instance of SimpleDelegator + memoization + decorates static value only once + for callable item + memoize false + is expected not to equal #<#:0x00007fce1e4ccc98> + does not call the block until the key is resolved + memoize true + is expected to equal #:0x00007fce1e4abf98>)> + import + allows importing of nested namespaces + allows importing of namespaces + namespace + with nesting + registers items under the given namespaces + when block does not take arguments + registers items under the given namespace + when block takes arguments + registers items under the given namespace + with nesting and when block takes arguments + resolves items relative to the namespace + .resolve + accepts a fallback block + configuration + namespace_separator + custom + is expected to eq "item" + default + is expected to eq "." + resolver + default + is expected to be a kind of Dry::Container::Resolver + custom + is expected to eq # + is expected to have received call({}, :key) 1 time + registry + custom + is expected to have received call({}, :key, :item, {}) 1 time + default + is expected to be a kind of Dry::Container::Registry .clone - returns a copy that doesn't share registered keys with the parent re-uses frozen container - stubbing - keys can be reverted back to their original value - only other keys remain accesible - raises an error when key is missing - keys can be stubbed - mixing Strings and Symbols - is expected to eql "stub" - with block argument - keys are stubbed only while inside the block - executes the block with the given stubs - .freeze - allows to freeze a container so that nothing can be registered later - returns self back + returns a copy that doesn't share registered keys with the parent + +Dry::Container + behaves like a container + .resolve + accepts a fallback block + with default configuration + mixing Strings and Symbols + is expected to eql "item" + namespace + with nesting + registers items under the given namespaces + when block takes arguments + registers items under the given namespace + with nesting and when block takes arguments + resolves items relative to the namespace + when block does not take arguments + registers items under the given namespace + import + allows importing of namespaces + allows importing of nested namespaces + #each + returns the container + yields stringified versions of all registered keys to the block + #decorate + for not callable item + wrapping + expected to be an instance of SimpleDelegator + memoization + decorates static value only once + for callable item + memoize false + is expected not to equal #<#:0x00007fce1e5197f0> + does not call the block until the key is resolved + memoize true + is expected to equal #:0x00007fce1e550db8>)> + with an instance as a decorator + expected to pass original value to decorator#call method + registering a proc + with option memoize: true + only resolves the proc once + registers and resolves a proc + when receiving something other than a proc + is expected to raise Dry::Container::Error + without options + with arguments + registers and resolves a proc + without arguments + registers and resolves an object + with option call: false + registers and resolves a proc + #merge + without namespace argument + is expected to equal :item + is expected to equal :item + with namespace argument + when namespace is not nil + is expected to equal :item + is expected to equal :item + when namespace is nil + is expected to equal :item + is expected to equal :item + resolving with a key that has not been registered + is expected to raise Dry::Container::Error + registering with the same key multiple times + is expected to raise Dry::Container::Error + #each_key + yields stringified versions of all registered keys to the block + returns the container + #key? + when key exists in container + is expected to equal true + when key does not exist in container + is expected to equal false + #keys + returns stringified versions of all registered keys + registering an object + without options + registers and resolves the object + with option call: false + registers and resolves an object + registering a block + with option call: false + registers and resolves a proc + without options + without arguments + registers and resolves an object + with arguments + does not call a proc on resolving if one accepts an arbitrary number of keyword arguments + registers and resolves a proc + .clone + re-uses frozen container + returns a copy that doesn't share registered keys with the parent + .dup + returns a copy that doesn't share registered keys with the parent + configuration + resolver + default + is expected to be a kind of Dry::Container::Resolver + custom + is expected to eq # + is expected to have received call({}, :key) 1 time + registry + custom + is expected to have received call({}, :key, :item, {}) 1 time + default + is expected to be a kind of Dry::Container::Registry + namespace_separator + default + is expected to eq "." + custom + is expected to eq "item" + .freeze + allows to freeze a container so that nothing can be registered later + returns self back + stubbing + raises an error when key is missing + only other keys remain accesible + keys can be reverted back to their original value + keys can be stubbed + mixing Strings and Symbols + is expected to eql "stub" + with block argument + keys are stubbed only while inside the block + executes the block with the given stubs + inheritance + sets up a container for a child class -Top 3 slowest examples (0.02331 seconds, 13.1% of total time): - Dry::Container behaves like a container with default configuration #decorate for callable item memoize true is expected to equal #:0x00007fe4975f8768>)> - 0.01742 seconds ./spec/support/shared_examples/container.rb:420 - Dry::Container behaves like a container stubbing with block argument executes the block with the given stubs - 0.00304 seconds ./spec/support/shared_examples/container.rb:597 +Top 3 slowest examples (0.03222 seconds, 15.4% of total time): + Dry::Container::Mixin included behaves like a container with default configuration #decorate for callable item memoize true is expected to equal #:0x00007fce1e4f10c0>)> + 0.01185 seconds ./spec/support/shared_examples/container.rb:420 + Dry::Container behaves like a container with default configuration #decorate for callable item memoize false is expected not to equal #<#:0x00007fce1e5197f0> + 0.01027 seconds ./spec/support/shared_examples/container.rb:409 Dry::Container behaves like a container with default configuration #decorate for callable item memoize false does not call the block until the key is resolved - 0.00285 seconds ./spec/support/shared_examples/container.rb:403 + 0.0101 seconds ./spec/support/shared_examples/container.rb:403 Top 2 slowest example groups: - Dry::Container - 0.00101 seconds average (0.06139 seconds / 61 examples) ./spec/integration/container_spec.rb:1 Dry::Container::Mixin - 0.00088 seconds average (0.10697 seconds / 121 examples) ./spec/integration/mixin_spec.rb:1 + 0.00104 seconds average (0.1255 seconds / 121 examples) ./spec/integration/mixin_spec.rb:1 + Dry::Container + 0.0009 seconds average (0.0547 seconds / 61 examples) ./spec/integration/container_spec.rb:1 -Finished in 0.17744 seconds (files took 0.83648 seconds to load) +Finished in 0.20937 seconds (files took 0.18459 seconds to load) 182 examples, 0 failures -Randomized with seed 40126 +Randomized with seed 65481 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1339,12 +1375,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2785642/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2785642/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/1469054 and its subdirectories -I: Current time: Sat Jun 7 01:37:40 -12 2025 -I: pbuilder-time-stamp: 1749303460 +I: removing directory /srv/workspace/pbuilder/2785642 and its subdirectories +I: Current time: Sun May 5 21:16:42 +14 2024 +I: pbuilder-time-stamp: 1714893402