Diff of the two buildlogs: -- --- b1/build.log 2025-11-04 23:58:24.094485470 +0000 +++ b2/build.log 2025-11-04 23:59:52.566587711 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Nov 4 11:56:01 -12 2025 -I: pbuilder-time-stamp: 1762300561 +I: Current time: Tue Dec 8 20:21:25 +14 2026 +I: pbuilder-time-stamp: 1796710885 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -26,53 +26,85 @@ dpkg-source: info: applying skip-test-failing-in-ubuntu.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/4099947/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/642773/tmp/hooks/D01_modify_environment starting +debug: Running on ionos5-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 Dec 8 06:21 /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/642773/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/642773/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' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + 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]="3" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.3.3(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=42 nocheck' + 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='ef661d8bd39a401e8d7e874809a924d0' - 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='4099947' - PS1='# ' - PS2='> ' + INVOCATION_ID=4318aefd0b4343818122f7865753320f + 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=642773 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.iqQbNHCg/pbuilderrc_JPgl --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.iqQbNHCg/b1 --logfile b1/build.log ruby-faraday_2.14.0-1.dsc' - SUDO_GID='110' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='105' - 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.iqQbNHCg/pbuilderrc_csTQ --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.iqQbNHCg/b2 --logfile b2/build.log ruby-faraday_2.14.0-1.dsc' + SUDO_GID=110 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=105 + 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 ionos1-amd64 6.12.48+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.48-1 (2025-09-20) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.48-1 (2025-09-20) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/4099947/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/642773/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -311,7 +343,7 @@ Get: 173 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 174 http://deb.debian.org/debian unstable/main amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 175 http://deb.debian.org/debian unstable/main amd64 ruby-webmock all 3.25.1-1 [68.8 kB] -Fetched 39.4 MB in 13s (3100 kB/s) +Fetched 39.4 MB in 0s (83.2 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1: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 ... 19866 files and directories currently installed.) @@ -892,8 +924,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Tue Nov 4 23:57:41 UTC 2025. -Universal Time is now: Tue Nov 4 23:57:41 UTC 2025. +Local time is now: Tue Dec 8 06:22:30 UTC 2026. +Universal Time is now: Tue Dec 8 06:22:30 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-3) ... @@ -1048,7 +1080,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-faraday-2.14.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-faraday_2.14.0-1_source.changes +I: user script /srv/workspace/pbuilder/642773/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/642773/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-faraday-2.14.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-faraday_2.14.0-1_source.changes dpkg-buildpackage: info: source package ruby-faraday dpkg-buildpackage: info: source version 2.14.0-1 dpkg-buildpackage: info: source distribution unstable @@ -1070,8 +1106,7 @@ dh_ruby --configure dh_auto_build -O--buildsystem=ruby dh_ruby --build - dh_auto_test -O--buildsystem=ruby - dh_ruby --test +dh: command-omitted: The call to "dh_auto_test -O--buildsystem=ruby" was omitted due to "DEB_BUILD_OPTIONS=nocheck" create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=ruby dh_prep -O--buildsystem=ruby @@ -1082,7 +1117,7 @@ │ ruby-faraday: Installing files and building extensions for ruby3.3 │ └──────────────────────────────────────────────────────────────────────────────┘ -/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20251104-4154102-7j4m0a/gemspec +/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20261208-671009-7xelxr/gemspec WARNING: open-ended dependency on json (>= 0) is not recommended use a bounded requirement, such as "~> x.y" WARNING: open-ended dependency on logger (>= 0) is not recommended @@ -1092,7 +1127,7 @@ Name: faraday Version: 2.14.0 File: faraday-2.14.0.gem -/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-faraday/usr/share/rubygems-integration/all /tmp/d20251104-4154102-7j4m0a/faraday-2.14.0.gem +/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-faraday/usr/share/rubygems-integration/all /tmp/d20261208-671009-7xelxr/faraday-2.14.0.gem /build/reproducible-path/ruby-faraday-2.14.0/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-2.14.0/lib/faraday.rb /build/reproducible-path/ruby-faraday-2.14.0/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-2.14.0/lib/faraday/adapter.rb /build/reproducible-path/ruby-faraday-2.14.0/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-2.14.0/lib/faraday/adapter/test.rb @@ -1151,1023 +1186,7 @@ cd - cd - dh_installchangelogs -pruby-faraday /build/reproducible-path/ruby-faraday-2.14.0/CHANGELOG.md upstream -/usr/bin/ruby3.3 /usr/bin/gem2deb-test-runner - -┌──────────────────────────────────────────────────────────────────────────────┐ -│ Checking Rubygems dependency resolution on ruby3.3 │ -└──────────────────────────────────────────────────────────────────────────────┘ - -RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-faraday-2.14.0/debian/ruby-faraday/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-faraday-2.14.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -e gem\ \"faraday\" - -┌──────────────────────────────────────────────────────────────────────────────┐ -│ Run tests for ruby3.3 from debian/ruby-tests.rake │ -└──────────────────────────────────────────────────────────────────────────────┘ - -RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-faraday-2.14.0/debian/ruby-faraday/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-faraday-2.14.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake -/usr/bin/ruby3.3 -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 ./spec/faraday/adapter/test_spec.rb ./spec/faraday/adapter_registry_spec.rb ./spec/faraday/adapter_spec.rb ./spec/faraday/connection_spec.rb ./spec/faraday/error_spec.rb ./spec/faraday/middleware_registry_spec.rb ./spec/faraday/middleware_spec.rb ./spec/faraday/options/env_spec.rb ./spec/faraday/options/options_spec.rb ./spec/faraday/options/proxy_options_spec.rb ./spec/faraday/options/request_options_spec.rb ./spec/faraday/params_encoders/flat_spec.rb ./spec/faraday/params_encoders/nested_spec.rb ./spec/faraday/rack_builder_spec.rb ./spec/faraday/request/authorization_spec.rb ./spec/faraday/request/instrumentation_spec.rb ./spec/faraday/request/json_spec.rb ./spec/faraday/request/url_encoded_spec.rb ./spec/faraday/request_spec.rb ./spec/faraday/response/json_spec.rb ./spec/faraday/response/logger_spec.rb ./spec/faraday/response/raise_error_spec.rb ./spec/faraday/response_spec.rb ./spec/faraday/utils/headers_spec.rb ./spec/faraday/utils_spec.rb ./spec/faraday_spec.rb --format documentation - -Randomized with seed 64782 - -Faraday::Response::Json - chokes on invalid json - includes the response on the ParsingError instance - with array type matching - ignores json body of incorrect type - parses json body of correct type - with decoder - when decoder is passed as object - passes relevant options to specified decoder's load method - when decoder is passed as an object-method pair - passes relevant options to specified decoder's method - when decoder is not passed - passes relevant options to JSON parse - passes relevant options to JSON parse even when nil responds to :load - HEAD responses - nullifies the body if it's only one space - nullifies the body if it's two spaces - no type matching - nullifies empty body - parses json body - doesn't change nil body - with default regexp type matching - parses json body of correct type - ignores json body of incorrect type - JSON options - passes relevant options to JSON parse - with preserving raw - parses json body - -Faraday::Request - supports marshal serialization - when setting the url on setup with a string path and params - is expected to eq "foo.json" - is expected to eq "http://httpbingo.org/api/foo.json?a=1" - is expected to eq {"a"=>1} - when setting a header on setup with []= syntax - is expected to eq "Faraday" - is expected to eq "Faraday" - is expected to eq "1.0" - when setting the url on setup with a URI - is expected to eq {"a"=>"1"} - is expected to eq "http://httpbingo.org/api/foo.json?a=1" - is expected to eq # - when setting the body on setup - is expected to eq "hi" - is expected to eq "hi" - with global request options set - is expected to eq 3 - is expected to eq 5 - is expected to eq 3 - is expected to eq 5 - and per-request options set - is expected to eq 10 - is expected to eq {:bar=>"bar", :foo=>"foo"} - is expected to eq "boo" - is expected to eq 5 - is expected to eq 10 - is expected to eq {:consumer_key=>"anonymous", :consumer_secret=>"xyz"} - is expected to eq 5 - when nothing particular is configured - is expected to be falsey - is expected to be falsey - is expected to eq :get - when setting the url on setup with a path including params - is expected to eq "foo.json" - is expected to eq {"a"=>"1", "b"=>"2"} - is expected to eq "http://httpbingo.org/api/foo.json?a=1&b=2" - when HTTP method is post - is expected to eq :post - -Faraday::Response::Logger - does not log request body by default - does not log response body by default - logs method and url - logs filter headers - logs response headers by default - logs filter url - does not log error message by default - still returns output - logs request headers by default - logs status - when logger with program name - logs with program name - with custom formatter - logs with custom formatter - when not logging response headers - does not log response headers if option is false - when logging response body - logs only response body - when using log_level - does not log headers on the info level - logs request/request body on the specified level (debug) - logs headers on the debug level - does not log request/response body on the info level - when logging request body - logs only request body - when logger without program name - logs without program name - when bodies are logged by default - logs response body - converts to UTF-8 - when logging headers and errors - logs error message - when logging errors - logs error message - when logging request and response bodies - logs request and response body - logs response body object - logs filter body - when not logging request headers - does not log request headers if option is false - with default formatter - delegates logging to the formatter - when no route - delegates logging to the formatter - without configuration - defaults to stdout - -Faraday::Request::Authorization - basic_auth - when passed correct params - is expected to eq "Basic YWxhZGRpbjpvcGVuc2VzYW1l" - and request already has an authentication header - does not interfere with existing authorization - when passed very long values - is expected to eq "Basic QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU...UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOg==" - and request already has an authentication header - does not interfere with existing authorization - authorization - with an argument - when passed a lambda - is expected to eq "Bearer lambda crunchy surprise" - and request already has an authentication header - does not interfere with existing authorization - when passed a callable with an argument - is expected to eq "Bearer callable crunchy surprise" - and request already has an authentication header - does not interfere with existing authorization - when passed a proc - is expected to eq "Bearer proc crunchy surprise" - and request already has an authentication header - does not interfere with existing authorization - when passed a proc - is expected to eq "Bearer custom_from_proc" - and request already has an authentication header - does not interfere with existing authorization - when passed too many arguments - is expected to raise ArgumentError - and request already has an authentication header - does not interfere with existing authorization - when passed a callable - is expected to eq "Bearer custom_from_callable" - and request already has an authentication header - does not interfere with existing authorization - when passed a string - is expected to eq "Bearer custom" - and request already has an authentication header - does not interfere with existing authorization - -Faraday::RackBuilder - with custom handler and adapter - dup stack is unlocked - allows to compare handlers - locks the stack after making a request - when a plain adapter is added with named arguments - adds a handler to construct adapter with options passed to adapter - with custom empty block - is expected to eq Faraday::Adapter::Test - is expected to be nil - when middleware is added with named arguments - adds a handler to construct middleware with options passed to use - when having a single handler - allows insert_before - allows insert_after - raises an error trying to use an unregistered symbol - is expected to eq [Apple] - allows use - when adapter is added with named options - adds a handler to construct adapter with named options - when handlers are directly added or updated - adds a handler to construct adapter with options passed to insert - adds a handler with options passed to insert_after - adds a handler with options passed to swap - when having two handlers - allows to delete a handler - allows insert_after - allows to swap handlers - allows insert_before - when a middleware is added with named arguments - adds a handler to construct request adapter with options passed to request - with default stack - is expected to eq Faraday::Request::UrlEncoded - is expected to eq Faraday::Adapter::Test - when a middleware is added with named arguments - adds a handler to construct response adapter with options passed to response - with custom adapter only - is expected to eq Faraday::Adapter::Test - is expected to be nil - -Faraday::Utils::Headers - #fetch - is expected to eq false - is expected to eq "application/json" - is expected to be nil - calls a block when provided - is expected to eq "application/json" - raises an error if key not found - is expected to eq "Invalid key" - is expected to eq "default" - is expected to eq "application/json" - when Content-Type is set to application/xml - is expected to include "content-type" - is expected to eq "application/xml" - is expected to eq "application/xml" - is expected to eq "application/xml" - is expected to eq ["Content-Type"] - #dig - is expected to eq "application/json" - is expected to be nil - is expected to eq "application/json" - is expected to eq "application/json" - #delete - is expected to be nil - is expected to eq 0 - is expected not to include "content-type" - is expected to eq "application/json" - #parse - when response headers values include a colon - is expected to eq "http://httpbingo.org/" - when response headers leave http status line out - is expected to eq ["Content-Type"] - is expected to eq "text/html" - is expected to eq "text/html" - when response headers include already stored keys - is expected to eq "8, 123" - when response headers include a blank line - is expected to eq "text/html" - when Content-Type is set to application/json - is expected to eq "application/json" - is expected to eq ["Content-Type"] - is expected to eq "application/json" - is expected to eq "application/json" - is expected to include "content-type" - -Faraday::AdapterRegistry - #initialize - looks up class by string name - looks up class by symbol name - caches lookups with explicit name - is expected to raise NameError - is expected to raise NameError - caches lookups with implicit name - -Faraday::FlatParamsEncoder - encodes unsorted when asked - decodes arrays - encodes boolean values in array - decodes boolean values - encodes empty array in hash - encodes boolean values - behaves like a params encoder - escapes safe buffer - encodes nil - raises type error for empty string - -Faraday::Options - #merge - deeply merges options with nil - merges options with hashes - deeply merges options with hashes - deeply merges options with options having nil sub-options - deeply merges two options - #empty? - returns true only if all options are nil - #delete - allows to remove value for key - #dup - duplicate options but not sub-options - #value? - returns true if any key has that value - #memoized - requires block - accepts block - #each_key - allows to iterate through keys - #each_value - allows to iterate through values - #deep_dup - duplicate options and also suboptions - #update - updates options from hashes - #key? - returns true if the key exists and is not nil - #clear - clears the options - #from - works with hash with sub object - is expected to raise NoMethodError - works with options with sub object - works with hash - works with deep hash - works with options - respects inheritance - works with nil - #fetch - when the fetched key has a value - works with key - grabs value - when the fetched key has no value - needs a default if key is missing - accepts block - uses falsey default - -Faraday - has a version number - proxies to default_connection - uses method_missing on Faraday if there is no proxyable method - proxies methods that exist on the default_connection - proxied methods can be accessed - -Faraday::Utils - URI parsing - parses with default parser - parses with URI - escapes safe buffer - replaces headers hash - parses with block - .deep_merge! - recursively merges the headers - when a target hash has an Options Struct value - does not overwrite an Options Struct value - headers parsing - parse headers for aggregated responses - -Faraday::NestedParamsEncoder - decodes nested array mixed types - encodes nil array value - decodes nested subkeys dont have to be in brackets - decodes hashes - encodes arrays indices when asked - decodes nested final value overrides any type - encodes rack compat - encodes boolean values - decodes nested ignores repeated array notation - encodes empty string array value - decodes nested ignores invalid array - encodes empty array value - encodes unsorted when asked - decodes arrays - decodes nested ignores malformed keys - encodes boolean values in array - decodes nested arrays rack compat - when expecting hash but getting string - behaves like a wrong decoding - is expected to raise TypeError - when expecting hash but getting array - behaves like a wrong decoding - is expected to raise TypeError - behaves like a params encoder - escapes safe buffer - encodes nil - raises type error for empty string - when expecting array but getting string - behaves like a wrong decoding - is expected to raise TypeError - when expecting nested hash but getting non nested - behaves like a wrong decoding - is expected to raise TypeError - when expecting array but getting hash - behaves like a wrong decoding - is expected to raise TypeError - -Faraday::Request::Instrumentation - is expected to eq "request.faraday" - instruments with default name - defaults to ActiveSupport::Notifications - with custom instrumenter - is expected to eq :custom - with custom name - instruments with custom name - is expected to eq "custom" - -Faraday::Response::RaiseError - raises Faraday::TooManyRequestsError for 429 responses - raises Faraday::ForbiddenError for 403 responses - raises Faraday::BadRequestError for 400 responses - raises legacy Faraday::UnprocessableEntityError for 422 responses - raises Faraday::NilStatusError for nil status in response - raises Faraday::UnprocessableContentError for 422 responses - raises Faraday::ConflictError for 409 responses - raises Faraday::ServerError for 500 responses - raises Faraday::UnauthorizedError for 401 responses - raises Faraday::ResourceNotFound for 404 responses - raises Faraday::RequestTimeoutError for 408 responses - raises Faraday::ProxyAuthError for 407 responses - raises Faraday::ClientError for other 4xx responses - raises no exception for 200 responses - request info - returns the request info in the exception - DEFAULT_OPTION: include_request - when RaiseError DEFAULT_OPTION (include_request: true) is used - includes request info in the exception - when application sets default_options `include_request: false` - and when include_request option is omitted - does not include request info in the exception - and when include_request option is explicitly set for instance - includes request info in the exception - allowing certain status codes - does not raise an error for allowed status codes - raises an error for status codes that are not explicitly allowed - -Faraday::MiddlewareRegistry - allows to register with symbol - allows to register with constant - allows to register with string - allows to register with Proc - -Faraday::Adapter - #request_timeout - gets :read timeout - attempts unknown timeout type - gets :write timeout - gets :open timeout - -Faraday::Connection - #build_exclusive_url - does not add ending slash given empty url - does not use connection params - always returns new URI instance - allows to provide params argument - overrides connection port for absolute url - does not add ending slash given nil url - handles uri instances - with absolute path - example at ./spec/faraday/connection_spec.rb:205 - is expected to eq "/sake.html" - is expected to eq "/sake.html" - is expected to eq "/sake.html" - with relative path - uses connection host as default host - is expected to eq "/sake.html" - is expected to eq "/fish/sake.html" - is expected to eq "/fish/sake.html" - is expected to eq "/fish/sake.html" - with a custom `default_uri_parser` - does not raise error - with complete url - is expected to eq "httpbingo.org" - is expected to eq "http" - is expected to eq "a=1" - is expected to eq "/sake.html" - is expected to eq 80 - with colon in path - joins url to base when used with path prefix - joins url to base when used absolute path - joins url to base when used relative path - with url_prefixed connection - used default base with ending slash - overrides base - parses url and changes scheme - joins url to base with ending slash - proxy support - fetches no proxy from blank env - accepts string - accepts hash - accepts hash with string uri - does not accept uppercase env - uses processes no_proxy before https_proxy - accepts http env with auth - allows when url is not in no proxy list but ip address is - allows when url in no proxy list - uses env https_proxy - accepts uri - fetches no proxy from nil env - allows in multi element no proxy list - allows when ip address is not in no proxy list but url is - test proxy requires uri - allows when prefixed url is not in no proxy list - ignores env proxy if set that way - accepts http env - allows when subdomain url is in no proxy list - uses processes no_proxy before http_proxy - accepts env without scheme - allows when url not in no proxy list - gives priority to manually set proxy - allows when url in no proxy list with url_prefix - uses env http_proxy - performing a request - dynamically check no proxy - dynamically checks proxy - #to_env - bracketizes nested params in query - without braketizing repeated params in query - escapes per spec - parses url params into query - bracketizes repeated params in query - #build_url - uses params - merges params - #build_request - is expected to eq ["Authorization"] - is expected to be falsey - is expected to be empty - is expected to be truthy - .new - with custom params - is expected to eq {"a"=>1} - with implicit url param - behaves like initializer with url - with IPv6 address - is expected to eq "[::1]" - is expected to eq 85 - with complex url - is expected to eq {"a"=>"1"} - is expected to eq "/fish" - is expected to eq 815 - with simple url - is expected to eq "http" - is expected to eq "httpbingo.org" - is expected to eq "/" - is expected to eq 80 - is expected to eq {} - with empty block - is expected to eq 0 - with custom builder - is expected to eq # - with verify_hostname false - is expected to be falsey - with explicit url param - behaves like initializer with url - with IPv6 address - is expected to eq 85 - is expected to eq "[::1]" - with simple url - is expected to eq "/" - is expected to eq 80 - is expected to eq {} - is expected to eq "httpbingo.org" - is expected to eq "http" - with complex url - is expected to eq 815 - is expected to eq {"a"=>"1"} - is expected to eq "/fish" - with basic_auth in url - is expected to eq "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" - with block - is expected to eq 0 - is expected to eq "/omnom" - with ssl false - is expected to be falsey - with custom params and params in url - is expected to eq {"a"=>3, "b"=>"2"} - with custom headers - is expected to eq "Faraday" - #close - can close underlying app - request params - with flat params encoder - supports array params in params - with array param in url - example at ./spec/faraday/connection_spec.rb:802 - with url and extra params - merges connection and request params - allows to override all params - allows to set params_encoder for single request - with simple url - test_overrides_request_params_block - test_overrides_request_params - test_overrides_request_params_block_url - with default params encoder - supports array params in url - supports array params in params - #respond_to? - is expected to be truthy - is expected to be truthy - #dup - is expected to eq "1" - is expected to eq "text/plain" - is expected to eq # - after manual changes - is expected to eq 5 - is expected to eq 1 - is expected to eq 1 - is expected to be nil - is expected to be falsey - is expected to be falsey - default_connection_options - assigning a default value - behaves like default connection options - default connection uses default connection options - works with implicit url - works with instance connection options - default connection options persist with an instance overriding - works with option url - assigning a hash - behaves like default connection options - works with implicit url - works with option url - works with instance connection options - default connection options persist with an instance overriding - default connection uses default connection options - preserving a user_agent assigned via default_conncetion_options - when url is a Hash - is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"} - when url is a String - is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"} - -Faraday::ProxyOptions - allows hash access - #from - works with option - works with nil - treats empty string as nil - works with string - defaults to http - works with no auth - works with hash - -Faraday::Request::Json - no body - doesn't add content type - doesn't change body - object body - adds content type - encodes body - object body with incompatible type - doesn't change content type - doesn't change body - string body - adds content type - doesn't change body - object body with vendor json type - doesn't change content type - encodes body - empty object body - encodes body - empty body - doesn't change body - doesn't add content type - false body - encodes body - adds content type - object body with json type - doesn't change content type - encodes body - true body - encodes body - adds content type - with encoder - when encoder is passed as an object-method pair - adds content type - encodes body - calls specified JSON encoder - when encoder is passed as object - encodes body - calls specified JSON encoder's dump method - adds content type - when encoder is not passed - adds content type - calls JSON.generate - encodes body - -Faraday::Env - handle verify_hostname when fetching - allows to access members - allows to access symbol non members - retains custom members - allows to access string non members - ignores false when fetching - #body - when response is not finished yet - returns the request body - when response is finished - returns the response body - allows to access request_body - allows to access response_body - -Faraday::Middleware - ::default_options - with subclass DEFAULT_OPTIONS defined - and without application options configured - is expected to eq "ok" - has only subclass defaults - and with one application's options changed - is expected to eq "ok" - only updates default options of target subclass - and with two applications' options changed - is expected to eq "ok" - updates subclasses and parent independent of each other - is expected to eq "ok" - default_options input validation - raises error if Faraday::Middleware option does not exist - raises error if subclass option does not exist - with FARADAY::MIDDLEWARE DEFAULT_OPTIONS and with Subclass DEFAULT_OPTIONS - and without application options configured - is expected to eq "ok" - has only subclass defaults - and with two applications' options changed - updates subclasses and parent independent of each other - is expected to eq "ok" - is expected to eq "ok" - #on_error - is called by #call - #close - with app that supports #close - should issue warning - with app that doesn't support #close - should issue warning - #on_request - is called by #call - options - when options are passed to the middleware - accepts options when initialized - -Faraday::Adapter::Test - can be called several times - is expected to eq "hello" - with simple path sets body - is expected to eq "hello" - yielding env to stubs - is expected to eq "a" - ignoring unspecified get params - without params - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - with multiple params - is expected to eq "a" - with single param - is expected to eq "a" - can handle regular expression path with captured result - is expected to eq "show specified" - raising an error if no stub was found - for request - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - for specified host - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - for request without specified header - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - strict_mode - when params and headers are exactly set - is expected to eq 200 - when params and headers are exactly set with a custom user agent - is expected to eq 200 - behaves like raise NotFound when params do not satisfy the strict check - with {:a=>"12", :b=>"xyz"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Basic m_ck", :"x-c"=>"hello"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {"X-C"=>"hello"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - body_match? - when trying without any args for body - is expected to eq 200 - when trying with proc body stubs - is expected to eq 200 - when trying with string body stubs - is expected to eq 200 - behaves like raise NotFound when params do not satisfy the strict check - with {:b=>"xy"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :user_agent=>"Unknown"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when params do not satisfy the strict check - with {:a=>"12", :b=>"xy", :c=>"hello"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when params do not satisfy the strict check - with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when params do not satisfy the strict check - with {:a=>"12"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"Hi"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - when strict_mode is disabled - behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"} - is expected to eq 200 - behaves like does not raise NotFound even when params do not satisfy the strict check - with {:a=>"12", :b=>"xy"} - is expected to eq 200 - behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"hello"} - is expected to eq 200 - behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent"} - is expected to eq 200 - behaves like does not raise NotFound even when params do not satisfy the strict check - with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"} - is expected to eq 200 - behaves like does not raise NotFound even when params do not satisfy the strict check - with {:a=>"12", :b=>"xy", :c=>"hello"} - is expected to eq 200 - behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :user_agent=>"Special Agent"} - is expected to eq 200 - behaves like does not raise NotFound even when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"} - is expected to eq 200 - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when params do not satisfy the strict check - with {:a=>"123", :b=>"xy"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when headers do not satisfy the strict check - with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - different outcomes for the same request - the second request - is expected to eq "world" - the first request - is expected to eq "hello" - with host points to the right stub - is expected to eq "domain: hello" - can handle single parameter block - is expected to eq "get" - request timeout - when request is within timeout - is expected to eq 200 - when request is too slow - raises an exception - for request with non default params encoder - behaves like raise NotFound when params do not satisfy the flat param values - with {:a=>["x", "z", "y"]} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when params do not satisfy the flat param values - with {:b=>["x", "y", "z"]} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - when all flat param values are correctly set - is expected to eq 200 - behaves like raise NotFound when params do not satisfy the flat param values - with {:a=>["x"]} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - behaves like raise NotFound when params do not satisfy the flat param values - with {:a=>["x", "y"]} - is expected to raise Faraday::Adapter::Test::Stubs::NotFound - with get params - is expected to eq "a" - can handle regular expression path - is expected to eq "show" - with simple path sets status - is expected to eq 200 - params parsing - with default encoder - is expected to eq "a" - with nested encoder - is expected to eq "a" - with flat encoder - is expected to eq "a" - with http headers - with header - is expected to eq "a" - without header - is expected to eq "b" - with simple path sets headers - is expected to eq "text/html" - -Faraday::Request::UrlEncoded - works with with headers - works with unicode - works with nested params - works with no headers - ignores custom content type - does nothing without payload - works with nested keys - works with non nested params - works with files - customising default_space_encoding - uses the custom character to encode spaces - -Faraday::Response - is expected to eq "text/plain" - is expected to eq # - is expected to be truthy - is expected to be falsey - is expected to eq "yikes" - is expected to eq "text/plain" - is expected to raise RuntimeError - is expected to eq 404 - #on_complete - can access response body in on_complete callback - can access response body in on_complete callback - parse body on finish - marshal serialization support - is expected to eq "yikes" - is expected to eq 404 - is expected to eq # - is expected to be nil - is expected to eq {"Content-Type"=>"text/plain"} - #apply_request - is expected to eq :post - is expected to eq "yikes" - #to_hash - is expected to eq # - is expected to eq "yikes" - is expected to eq 404 - is expected to be a kind of Hash - is expected to eq {"Content-Type"=>"text/plain"} - when response is not finished - is expected to eq {:body=>nil, :response_headers=>{}, :status=>nil, :url=>nil} - -Faraday::RequestOptions - allows to set the request proxy - -Faraday::Error - .initialize - with hash with status but missing request data - is expected to eq "the server responded with status 404 - method and url are not available due to include_request: false on Faraday::Response::RaiseError middleware" - is expected to be nil - is expected to eq {:body=>"not found", :status=>404} - with Faraday::Env with direct method and url properties - is expected to be nil - is expected to eq # @status=404 @response_body="not found"> - is expected to eq "the server responded with status 404 for GET http://example.com/test" - with string - is expected to be nil - is expected to be nil - is expected to be nil - is expected to be nil - is expected to be nil - is expected to eq "custom message" - is expected to eq "#>" - with anything else #to_s - is expected to be nil - is expected to eq "[\"error1\", \"error2\"]" - is expected to be nil - is expected to be nil - is expected to be nil - is expected to be nil - is expected to eq "#>" - with hash with status and request but missing url in request - is expected to eq "the server responded with status 404 for GET " - is expected to eq {:body=>"not found", :request=>{:method=>:get}, :status=>404} - is expected to be nil - with response hash - is expected to eq "#400}>" - is expected to be nil - is expected to eq 400 - is expected to be nil - is expected to be nil - is expected to eq "the server responded with status 400 - method and url are not available due to include_request: false on Faraday::Response::RaiseError middleware" - is expected to eq {:status=>400} - with properly formed Faraday::Env - is expected to eq "the server responded with status 500 for POST https://api.example.com/users" - is expected to eq #"application/json"} @status=500 @response_body="{\"error\": \"Internal server error\"}"> - is expected to be nil - with Faraday::Env missing status key - is expected to eq # - is expected to be nil - is expected to eq "the server responded with status for " - with exception and response object - is expected to eq 400 - is expected to eq #"application/json"} @status=400 @response_body={:test=>"test"}>, @on_complete_callbacks=[]> - is expected to eq # - is expected to eq nil - is expected to eq {:test=>"test"} - is expected to eq "test" - is expected to eq {"Content-Type"=>"application/json"} - with exception only - is expected to be nil - is expected to eq "#>" - is expected to be nil - is expected to be nil - is expected to be nil - is expected to eq "test" - is expected to eq # - is expected to eq nil - with hash missing status key - is expected to be nil - is expected to eq "the server responded with status - method and url are not available due to include_request: false on Faraday::Response::RaiseError middleware" - is expected to eq {:body=>"error body"} - with exception string and response hash - is expected to eq "#400}>" - is expected to be nil - is expected to eq "custom message" - is expected to eq 400 - is expected to eq {:status=>400} - is expected to be nil - is expected to be nil - with hash with status and request but missing method in request - is expected to eq "the server responded with status 404 for http://example.com/test" - is expected to be nil - is expected to eq {:body=>"not found", :request=>{:url=>"http://example.com/test"}, :status=>404} - -Finished in 0.86539 seconds (files took 2.13 seconds to load) -623 examples, 0 failures - -Randomized with seed 64782 - -Coverage report generated for RSpec to /build/reproducible-path/ruby-faraday-2.14.0/coverage. 0 / 0 LOC (100.0%) covered. -[Coveralls] Outside the CI environment, not sending data. +DEB_BUILD_OPTIONS includes nocheck, skipping all checks (test suite etc). ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ @@ -2198,12 +1217,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/642773/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/642773/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/4099947 and its subdirectories -I: Current time: Tue Nov 4 11:58:23 -12 2025 -I: pbuilder-time-stamp: 1762300703 +I: removing directory /srv/workspace/pbuilder/642773 and its subdirectories +I: Current time: Tue Dec 8 20:22:52 +14 2026 +I: pbuilder-time-stamp: 1796710972