Diff of the two buildlogs: -- --- b1/build.log 2024-04-27 09:38:22.894259463 +0000 +++ b2/build.log 2024-04-27 09:40:10.097684958 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri May 30 04:00:45 -12 2025 -I: pbuilder-time-stamp: 1748620845 +I: Current time: Sat Apr 27 23:38:26 +14 2024 +I: pbuilder-time-stamp: 1714210706 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -28,52 +28,84 @@ 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/838834/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3955902/tmp/hooks/D01_modify_environment starting +debug: Running on codethink02-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Apr 27 09: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/3955902/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3955902/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='arm64' - 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]="aarch64-unknown-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=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='eba90308ad8d40e28a3056b6c504ab42' - 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='838834' - PS1='# ' - PS2='> ' + INVOCATION_ID=be63e91abff84e33a0b5bad40ddcf9fb + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=3955902 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.g9FjKMa1/pbuilderrc_w675 --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.g9FjKMa1/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' - http_proxy='http://192.168.101.4: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.g9FjKMa1/pbuilderrc_uRVL --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.g9FjKMa1/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' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink01-arm64 6.1.0-20-cloud-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-20-cloud-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 26 17:47 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/838834/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Apr 21 07:15 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3955902/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -358,7 +390,7 @@ Get: 133 http://deb.debian.org/debian trixie/main arm64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [90.2 kB] Get: 134 http://deb.debian.org/debian trixie/main arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 135 http://deb.debian.org/debian trixie/main arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] -Fetched 49.0 MB in 0s (115 MB/s) +Fetched 49.0 MB in 1s (87.2 MB/s) debconf: delaying package configuration, since apt-utils is not installed dpkg: libssl3:arm64: dependency problems, but removing anyway as you requested: libkrb5-3:arm64 depends on libssl3 (>= 3.0.0). @@ -816,8 +848,8 @@ Setting up tzdata (2024a-3) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri May 30 16:01:06 UTC 2025. -Universal Time is now: Fri May 30 16:01:06 UTC 2025. +Local time is now: Sat Apr 27 09:39:16 UTC 2024. +Universal Time is now: Sat Apr 27 09:39:16 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -939,7 +971,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/3955902/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/3955902/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 @@ -968,7 +1004,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/d20250530-853790-47n8dn/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240427-3971898-o6s6sv/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' @@ -981,7 +1017,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/d20250530-853790-47n8dn/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/d20240427-3971898-o6s6sv/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 @@ -1029,181 +1065,228 @@ 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/aarch64-linux-gnu/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/aarch64-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 21141 +Randomized with seed 61005 Dry::Container::Mixin extended behaves like a container - .freeze - returns self back - allows to freeze a container so that nothing can be registered later - 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 - namespace_separator - custom - is expected to eq "item" - default - is expected to eq "." - registry - custom - is expected to have received call({}, :key, :item, {}) 1 time - default - is expected to be a kind of Dry::Container::Registry - .dup - returns a copy that doesn't share registered keys with the parent - .resolve - accepts a fallback block with default configuration - #each_key - returns the container + #each 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 + returns the container mixing Strings and Symbols is expected to eql "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 + 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 + when block takes arguments + registers items under the given namespace + 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 #decorate with an instance as a decorator expected to pass original value to decorator#call method - for not callable item - memoization - decorates static value only once - wrapping - expected to be an instance of SimpleDelegator for callable item memoize false + is expected not to equal #<#:0x0000ffff9f14fe48> does not call the block until the key is resolved - is expected not to equal #<#:0x0000ffff7d6c1330> memoize true - is expected to equal #:0x0000ffff7d6e7738>)> - #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 - registering an object + is expected to equal #:0x0000ffff9f13d590>)> + for not callable item + wrapping + expected to be an instance of SimpleDelegator + memoization + decorates static value only once + registering a proc with option call: false - registers and resolves an object - without options - registers and resolves the object - registering a block + 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 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 + registering an object with option call: false - registers and resolves a proc - registering with the same key multiple times - is expected to raise Dry::Container::Error + registers and resolves an object + without options + registers and resolves the object #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 + #each_key + yields stringified versions of all registered keys to the block + returns the container import allows importing of nested namespaces allows importing of namespaces - registering a proc - with option call: false - registers and resolves a proc - without options - with arguments - registers and resolves a proc - without arguments - registers and resolves an object - 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 - namespace - 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 - with nesting - registers items under the given namespaces - #each - 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 + is expected to equal :item + when namespace is nil + is expected to equal :item + is expected to equal :item + 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 + namespace_separator + default + is expected to eq "." + custom + is expected to eq "item" + registry + custom + is expected to have received call({}, :key, :item, {}) 1 time + default + is expected to be a kind of Dry::Container::Registry + .dup + returns a copy that doesn't share registered keys with the parent + .resolve + accepts a fallback block stubbing only other keys remain accesible + keys can be stubbed raises an error when key is missing keys can be reverted back to their original value - keys can be stubbed with block argument - executes the block with the given stubs keys are stubbed only while inside the block + executes the block with the given stubs mixing Strings and Symbols is expected to eql "stub" .clone - re-uses frozen container returns a copy that doesn't share registered keys with the parent + re-uses frozen container + .freeze + returns self back + allows to freeze a container so that nothing can be registered later 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 .freeze allows to freeze a container so that nothing can be registered later returns self back + .resolve + accepts a fallback block + 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 + 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 - raises an error when key is missing - keys can be reverted back to their original value - only other keys remain accesible - keys can be stubbed - with block argument - keys are stubbed only while inside the block - executes the block with the given stubs - mixing Strings and Symbols - is expected to eql "stub" + returns a copy that doesn't share registered keys with the parent with default configuration + #keys + returns stringified versions of all registered keys + registering with the same key multiple times + is expected to raise Dry::Container::Error + mixing Strings and Symbols + is expected to eql "item" + registering an object + with option call: false + registers and resolves an object + without options + registers and resolves the object 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 + registers and resolves a proc without arguments registers and resolves an object with option call: false registers and resolves a proc + #decorate + for not callable item + memoization + decorates static value only once + wrapping + expected to be an instance of SimpleDelegator + for callable item + memoize false + is expected not to equal #<#:0x0000ffff9f1656f8> + does not call the block until the key is resolved + memoize true + is expected to equal #:0x0000ffff9f30da78>)> + with an instance as a decorator + expected to pass original value to decorator#call method + #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 namespace with nesting registers items under the given namespaces + when block takes arguments + registers items under the given namespace when block does not take arguments registers items under the given namespace with nesting and when block takes arguments resolves items relative to the namespace - when block takes arguments - registers items under the given namespace + 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 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 + #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 without options without arguments registers and resolves an object @@ -1211,220 +1294,173 @@ registers and resolves a proc with option call: false registers and resolves a proc - mixing Strings and Symbols - is expected to eql "item" - #keys - returns stringified versions of all registered keys - registering an object - with option call: false - registers and resolves an object - without options - registers and resolves the object - #merge - 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 - without namespace argument - is expected to equal :item - is expected to equal :item - import - allows importing of nested namespaces - allows importing of namespaces + 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 #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 - #decorate - for callable item - memoize true - is expected to equal #:0x0000ffff7d5d0340>)> - memoize false - is expected not to equal #<#:0x0000ffff7d58f458> - does not call the block until the key is resolved - for not callable item - 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 - resolving with a key that has not been registered - is expected to raise Dry::Container::Error - #each - yields stringified versions of all registered keys to the block - returns the container - registering with the same key multiple times - is expected to raise Dry::Container::Error - configuration - 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" - 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 + .dup + returns a copy that doesn't share registered keys with the parent + stubbing + keys can be reverted back to their original value + raises an error when key is missing + only other keys remain accesible + keys can be stubbed + with block argument + executes the block with the given stubs + keys are stubbed only while inside the block + mixing Strings and Symbols + is expected to eql "stub" + into a class with a custom .initialize method + does not fail on missing member variable Dry::Container behaves like a container + .resolve + accepts a fallback block + .freeze + allows to freeze a container so that nothing can be registered later + returns self back + .dup + returns a copy that doesn't share registered keys with the parent stubbing - only other keys remain accesible - 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 + keys can be stubbed with block argument keys are stubbed only while inside the block executes the block with the given stubs mixing Strings and Symbols is expected to eql "stub" + .clone + re-uses frozen container + returns a copy that doesn't share registered keys with the parent + configuration + namespace_separator + custom + is expected to eq "item" + default + 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 + 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 with default configuration + 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 + only resolves the proc once + registers and resolves a proc + when receiving something other than a proc + is expected to raise Dry::Container::Error + #each + yields stringified versions of all registered keys to the block + returns the container #keys returns stringified versions of all registered keys - #key? - when key does not exist in container - is expected to equal false - when key exists in container - is expected to equal true - registering a block + registering an object with option call: false - registers and resolves a proc + registers and resolves an object + without options + registers and resolves the object + import + allows importing of nested namespaces + allows importing of namespaces + registering a block 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 - resolving with a key that has not been registered - is expected to raise Dry::Container::Error + with option call: false + registers and resolves a proc 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 + 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 #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 callable item - memoize false - does not call the block until the key is resolved - is expected not to equal #<#:0x0000ffff7d55b1a8> - memoize true - is expected to equal #:0x0000ffff7d557008>)> - for not callable item - memoization - decorates static value only once - wrapping - expected to be an instance of SimpleDelegator - import - allows importing of namespaces - allows importing of nested namespaces - #each yields stringified versions of all registered keys to the block - returns the container + 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 + mixing Strings and Symbols + is expected to eql "item" #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 an object - with option call: false - registers and resolves an object - without options - registers and resolves the object - registering a proc - with option call: false - registers and resolves a proc - without options - with arguments - registers and resolves a proc - without arguments - registers and resolves an object - 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 - registering with the same key multiple times - is expected to raise Dry::Container::Error - mixing Strings and Symbols - is expected to eql "item" - .freeze - returns self back - allows to freeze a container so that nothing can be registered later - .dup - returns a copy that doesn't share registered keys with the parent - .clone - re-uses frozen container - 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 - 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 - registry - default - is expected to be a kind of Dry::Container::Registry - custom - is expected to have received call({}, :key, :item, {}) 1 time - .resolve - accepts a fallback block + #key? + when key exists in container + is expected to equal true + when key does not exist in container + is expected to equal false + #decorate + for not callable item + memoization + decorates static value only once + wrapping + expected to be an instance of SimpleDelegator + with an instance as a decorator + expected to pass original value to decorator#call method + for callable item + memoize false + does not call the block until the key is resolved + is expected not to equal #<#:0x0000ffff9f0c0fb8> + memoize true + is expected to equal #:0x0000ffff9f0bce68>)> inheritance sets up a container for a child class -Top 3 slowest examples (0.02001 seconds, 12.9% of total time): - Dry::Container::Mixin extended behaves like a container with default configuration #decorate for not callable item memoization decorates static value only once - 0.00714 seconds ./spec/support/shared_examples/container.rb:452 - Dry::Container::Mixin extended behaves like a container stubbing with block argument executes the block with the given stubs - 0.00655 seconds ./spec/support/shared_examples/container.rb:597 - Dry::Container::Mixin extended behaves like a container configuration resolver custom is expected to eq # - 0.00632 seconds ./spec/support/shared_examples/container.rb:72 +Top 3 slowest examples (0.0568 seconds, 12.7% of total time): + Dry::Container::Mixin included behaves like a container with default configuration registering a proc without options without arguments registers and resolves an object + 0.02386 seconds ./spec/support/shared_examples/container.rb:156 + Dry::Container::Mixin included behaves like a container with default configuration registering a proc without options with arguments registers and resolves a proc + 0.02179 seconds ./spec/support/shared_examples/container.rb:167 + Dry::Container::Mixin extended behaves like a container with default configuration #decorate for callable item memoize true is expected to equal #:0x0000ffff9f13d590>)> + 0.01114 seconds ./spec/support/shared_examples/container.rb:420 Top 2 slowest example groups: Dry::Container::Mixin - 0.00108 seconds average (0.13122 seconds / 121 examples) ./spec/integration/mixin_spec.rb:1 + 0.00301 seconds average (0.36391 seconds / 121 examples) ./spec/integration/mixin_spec.rb:1 Dry::Container - 0.00035 seconds average (0.02113 seconds / 61 examples) ./spec/integration/container_spec.rb:1 + 0.00129 seconds average (0.07897 seconds / 61 examples) ./spec/integration/container_spec.rb:1 -Finished in 0.15524 seconds (files took 0.19331 seconds to load) +Finished in 0.44549 seconds (files took 0.45615 seconds to load) 182 examples, 0 failures -Randomized with seed 21141 +Randomized with seed 61005 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1456,12 +1492,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/3955902/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3955902/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/838834 and its subdirectories -I: Current time: Fri May 30 04:01:20 -12 2025 -I: pbuilder-time-stamp: 1748620880 +I: removing directory /srv/workspace/pbuilder/3955902 and its subdirectories +I: Current time: Sat Apr 27 23:40:08 +14 2024 +I: pbuilder-time-stamp: 1714210808