Diff of the two buildlogs: -- --- b1/build.log 2025-08-14 17:49:27.114694450 +0000 +++ b2/build.log 2025-08-14 17:50:11.410747253 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Aug 14 05:48:50 -12 2025 -I: pbuilder-time-stamp: 1755193730 +I: Current time: Thu Sep 17 14:12:29 +14 2026 +I: pbuilder-time-stamp: 1789603949 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -26,53 +26,85 @@ dpkg-source: info: applying rspec3.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/538189/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1738751/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-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 Sep 17 00:12 /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/1738751/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1738751/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]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='b353192f74ee428ebdfb9a9ef09f3356' - 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='538189' - PS1='# ' - PS2='> ' + INVOCATION_ID=dec391c0860a4350ae815dfddabb2f72 + 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=1738751 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.woeKIQLb/pbuilderrc_qIWE --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.woeKIQLb/b1 --logfile b1/build.log ruby-coercible_1.0.0-3.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - 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.woeKIQLb/pbuilderrc_96Ij --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.woeKIQLb/b2 --logfile b2/build.log ruby-coercible_1.0.0-3.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + 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 codethink04-arm64 6.12.41+deb13-cloud-arm64 #1 SMP Debian 6.12.41-1 (2025-08-12) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.41+deb13-cloud-arm64 #1 SMP Debian 6.12.41-1 (2025-08-12) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/538189/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 12 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1738751/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -247,7 +279,7 @@ Get: 127 http://deb.debian.org/debian forky/main arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 128 http://deb.debian.org/debian forky/main arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 129 http://deb.debian.org/debian forky/main arm64 ruby-rspec-its all 1.3.0-1 [6864 B] -Fetched 34.5 MB in 0s (114 MB/s) +Fetched 34.5 MB in 0s (109 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (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 ... 19963 files and directories currently installed.) @@ -677,8 +709,8 @@ Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Aug 14 17:49:11 UTC 2025. -Universal Time is now: Thu Aug 14 17:49:11 UTC 2025. +Local time is now: Thu Sep 17 00:12:49 UTC 2026. +Universal Time is now: Thu Sep 17 00:12:49 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-3) ... @@ -803,7 +835,11 @@ fakeroot is already the newest version (1.37.1.1-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/ruby-coercible-1.0.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-coercible_1.0.0-3_source.changes +I: user script /srv/workspace/pbuilder/1738751/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/1738751/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-coercible-1.0.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-coercible_1.0.0-3_source.changes dpkg-buildpackage: info: source package ruby-coercible dpkg-buildpackage: info: source version 1.0.0-3 dpkg-buildpackage: info: source distribution unstable @@ -887,463 +923,205 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 32471 - -Coercible::Coercer::Float.to_float - is expected to equal 1.0 - -Coercible::Coercer::DateTime.to_time - when DateTime does not support #to_time - is expected to be an instance of Time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - when DateTime supports #to_time - is expected to equal 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - -Coercible::Coercer::TrueClass#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false - -Coercible::Coercer::Date#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false - -Coercible::Coercer::Date.to_time - is expected to be an instance of Time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" +Randomized with seed 44351 Coercible::Coercer::Float.to_string - is expected to be an instance of String is expected to eql "1.0" + is expected to be an instance of String -Coercible::Coercer::Integer.to_decimal - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - -Coercible::Coercer::Integer.to_float - is expected to be an instance of Float - is expected to eql 1.0 - -Coercible::Coercer::Numeric.to_float - is expected to eql 1.0 - -Coercible::Coercer::Object.to_string - when the value responds to #to_str - is expected to equal # - when the value does not respond to #to_str - is expected to raise Coercible::UnsupportedCoercion - -Coercible::Coercer::Float#coerced? - behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false - with a primitive value - is expected to equal true - -Coercible::Coercer::Object.to_integer - when the value does not respond to #to_int +Coercible::Coercer::String.to_decimal + with "1.0" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "+1.0E-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with "-1.0E-1" + is expected to be an instance of BigDecimal + is expected to eql -0.1e0 + with "1.0E-1" + is expected to eql 0.1e0 + is expected to be an instance of BigDecimal + with "-1.0E+1" + is expected to eql -0.1e2 + is expected to be an instance of BigDecimal + with "+1.0E+1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e2 + with "1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 + with "+1.0e-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with ".1e+1" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "-1.0" + is expected to be an instance of BigDecimal + is expected to eql -0.1e1 + with "+1" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "-1.0e-1" + is expected to eql -0.1e0 + is expected to be an instance of BigDecimal + with "+1.0" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with an invalid decimal string is expected to raise Coercible::UnsupportedCoercion - when the value responds to #to_int - is expected to equal # - -Coercible::Coercer::Array#to_set - is expected to eql "a", 1, "b", and 2 - is expected to be an instance of Set - -Coercible::Coercer::Symbol#coerced? - behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false - with a primitive value - is expected to equal true - -Coercible::Coercer::DateTime.to_datetime - is expected to equal # - -Coercible::Coercer::Integer#to_datetime - is expected to eql "2013-02-16 17:44:32.000" - -Coercible::Coercer::String.to_symbol - is expected to equal :value + with "1.0e+1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e2 + with "-1" + is expected to be an instance of BigDecimal + is expected to eql -0.1e1 + with ".1e-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e-1 + with ".1E-1" + is expected to eql 0.1e-1 + is expected to be an instance of BigDecimal + with ".1E+1" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with ".1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with "1.0e-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with "1.0E+1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e2 + with "+1.0e+1" + is expected to eql 0.1e2 + is expected to be an instance of BigDecimal + with "-1.0e+1" + is expected to eql -0.1e2 + is expected to be an instance of BigDecimal Coercible::Coercer::String.to_constant when the name is invalid is expected to raise NameError - with a namespaced name - is expected to equal Coercible::Coercer::String + with a non-namespaced qualified name + is expected to equal String + with a non-namespaced name + is expected to equal String when the name is unknown is expected to raise NameError with a namespaced qualified name is expected to equal Coercible::Coercer::String with a name outside of the namespace is expected to raise NameError - with a non-namespaced name - is expected to equal String - with a non-namespaced qualified name - is expected to equal String - -Coercible::Coercer::Hash.to_date - when time segments are strings - is expected to be an instance of Date - is expected to eql # - when time segments are missing - uses the Time now to populate the segments - is expected to be an instance of Date - when time segments are integers - is expected to eql # - is expected to be an instance of Date - -Coercible::Coercer::Numeric.to_decimal - with an object responding to #to_d - is expected to eql 0.1e1 - with an object not responding to #to_d - is expected to eql 0.1e1 - -Coercible::Coercer::String.to_integer - with "-1" - is expected to be a kind of Integer - is expected to eql -1 - with ".1E-1" - is expected to be a kind of Integer - is expected to eql 0 - with "+1.0e-1" - is expected to be a kind of Integer - is expected to eql 0 - with "+1.0" - is expected to eql 1 - is expected to be a kind of Integer - with "1.0" - is expected to eql 1 - is expected to be a kind of Integer - with "-1.0e-1" - is expected to be a kind of Integer - is expected to eql 0 - with "-1E1" - is expected to be a kind of Integer - is expected to eql -10 - with "+1e-1" - is expected to be a kind of Integer - is expected to eql 0 - with "-1.0E+1" - is expected to eql -10 - is expected to be a kind of Integer - with "1e1" - is expected to be a kind of Integer - is expected to eql 10 - with "+1.0E-1" - is expected to be a kind of Integer - is expected to eql 0 - with "+1.0e+1" - is expected to eql 10 - is expected to be a kind of Integer - with ".1E+1" - is expected to be a kind of Integer - is expected to eql 1 - with "1E+1" - is expected to be a kind of Integer - is expected to eql 10 - with "-1.0e+1" - is expected to eql -10 - is expected to be a kind of Integer - when integer string is big - is expected to == 334490140000101135 - with ".1" - is expected to eql 0 - is expected to be a kind of Integer - string starts with e - is expected to raise Coercible::UnsupportedCoercion - with an invalid integer string - is expected to raise Coercible::UnsupportedCoercion - with "1.0E+1" - is expected to eql 10 - is expected to be a kind of Integer - with "1.0e+1" - is expected to be a kind of Integer - is expected to eql 10 - with "-1e-1" - is expected to eql 0 - is expected to be a kind of Integer - with "1.0E-1" - is expected to be a kind of Integer - is expected to eql 0 - with "+1.0E+1" - is expected to eql 10 - is expected to be a kind of Integer - with ".1e-1" - is expected to be a kind of Integer - is expected to eql 0 - with "1.0e-1" - is expected to be a kind of Integer - is expected to eql 0 - with "2.2250738585072014e-308" - is expected to eql 0 - is expected to be a kind of Integer - with ".1e+1" - is expected to eql 1 - is expected to be a kind of Integer - with "-1.0" - is expected to be a kind of Integer - is expected to eql -1 - with "1.7976931348623158e+307" - is expected to be a kind of Integer - is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 - with "-1.0E-1" - is expected to be a kind of Integer - is expected to eql 0 - with "+1" - is expected to be a kind of Integer - is expected to eql 1 - with "1" - is expected to eql 1 - is expected to be a kind of Integer - -Coercible::Coercer::Object#coerced? - is expected to equal true + with a namespaced name + is expected to equal Coercible::Coercer::String -Coercible::Coercer::FalseClass.to_string +Coercible::Coercer::Date.to_string is expected to be an instance of String - is expected to eql "false" - -Coercible::Coercer::Integer - behaves like Configurable - .config_keys - is expected not to be empty - is expected to be an instance of Array - .config_name - is expected to equal :integer - .config_name - is expected to be an instance of Symbol - .config - is expected to be an instance of Coercible::Configuration - responds to configuration keys - -Coercible::Coercer::Decimal#coerced? - behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false - with a primitive value - is expected to equal true + is expected to eql "2011-01-01" -Coercible::Coercer::Symbol.to_string - is expected to eql "piotr" +Coercible::Coercer::DateTime.to_string is expected to be an instance of String + is expected to eql "2011-01-01T00:00:00+00:00" -Coercible::Coercer::Hash.to_datetime - when time segments are strings - is expected to be an instance of DateTime - is expected to eql # - when time segments are integers - is expected to be an instance of DateTime - is expected to eql # - when time segments are missing - uses the Time now to populate the segments - is expected to be an instance of DateTime +Coercible::Coercer::Integer#datetime_proc + with other Ruby VMs + is expected to be an instance of Proc + with Rubinius + is expected to be an instance of Proc -Coercible::Coercer::Date.to_datetime - when Date supports #to_datetime - is expected to equal # - when Date does not support #to_datetime - is expected to eql # - is expected to be an instance of DateTime +Coercible::Coercer::Integer.to_boolean + when the fixnum is 0 + is expected to equal false + when the fixnum is not 1 or 0 + is expected to raise Coercible::UnsupportedCoercion + when the fixnum is 1 + is expected to equal true -Coercible::Configuration.build - is expected to respond to #foo - is expected to be an instance of Coercible::Configuration - is expected to respond to #bar= - is expected to respond to #foo= - is expected to respond to #bar +Coercible::Coercer::Numeric.to_integer + is expected to eql 1 Coercible::Coercer::String.to_date with an invalid date string is expected to raise Coercible::UnsupportedCoercion with a valid date string is expected to be an instance of Date - year - is expected to == 2011 - day - is expected to == 22 month is expected to == 7 + day + is expected to == 22 + year + is expected to == 2011 -Coercible::Coercer::TimeCoercions.to_string - is expected to be an instance of String - is expected to eql "2011-01-01" - -Coercible::Coercer#[] - with a known type - is expected to be an instance of Coercible::Coercer::String - with an unknown type - is expected to be an instance of Coercible::Coercer::Object - -Coercible::Coercer::Decimal.to_string - is expected to eql "1.0" - is expected to be an instance of String - -Coercible::Coercer::Decimal.to_float - is expected to be an instance of Float - is expected to eql 1.0 +Coercible::Coercer::Integer#datetime_format + with other Ruby VMs + is expected to == "%s" + with Rubinius + is expected to == "%Q" -Coercible::Coercer::Float#to_float - is expected to eql "2013-02-16 17:44:32.120" +Coercible::Coercer::Integer.to_decimal + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 -Coercible::Coercer::Integer.to_integer - is expected to equal 1 +Coercible::Coercer::Object.to_integer + when the value does not respond to #to_int + is expected to raise Coercible::UnsupportedCoercion + when the value responds to #to_int + is expected to equal # -Coercible::Coercer::DateTime#coerced? +Coercible::Coercer::Hash#coerced? behaves like Coercible::Coercer#coerced? with a primitive value is expected to equal true with a non-primitive value is expected to equal false -Coercible::Coercer::Date.to_string - is expected to be an instance of String - is expected to eql "2011-01-01" - -Coercible::Coercer::Date.to_date - is expected to equal # - -Coercible::Coercer::Time.to_integer - is expected to eql 1755193762 - -Coercible::Coercer::String#coerced? - behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false - with a primitive value - is expected to equal true - -Coercible::Coercer::TimeCoercions.to_date - when the value responds to #to_date - is expected to eql # - is expected to be an instance of Date - when the value does not respond to #to_date - is expected to be an instance of Date - is expected to eql # - -Coercible::Coercer::Decimal.to_decimal - is expected to equal 0.1e1 - -Coercible::Coercer::String.to_decimal - with ".1e-1" - is expected to eql 0.1e-1 - is expected to be an instance of BigDecimal - with "+1.0" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with "-1" - is expected to be an instance of BigDecimal - is expected to eql -0.1e1 - with ".1E-1" - is expected to eql 0.1e-1 - is expected to be an instance of BigDecimal - with an invalid decimal string - is expected to raise Coercible::UnsupportedCoercion - with "-1.0" - is expected to eql -0.1e1 - is expected to be an instance of BigDecimal - with "-1.0e+1" - is expected to eql -0.1e2 - is expected to be an instance of BigDecimal - with "1.0E+1" - is expected to eql 0.1e2 - is expected to be an instance of BigDecimal - with "1.0e-1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e0 - with "+1.0e+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e2 - with "+1.0E-1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal - with "-1.0e-1" - is expected to eql -0.1e0 - is expected to be an instance of BigDecimal - with "+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with ".1E+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with "-1.0E+1" - is expected to eql -0.1e2 - is expected to be an instance of BigDecimal - with ".1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal - with "+1.0e-1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e0 - with "1.0E-1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal - with "1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with ".1e+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with "+1.0E+1" - is expected to eql 0.1e2 - is expected to be an instance of BigDecimal - with "1.0" - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal - with "1.0e+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e2 - with "-1.0E-1" - is expected to eql -0.1e0 - is expected to be an instance of BigDecimal - Coercible::Coercer::String.to_datetime with an invalid date time string is expected to raise Coercible::UnsupportedCoercion with a valid date string - not including time part + including time part it should behave like a correct datetime object is expected to be an instance of DateTime - month - is expected to == 7 - hour - is expected to == 0 - day - is expected to == 22 year is expected to == 2011 + day + is expected to == 22 sec - is expected to == 0 + is expected to == 50 min - is expected to == 0 - including time part + is expected to == 44 + hour + is expected to == 13 + month + is expected to == 7 + not including time part it should behave like a correct datetime object is expected to be an instance of DateTime day is expected to == 22 - hour - is expected to == 13 - min - is expected to == 44 - sec - is expected to == 50 month is expected to == 7 + min + is expected to == 0 + hour + is expected to == 0 + sec + is expected to == 0 year is expected to == 2011 -Coercible::Coercer::Object.to_hash - when the value does not respond to #to_hash - is expected to raise Coercible::UnsupportedCoercion - when the value responds to #to_hash - is expected to equal # +Coercible::Coercer::Integer.to_string + is expected to be an instance of String + is expected to eql "1" -Coercible::Coercer::Integer#coerced? +Coercible::Coercer::Array#to_set + is expected to be an instance of Set + is expected to eql "a", 1, "b", and 2 + +Coercible::Coercer::String#coerced? behaves like Coercible::Coercer#coerced? with a non-primitive value is expected to equal false @@ -1351,123 +1129,302 @@ is expected to equal true Coercible::Coercer::Float.to_decimal - is expected to be an instance of BigDecimal is expected to eql 0.1e1 + is expected to be an instance of BigDecimal -Coercible::Coercer::Integer#datetime_format - with Rubinius - is expected to == "%Q" - with other Ruby VMs - is expected to == "%s" - -Coercible::Coercer::Object#method_missing - when method matches coercion method regexp - is expected to equal # - when method doesn't match coercion method regexp - is expected to raise NoMethodError +Coercible::Coercer#[] + with an unknown type + is expected to be an instance of Coercible::Coercer::Object + with a known type + is expected to be an instance of Coercible::Coercer::String -Coercible::Coercer::TrueClass.to_string - is expected to eql "true" +Coercible::Coercer::Decimal.to_string is expected to be an instance of String + is expected to eql "1.0" -Coercible::Coercer.new - is expected to be an instance of Coercible::Coercer - config - is expected to be an instance of Coercible::Configuration - config - is expected to respond to #string - config - is expected to respond to #string= +Coercible::Coercer::DateTime.to_time + when DateTime supports #to_time + is expected to equal 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + when DateTime does not support #to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time -Coercible::Coercer::Object#inspect - is expected to == "#" +Coercible::Coercer::Array#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer::Float.to_integer - is expected to be a kind of Integer - is expected to eql 1 +Coercible::Coercer::Decimal.to_decimal + is expected to equal 0.1e1 -Coercible::Coercer::FalseClass#coerced? +Coercible::Coercer::Time.to_time + is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" + +Coercible::Coercer::Symbol.to_string + is expected to eql "piotr" + is expected to be an instance of String + +Coercible::Coercer::Decimal#coerced? behaves like Coercible::Coercer#coerced? with a primitive value is expected to equal true with a non-primitive value is expected to equal false -Coercible::Coercer::Time#coerced? - behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false - with a primitive value - is expected to equal true +Coercible::Coercer::Decimal.to_float + is expected to be an instance of Float + is expected to eql 1.0 -Coercible::Coercer::Numeric.to_string - is expected to eql "1/1" +Coercible::Coercer::String.to_symbol + is expected to equal :value -Coercible::Coercer::DateTime.to_string - is expected to be an instance of String - is expected to eql "2011-01-01T00:00:00+00:00" +Coercible::Coercer::Object#inspect + is expected to == "#" -Coercible::Coercer::Numeric.to_integer - is expected to eql 1 +Coercible::Coercer::Object#coerced? + is expected to equal true Coercible::Coercer::String.config boolean_map is expected to equal {"0"=>false, "1"=>true, "f"=>false, "false"=>false, "n"=>false, "no"=>false, "off"=>false, "on"=>true, "t"=>true, "true"=>true, "y"=>true, "yes"=>true} -Coercible::Coercer::Time.to_time - is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" +Coercible::Coercer::Numeric.to_decimal + with an object not responding to #to_d + is expected to eql 0.1e1 + with an object responding to #to_d + is expected to eql 0.1e1 + +Coercible::Coercer::TrueClass.to_string + is expected to be an instance of String + is expected to eql "true" + +Coercible::Coercer::Date.to_datetime + when Date does not support #to_datetime + is expected to eql # + is expected to be an instance of DateTime + when Date supports #to_datetime + is expected to equal # + +Coercible::Coercer::TimeCoercions.to_time + when the value does not respond to #to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time + when the value responds to #to_time + is expected to be an instance of Time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + +Coercible::Coercer::FalseClass.to_string + is expected to be an instance of String + is expected to eql "false" + +Coercible::Coercer::DateTime.to_datetime + is expected to equal # + +Coercible::Coercer::String.to_time + with a valid time string + not including time part + it should behave like a correct time object + is expected to be an instance of Time + min + is expected to == 0 + day + is expected to == 22 + month + is expected to == 7 + hour + is expected to == 0 + sec + is expected to == 0 + year + is expected to == 2011 + including time part + it should behave like a correct time object + is expected to be an instance of Time + sec + is expected to == 50 + month + is expected to == 7 + day + is expected to == 22 + hour + is expected to == 13 + year + is expected to == 2011 + min + is expected to == 44 + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion + +Coercible::Coercer::Numeric.to_string + is expected to eql "1/1" + +Coercible::Coercer::String + behaves like Configurable + .config_name + is expected to be an instance of Symbol + .config_keys + is expected to be an instance of Array + is expected not to be empty + .config + responds to configuration keys + is expected to be an instance of Coercible::Configuration + .config_name + is expected to equal :string + +Coercible::Coercer::Date.to_date + is expected to equal # + +Coercible::Coercer::Integer + behaves like Configurable + .config_keys + is expected not to be empty + is expected to be an instance of Array + .config_name + is expected to be an instance of Symbol + .config + responds to configuration keys + is expected to be an instance of Coercible::Configuration + .config_name + is expected to equal :integer + +Coercible::Coercer::Time.to_integer + is expected to eql 1789603986 + +Coercible::Coercer::DateTime.to_date + when DateTime supports #to_date + is expected to equal # + when DateTime does not support #to_date + is expected to be an instance of Date + is expected to eql # + +Coercible::Coercer::Float.to_float + is expected to equal 1.0 Coercible::Coercer::String.to_boolean - with "0" - is expected to equal false - with "no" - is expected to equal false - with "T" - is expected to equal true - with "t" + with "Y" is expected to equal true with "TRUE" is expected to equal true - with "NO" - is expected to equal false - with "true" - is expected to equal true - with "on" - is expected to equal true - with "FALSE" - is expected to equal false - with "n" - is expected to equal false with "OFF" is expected to equal false with "ON" is expected to equal true - with "Y" + with "true" is expected to equal true - with "1" + with "YES" is expected to equal true with "N" is expected to equal false - with "f" - is expected to equal false - with "false" - is expected to equal false - with "YES" + with "T" is expected to equal true with "yes" is expected to equal true + with "no" + is expected to equal false + with "FALSE" + is expected to equal false + with "n" + is expected to equal false + with "NO" + is expected to equal false with "y" is expected to equal true - with "off" - is expected to equal false with an invalid boolean string WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/string/to_boolean_spec.rb:28:in `block (3 levels) in '. is expected to raise Exception + with "0" + is expected to equal false + with "false" + is expected to equal false + with "f" + is expected to equal false with "F" is expected to equal false + with "t" + is expected to equal true + with "on" + is expected to equal true + with "off" + is expected to equal false + with "1" + is expected to equal true -Coercible::Coercer::Configurable.config - is expected to equal # +Coercible::Coercer::TimeCoercions.to_string + is expected to eql "2011-01-01" + is expected to be an instance of String + +Coercible::Coercer::Hash.to_datetime + when time segments are integers + is expected to eql # + is expected to be an instance of DateTime + when time segments are missing + is expected to be an instance of DateTime + uses the Time now to populate the segments + when time segments are strings + is expected to eql # + is expected to be an instance of DateTime + +Coercible::Coercer::Object.to_string + when the value responds to #to_str + is expected to equal # + when the value does not respond to #to_str + is expected to raise Coercible::UnsupportedCoercion + +Coercible::Coercer::Time#coerced? + behaves like Coercible::Coercer#coerced? + with a primitive value + is expected to equal true + with a non-primitive value + is expected to equal false + +Coercible::Coercer::Numeric.to_float + is expected to eql 1.0 + +Coercible::Coercer::Symbol#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true + +Coercible::Coercer::Float#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true + +Coercible::Coercer::Integer#to_datetime + is expected to eql "2013-02-16 17:44:32.000" + +Coercible::Coercer::DateTime#coerced? + behaves like Coercible::Coercer#coerced? + with a primitive value + is expected to equal true + with a non-primitive value + is expected to equal false + +Coercible::Coercer::Integer.to_integer + is expected to equal 1 + +Coercible::Coercer::Date#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true + +Coercible::Coercer::Float#to_float + is expected to eql "2013-02-16 17:44:32.120" + +Coercible::Coercer::TrueClass#coerced? + behaves like Coercible::Coercer#coerced? + with a primitive value + is expected to equal true + with a non-primitive value + is expected to equal false Coercible::Coercer::TimeCoercions.to_datetime when the value does not respond to #to_datetime @@ -1477,231 +1434,310 @@ is expected to be an instance of DateTime is expected to eql # -Coercible::Coercer::Integer#datetime_proc - with other Ruby VMs - is expected to be an instance of Proc - with Rubinius - is expected to be an instance of Proc - Configuring coercers WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/integration/configuring_coercers_spec.rb:12:in `block (2 levels) in '. allows to configure coercers -Coercible::Coercer::DateTime.to_date - when DateTime does not support #to_date +Coercible::Coercer::String.to_integer + with ".1E+1" + is expected to be a kind of Integer + is expected to eql 1 + with "1" + is expected to eql 1 + is expected to be a kind of Integer + with "+1.0e+1" + is expected to eql 10 + is expected to be a kind of Integer + with "1.0E-1" + is expected to eql 0 + is expected to be a kind of Integer + with "1.0" + is expected to eql 1 + is expected to be a kind of Integer + with ".1e-1" + is expected to eql 0 + is expected to be a kind of Integer + with "-1.0e+1" + is expected to be a kind of Integer + is expected to eql -10 + with "-1.0e-1" + is expected to be a kind of Integer + is expected to eql 0 + with ".1E-1" + is expected to eql 0 + is expected to be a kind of Integer + with "-1E1" + is expected to be a kind of Integer + is expected to eql -10 + with "-1e-1" + is expected to be a kind of Integer + is expected to eql 0 + with "-1.0E-1" + is expected to eql 0 + is expected to be a kind of Integer + with "+1e-1" + is expected to be a kind of Integer + is expected to eql 0 + with "-1" + is expected to eql -1 + is expected to be a kind of Integer + with "-1.0E+1" + is expected to eql -10 + is expected to be a kind of Integer + with ".1" + is expected to be a kind of Integer + is expected to eql 0 + with "+1" + is expected to eql 1 + is expected to be a kind of Integer + with "2.2250738585072014e-308" + is expected to eql 0 + is expected to be a kind of Integer + with "1.0e-1" + is expected to be a kind of Integer + is expected to eql 0 + with "1.0E+1" + is expected to be a kind of Integer + is expected to eql 10 + with "+1.0E-1" + is expected to be a kind of Integer + is expected to eql 0 + with ".1e+1" + is expected to eql 1 + is expected to be a kind of Integer + with "+1.0" + is expected to be a kind of Integer + is expected to eql 1 + string starts with e + is expected to raise Coercible::UnsupportedCoercion + with an invalid integer string + is expected to raise Coercible::UnsupportedCoercion + with "-1.0" + is expected to eql -1 + is expected to be a kind of Integer + with "1.7976931348623158e+307" + is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 + is expected to be a kind of Integer + when integer string is big + is expected to == 334490140000101135 + with "+1.0E+1" + is expected to eql 10 + is expected to be a kind of Integer + with "1E+1" + is expected to be a kind of Integer + is expected to eql 10 + with "+1.0e-1" + is expected to eql 0 + is expected to be a kind of Integer + with "1e1" + is expected to be a kind of Integer + is expected to eql 10 + with "1.0e+1" + is expected to eql 10 + is expected to be a kind of Integer + +Coercible::Coercer::TimeCoercions.to_date + when the value does not respond to #to_date is expected to be an instance of Date is expected to eql # - when DateTime supports #to_date - is expected to equal # + when the value responds to #to_date + is expected to eql # + is expected to be an instance of Date Coercible::Coercer::Configurable.config_name is expected to equal :test -Coercible::Coercer::Array#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false - Coercible::Coercer::Hash.to_time - when time segments are missing - uses the Time now to populate the segments - is expected to be an instance of Time when time segments are strings is expected to be an instance of Time is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" when time segments are integers + is expected to be an instance of Time is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" + when time segments are missing + uses the Time now to populate the segments is expected to be an instance of Time +Coercible::Coercer::Configurable.config + is expected to equal # + +Coercible::Coercer::Object#method_missing + when method matches coercion method regexp + is expected to equal # + when method doesn't match coercion method regexp + is expected to raise NoMethodError + +Coercible::Coercer::Object.to_hash + when the value does not respond to #to_hash + is expected to raise Coercible::UnsupportedCoercion + when the value responds to #to_hash + is expected to equal # + +Coercible::Coercer::Float.to_integer + is expected to eql 1 + is expected to be a kind of Integer + Coercible::Coercer::String.to_float - with "1E+1" + with "-1E1" + is expected to be an instance of Float + is expected to eql -10.0 + with "1.0e+1" is expected to eql 10.0 is expected to be an instance of Float - with "+1.0e-1" - is expected to eql 0.1 + with "+1.0e+1" + is expected to eql 10.0 is expected to be an instance of Float - with "-1E1" + with "+1.0E-1" is expected to be an instance of Float - is expected to eql -10.0 - with "1.0E-1" is expected to eql 0.1 + with ".1e+1" + is expected to eql 1.0 is expected to be an instance of Float - with "-1.0e+1" + with "-1.0E+1" is expected to be an instance of Float is expected to eql -10.0 - with "+1.0E+1" - is expected to be an instance of Float - is expected to eql 10.0 - with "-1" - is expected to eql -1.0 - is expected to be an instance of Float - with "-1e-1" + with "-1.0E-1" is expected to eql -0.1 is expected to be an instance of Float - with ".1" - is expected to eql 0.1 + with "1" is expected to be an instance of Float - with an invalid float string - is expected to raise Coercible::UnsupportedCoercion - with "+1" is expected to eql 1.0 - is expected to be an instance of Float with "1.0" is expected to eql 1.0 is expected to be an instance of Float - with ".1E-1" - is expected to be an instance of Float - is expected to eql 0.01 with ".1e-1" - is expected to eql 0.01 is expected to be an instance of Float - with "+1.0" - is expected to eql 1.0 + is expected to eql 0.01 + with ".1" + is expected to eql 0.1 is expected to be an instance of Float - with "1.0e+1" - is expected to eql 10.0 + with "-1.0e+1" is expected to be an instance of Float + is expected to eql -10.0 with "-1.0" + is expected to be an instance of Float is expected to eql -1.0 + string starts with e + is expected to raise Coercible::UnsupportedCoercion + with "+1.0e-1" is expected to be an instance of Float - with "1" + is expected to eql 0.1 + with "-1.0e-1" + is expected to eql -0.1 is expected to be an instance of Float - is expected to eql 1.0 - with "+1.0E-1" + with "-1e-1" is expected to be an instance of Float - is expected to eql 0.1 - with "-1.0E+1" - is expected to eql -10.0 + is expected to eql -0.1 + with "1E+1" is expected to be an instance of Float - with "1.0e-1" + is expected to eql 10.0 + with an invalid float string + is expected to raise Coercible::UnsupportedCoercion + with ".1E-1" + is expected to be an instance of Float + is expected to eql 0.01 + with "+1.0E+1" + is expected to eql 10.0 + is expected to be an instance of Float + with "1.0E-1" is expected to eql 0.1 is expected to be an instance of Float - with ".1e+1" - is expected to eql 1.0 + with "-1" is expected to be an instance of Float - with ".1E+1" + is expected to eql -1.0 + with "+1" is expected to be an instance of Float is expected to eql 1.0 - with "-1.0e-1" - is expected to eql -0.1 + with "+1.0" + is expected to eql 1.0 is expected to be an instance of Float with "1e1" - is expected to eql 10.0 - is expected to be an instance of Float - string starts with e - is expected to raise Coercible::UnsupportedCoercion - with "-1.0E-1" - is expected to eql -0.1 is expected to be an instance of Float + is expected to eql 10.0 with "1.0E+1" - is expected to be an instance of Float is expected to eql 10.0 - with "+1.0e+1" is expected to be an instance of Float - is expected to eql 10.0 with "+1e-1" is expected to be an instance of Float is expected to eql 0.1 + with "1.0e-1" + is expected to eql 0.1 + is expected to be an instance of Float + with ".1E+1" + is expected to eql 1.0 + is expected to be an instance of Float -Coercible::Coercer::Hash#coerced? +Coercible::Coercer::FalseClass#coerced? behaves like Coercible::Coercer#coerced? with a primitive value is expected to equal true with a non-primitive value is expected to equal false -Coercible::Coercer::TimeCoercions.to_time - when the value does not respond to #to_time - is expected to be an instance of Time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - when the value responds to #to_time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - is expected to be an instance of Time +Coercible::Coercer::Hash.to_date + when time segments are strings + is expected to eql # + is expected to be an instance of Date + when time segments are missing + is expected to be an instance of Date + uses the Time now to populate the segments + when time segments are integers + is expected to eql # + is expected to be an instance of Date -Coercible::Coercer::Integer.to_string - is expected to be an instance of String - is expected to eql "1" +Coercible::Coercer.new + is expected to be an instance of Coercible::Coercer + config + is expected to respond to #string= + config + is expected to be an instance of Coercible::Configuration + config + is expected to respond to #string -Coercible::Coercer::String.to_time - with an invalid date time string - is expected to raise Coercible::UnsupportedCoercion - with a valid time string - including time part - it should behave like a correct time object - is expected to be an instance of Time - hour - is expected to == 13 - day - is expected to == 22 - min - is expected to == 44 - year - is expected to == 2011 - month - is expected to == 7 - sec - is expected to == 50 - not including time part - it should behave like a correct time object - is expected to be an instance of Time - min - is expected to == 0 - hour - is expected to == 0 - sec - is expected to == 0 - day - is expected to == 22 - year - is expected to == 2011 - month - is expected to == 7 +Coercible::Configuration.build + is expected to respond to #foo= + is expected to be an instance of Coercible::Configuration + is expected to respond to #bar + is expected to respond to #foo + is expected to respond to #bar= Coercible::Coercer::Object.to_array - when the value responds to #to_a but not #to_ary - is expected to equal # when the value responds to #to_ary - is expected to equal # + is expected to equal # does not call #to_a if #to_ary is available + when the value responds to #to_a but not #to_ary + is expected to equal # when the value returns nil from #to_ary calls #to_a as a fallback wraps the value in an Array if #to_a is not available when the value does not respond to #to_ary or #to_a is expected to be an instance of Array - is expected to == [#] + is expected to == [#] -Coercible::Coercer::String - behaves like Configurable - .config_name - is expected to equal :string - .config_name - is expected to be an instance of Symbol - .config - responds to configuration keys - is expected to be an instance of Coercible::Configuration - .config_keys - is expected to be an instance of Array - is expected not to be empty +Coercible::Coercer::Integer.to_float + is expected to eql 1.0 + is expected to be an instance of Float -Coercible::Coercer::Integer.to_boolean - when the fixnum is 1 - is expected to equal true - when the fixnum is not 1 or 0 - is expected to raise Coercible::UnsupportedCoercion - when the fixnum is 0 - is expected to equal false +Coercible::Coercer::Integer#coerced? + behaves like Coercible::Coercer#coerced? + with a primitive value + is expected to equal true + with a non-primitive value + is expected to equal false Coercible::Coercer::Decimal.to_integer is expected to be a kind of Integer is expected to eql 1 +Coercible::Coercer::Date.to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time + Deprecation Warnings: RSpec::Core::Configuration#treat_symbols_as_metadata_keys_with_true_values= is deprecated, it is now set to true as default and setting it to false has no effect. -Using `stub` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/date_time/to_time_spec.rb:25:in `block (3 levels) in '. +Using `stub` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/integer/datetime_proc_spec.rb:11:in `block (3 levels) in '. If you need more of the backtrace for any of these deprecations to @@ -1711,54 +1747,54 @@ 2 deprecation warnings total -Top 10 slowest examples (0.06444 seconds, 21.0% of total time): - Coercible::Coercer::String.to_integer with ".1" is expected to eql 0 - 0.01157 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 - Coercible::Coercer#[] with a known type is expected to be an instance of Coercible::Coercer::String - 0.00993 seconds ./spec/unit/coercible/coercer/element_reader_spec.rb:11 - Coercible::Coercer::String.to_decimal with "+1.0E+1" is expected to eql 0.1e2 - 0.00961 seconds ./spec/unit/coercible/coercer/string/to_decimal_spec.rb:38 - Coercible::Coercer::Float.to_string is expected to be an instance of String - 0.00846 seconds ./spec/unit/coercible/coercer/float/to_string_spec.rb:9 - Coercible::Coercer::String.config boolean_map is expected to equal {"0"=>false, "1"=>true, "f"=>false, "false"=>false, "n"=>false, "no"=>false, "off"=>false, "on"=>true, "t"=>true, "true"=>true, "y"=>true, "yes"=>true} - 0.00735 seconds ./spec/unit/coercible/coercer/string/class_methods/config_spec.rb:6 - Coercible::Coercer::Hash.to_time when time segments are integers is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" - 0.00722 seconds ./spec/unit/coercible/coercer/hash/to_time_spec.rb:28 - Coercible::Coercer::String.to_float with ".1E+1" is expected to eql 1.0 - 0.00294 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:41 - Coercible::Coercer::String.to_float with "1.0e-1" is expected to be an instance of Float - 0.00258 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:39 - Coercible::Coercer::String.to_float with "1.0e+1" is expected to be an instance of Float - 0.0024 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:39 - Coercible::Coercer::String.to_integer when integer string is big is expected to == 334490140000101135 - 0.00238 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:59 +Top 10 slowest examples (0.06299 seconds, 22.5% of total time): + Coercible::Coercer::TimeCoercions.to_string is expected to eql "2011-01-01" + 0.00993 seconds ./spec/unit/coercible/coercer/time_coercions/to_string_spec.rb:22 + Coercible::Coercer::String.to_time with a valid time string not including time part it should behave like a correct time object min is expected to == 0 + 0.00904 seconds ./spec/unit/coercible/coercer/string/to_time_spec.rb:10 + Coercible::Coercer::String.to_datetime with an invalid date time string is expected to raise Coercible::UnsupportedCoercion + 0.00851 seconds ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:48 + Coercible::Coercer::String.to_integer with "-1.0e-1" is expected to eql 0 + 0.00829 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 + Coercible::Coercer::String.to_decimal with "+1.0E+1" is expected to be an instance of BigDecimal + 0.00796 seconds ./spec/unit/coercible/coercer/string/to_decimal_spec.rb:36 + Coercible::Coercer::String.to_float with ".1E+1" is expected to be an instance of Float + 0.00755 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:39 + Coercible::Coercer::String.to_integer with "1.7976931348623158e+307" is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 + 0.00368 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 + Coercible::Coercer::String.to_integer with "1e1" is expected to eql 10 + 0.00331 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 + Coercible::Coercer::String.to_integer with "+1.0e-1" is expected to eql 0 + 0.00247 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 + Coercible::Coercer::String.to_date with a valid date string month is expected to == 7 + 0.00224 seconds ./spec/unit/coercible/coercer/string/to_date_spec.rb:14 Top 10 slowest example groups: - Coercible::Coercer::String.config - 0.00771 seconds average (0.00771 seconds / 1 example) ./spec/unit/coercible/coercer/string/class_methods/config_spec.rb:3 - Coercible::Coercer#[] - 0.00537 seconds average (0.01075 seconds / 2 examples) ./spec/unit/coercible/coercer/element_reader_spec.rb:3 + Coercible::Coercer::TimeCoercions.to_string + 0.00537 seconds average (0.01074 seconds / 2 examples) ./spec/unit/coercible/coercer/time_coercions/to_string_spec.rb:3 + Coercible::Coercer::String.to_time + 0.00122 seconds average (0.0183 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_time_spec.rb:14 + Coercible::Coercer::String.to_datetime + 0.00117 seconds average (0.01749 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:14 Coercible::Coercer::Float.to_string - 0.00456 seconds average (0.00911 seconds / 2 examples) ./spec/unit/coercible/coercer/float/to_string_spec.rb:3 - Coercible::Coercer::Hash.to_time - 0.00188 seconds average (0.01127 seconds / 6 examples) ./spec/unit/coercible/coercer/hash/to_time_spec.rb:3 - Coercible::Coercer::Object.to_string - 0.00149 seconds average (0.00298 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_string_spec.rb:3 - Coercible::Coercer::Float.to_float - 0.00144 seconds average (0.00144 seconds / 1 example) ./spec/unit/coercible/coercer/float/to_float_spec.rb:3 - Coercible::Coercer::DateTime.to_time - 0.00121 seconds average (0.00362 seconds / 3 examples) ./spec/unit/coercible/coercer/date_time/to_time_spec.rb:3 - Coercible::Coercer::Time.to_time - 0.00107 seconds average (0.00107 seconds / 1 example) ./spec/unit/coercible/coercer/time/to_time_spec.rb:3 - Coercible::Coercer::Object.to_array - 0.00101 seconds average (0.00705 seconds / 7 examples) ./spec/unit/coercible/coercer/object/to_array_spec.rb:3 - Coercible::Coercer::Integer.to_integer - 0.00098 seconds average (0.00098 seconds / 1 example) ./spec/unit/coercible/coercer/integer/to_integer_spec.rb:3 + 0.00104 seconds average (0.00208 seconds / 2 examples) ./spec/unit/coercible/coercer/float/to_string_spec.rb:3 + Coercible::Coercer::String.to_date + 0.00101 seconds average (0.00503 seconds / 5 examples) ./spec/unit/coercible/coercer/string/to_date_spec.rb:3 + Coercible::Coercer::String.to_integer + 0.00099 seconds average (0.06248 seconds / 63 examples) ./spec/unit/coercible/coercer/string/to_integer_spec.rb:3 + Coercible::Coercer::Integer#to_datetime + 0.00094 seconds average (0.00094 seconds / 1 example) ./spec/unit/coercible/coercer/integer/to_datetime_spec.rb:3 + Coercible::Coercer::Object.to_hash + 0.00086 seconds average (0.00173 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_hash_spec.rb:3 + Coercible::Coercer::TimeCoercions.to_date + 0.00083 seconds average (0.00333 seconds / 4 examples) ./spec/unit/coercible/coercer/time_coercions/to_date_spec.rb:3 + Coercible::Coercer::Configurable.config + 0.00082 seconds average (0.00082 seconds / 1 example) ./spec/unit/coercible/coercer/configurable/config_spec.rb:3 -Finished in 0.30647 seconds (files took 0.27334 seconds to load) +Finished in 0.27983 seconds (files took 0.24461 seconds to load) 396 examples, 0 failures -Randomized with seed 32471 +Randomized with seed 44351 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1793,12 +1829,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/1738751/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1738751/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/538189 and its subdirectories -I: Current time: Thu Aug 14 05:49:26 -12 2025 -I: pbuilder-time-stamp: 1755193766 +I: removing directory /srv/workspace/pbuilder/1738751 and its subdirectories +I: Current time: Thu Sep 17 14:13:10 +14 2026 +I: pbuilder-time-stamp: 1789603990