Diff of the two buildlogs: -- --- b1/build.log 2023-05-08 08:37:57.808672322 +0000 +++ b2/build.log 2023-05-08 08:39:02.137854379 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Jun 9 02:59:29 -12 2024 -I: pbuilder-time-stamp: 1717945169 +I: Current time: Mon May 8 22:38:00 +14 2023 +I: pbuilder-time-stamp: 1683535080 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration @@ -16,7 +16,7 @@ I: copying [./ruby-coercible_1.0.0.orig.tar.gz] I: copying [./ruby-coercible_1.0.0-2.1.debian.tar.xz] I: Extracting source -gpgv: Signature made Mon Jan 4 22:30:32 2021 -12 +gpgv: Signature made Wed Jan 6 00:30:32 2021 +14 gpgv: using RSA key B8BF54137B09D35CF026FE9D091AB856069AAA1C gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./ruby-coercible_1.0.0-2.1.dsc: no acceptable signature found @@ -29,52 +29,84 @@ dpkg-source: info: applying rspec3.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/16809/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/18907/tmp/hooks/D01_modify_environment starting +debug: Running on codethink14-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 May 8 22:38 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/18907/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/18907/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - 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]="15" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.15(1)-release' + BUILDDIR=/build + 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=8' - DISTRIBUTION='bookworm' - HOME='/var/lib/jenkins' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=bookworm + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/var/lib/jenkins + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - 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='16809' - PS1='# ' - PS2='> ' + 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=18907 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.hrFHqS6R/pbuilderrc_kkRD --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.hrFHqS6R/b1 --logfile b1/build.log ruby-coercible_1.0.0-2.1.dsc' - SUDO_GID='117' - SUDO_UID='110' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - USERNAME='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.16: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.hrFHqS6R/pbuilderrc_aFuO --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.hrFHqS6R/b2 --logfile b2/build.log --extrapackages usrmerge ruby-coercible_1.0.0-2.1.dsc' + SUDO_GID=117 + SUDO_UID=110 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + USERNAME=root + _='I: set' + http_proxy=http://192.168.101.16:3128 I: uname -a - Linux codethink15-arm64 4.15.0-210-generic #221-Ubuntu SMP Tue Apr 18 08:32:48 UTC 2023 aarch64 GNU/Linux + Linux i-capture-the-hostname 4.15.0-210-generic #221-Ubuntu SMP Tue Apr 18 08:32:48 UTC 2023 aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Jun 8 04:48 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/16809/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 8 00:27 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/18907/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -255,7 +287,7 @@ Get: 133 http://deb.debian.org/debian bookworm/main arm64 ruby-rspec-mocks all 3.12.0c0e1m1s0-1 [79.5 kB] Get: 134 http://deb.debian.org/debian bookworm/main arm64 ruby-rspec all 3.12.0c0e1m1s0-1 [5084 B] Get: 135 http://deb.debian.org/debian bookworm/main arm64 ruby-rspec-its all 1.3.0-1 [6864 B] -Fetched 45.6 MB in 1s (31.0 MB/s) +Fetched 45.6 MB in 2s (27.2 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal: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 ... 19616 files and directories currently installed.) @@ -821,10 +853,15 @@ Reading package lists... Building dependency tree... Reading state information... +usrmerge is already the newest version (35). fakeroot is already the newest version (1.31-1.2). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/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-2.1_source.changes +I: user script /srv/workspace/pbuilder/18907/tmp/hooks/A99_set_merged_usr starting +Re-configuring usrmerge... +I: user script /srv/workspace/pbuilder/18907/tmp/hooks/A99_set_merged_usr finished +hostname: Temporary failure in name resolution +I: Running cd /build/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-2.1_source.changes dpkg-buildpackage: info: source package ruby-coercible dpkg-buildpackage: info: source version 1.0.0-2.1 dpkg-buildpackage: info: source distribution unstable @@ -916,42 +953,233 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 53005 +Randomized with seed 36305 -Coercible::Coercer::FalseClass.to_string - is expected to eql "false" - is expected to be an instance of String +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::DateTime.to_datetime - is expected to equal # +Coercible::Configuration.build + is expected to respond to #bar= + is expected to respond to #bar + is expected to be an instance of Coercible::Configuration + is expected to respond to #foo + is expected to respond to #foo= -Coercible::Coercer::Symbol#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::TrueClass.to_string + is expected to eql "true" + is expected to be an instance of String -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::String.to_integer + with "2.2250738585072014e-308" + 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.0e+1" + is expected to eql -10 + 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 an invalid integer string + is expected to raise Coercible::UnsupportedCoercion + with ".1e-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" + is expected to be a kind of Integer + is expected to eql 1 + when integer string is big + is expected to == 334490140000101135 + with "1E+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 10 + with "-1E1" + is expected to eql -10 + is expected to be a kind of Integer + string starts with e + is expected to raise Coercible::UnsupportedCoercion + with "1.0E-1" + is expected to be a kind of Integer + is expected to eql 0 + 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 "-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" + is expected to eql 0 + 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 ".1E+1" + is expected to be a kind of Integer + is expected to eql 1 + with "1.7976931348623158e+307" + is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 + 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 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 1 + 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 "-1" + is expected to eql -1 + 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.0e-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.0" + is expected to be a kind of Integer + is expected to eql 1 Coercible::Coercer::TimeCoercions.to_date when the value responds to #to_date - is expected to eql # is expected to be an instance of Date + is expected to eql # when the value does not respond to #to_date is expected to eql # is expected to be an instance of Date -Coercible::Coercer::Array#to_set - is expected to eql "a", 1, "b", and 2 - is expected to be an instance of Set +Coercible::Coercer::String.to_float + with "1.0e-1" + is expected to be an instance of Float + is expected to eql 0.1 + with "-1.0e-1" + is expected to be an instance of Float + is expected to eql -0.1 + 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 + with "1" + is expected to be an instance of Float + is expected to eql 1.0 + 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 10.0 + is expected to be an instance of Float + with "+1" + is expected to be an instance of Float + is expected to eql 1.0 + with ".1e+1" + is expected to eql 1.0 + is expected to be an instance of Float + with "1E+1" + is expected to eql 10.0 + is expected to be an instance of Float + 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 + with "1.0E+1" + is expected to be an instance of Float + is expected to eql 10.0 + 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 + with "+1e-1" + is expected to be an instance of Float + is expected to eql 0.1 + with "-1e-1" + is expected to eql -0.1 + is expected to be an instance of Float + with ".1E-1" + is expected to eql 0.01 + is expected to be an instance of Float + with "-1E1" + 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.01 + with "1.0E-1" + is expected to be an instance of Float + is expected to eql 0.1 + with an invalid float string + is expected to raise Coercible::UnsupportedCoercion + with "-1.0E-1" + is expected to be an instance of Float + is expected to eql -0.1 + with "-1.0e+1" + is expected to be an instance of Float + is expected to eql -10.0 + with ".1" + is expected to eql 0.1 + 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 1.0 + with "+1.0E-1" + is expected to be an instance of Float + is expected to eql 0.1 + with "-1" + is expected to eql -1.0 + is expected to be an instance of Float -Coercible::Coercer::Decimal.to_decimal - is expected to equal 0.1e1 +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::DateTime.to_datetime + is expected to equal # + +Coercible::Coercer::Symbol.to_string + is expected to be an instance of String + is expected to eql "piotr" Coercible::Coercer::Decimal#coerced? behaves like Coercible::Coercer#coerced? @@ -960,777 +1188,586 @@ with a non-primitive value is expected to equal false -Coercible::Coercer::Integer.to_integer - is expected to equal 1 - -Coercible::Coercer::Date.to_date - is expected to equal # - -Coercible::Coercer::Integer - behaves like Configurable - .config_name - is expected to equal :integer - .config - responds to configuration keys - is expected to be an instance of Coercible::Configuration - .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 - -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/ruby-coercible-1.0.0/spec/integration/configuring_coercers_spec.rb:12:in `block (2 levels) in '. - allows to configure coercers - -Coercible::Coercer::TimeCoercions.to_string - is expected to eql "2011-01-01" - is expected to be an instance of String - -Coercible::Coercer::Object.to_array - when the value responds to #to_ary - is expected to equal # - does not call #to_a if #to_ary is available - when the value returns nil from #to_ary - wraps the value in an Array if #to_a is not available - calls #to_a as a fallback - when the value does not respond to #to_ary or #to_a - is expected to be an instance of Array - is expected to == [#] - when the value responds to #to_a but not #to_ary - is expected to equal # - -Coercible::Coercer::Numeric.to_integer - is expected to eql 1 - -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 - sec - is expected to == 50 - min - is expected to == 44 - month - is expected to == 7 - hour - is expected to == 13 - year - is expected to == 2011 - day - is expected to == 22 - not including time part - it should behave like a correct time object - is expected to be an instance of Time - hour - is expected to == 0 - sec - is expected to == 0 - day - is expected to == 22 - year - is expected to == 2011 - min - is expected to == 0 - month - is expected to == 7 - -Coercible::Coercer::Float#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 + with a primitive value + is expected to equal true -Coercible::Coercer::Object.to_integer - when the value responds to #to_int - is expected to equal # - when the value does not respond to #to_int - is expected to raise Coercible::UnsupportedCoercion - -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 eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - is expected to be an instance of Time - -Coercible::Coercer::String - 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 :string - .config - is expected to be an instance of Coercible::Configuration - responds to configuration keys - .config_name - is expected to be an instance of Symbol - -Coercible::Coercer::Decimal.to_integer - is expected to be a kind of Integer - is expected to eql 1 +Coercible::Coercer::TimeCoercions.to_datetime + when the value does not respond to #to_datetime + is expected to be an instance of DateTime + is expected to eql # + when the value responds to #to_datetime + is expected to be an instance of DateTime + is expected to eql # Coercible::Coercer::Object#coerced? is expected to equal true -Coercible::Coercer::Object.to_hash - when the value responds to #to_hash - is expected to equal # - when the value does not respond to #to_hash - is expected to raise Coercible::UnsupportedCoercion +Coercible::Coercer::Integer#to_datetime + is expected to eql "2013-02-16 17:44:32.000" Coercible::Coercer::Integer.to_decimal is expected to eql 0.1e1 is expected to be an instance of BigDecimal -Coercible::Coercer::Integer#to_datetime - is expected to eql "2013-02-16 17:44:32.000" - -Coercible::Coercer::Decimal.to_float - is expected to eql 1.0 - is expected to be an instance of Float +Coercible::Coercer::Object.to_array + when the value responds to #to_ary + does not call #to_a if #to_ary is available + is expected to equal # + when the value does not respond to #to_ary or #to_a + is expected to == [#] + is expected to be an instance of Array + when the value returns nil from #to_ary + wraps the value in an Array if #to_a is not available + calls #to_a as a fallback + when the value responds to #to_a but not #to_ary + is expected to equal # -Coercible::Coercer::Time#coerced? +Coercible::Coercer::DateTime#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::String.to_boolean - with "t" - is expected to equal true - with "f" - is expected to equal false - with "y" - is expected to equal true - with "OFF" - is expected to equal false - with "0" - is expected to equal false - with "ON" - is expected to equal true - with "Y" - is expected to equal true - with "1" - is expected to equal true - with "YES" - is expected to equal true - with "F" - 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/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 "T" - is expected to equal true - with "NO" - is expected to equal false - with "false" - is expected to equal false - with "off" - is expected to equal false - with "on" - is expected to equal true - with "FALSE" - is expected to equal false - with "true" - is expected to equal true - with "n" - is expected to equal false - with "TRUE" - is expected to equal true - with "no" - is expected to equal false - with "yes" - is expected to equal true - with "N" - is expected to equal false - -Coercible::Coercer::Float.to_string - is expected to eql "1.0" - is expected to be an instance of String - -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::Date.to_string - is expected to eql "2011-01-01" - is expected to be an instance of String +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::Configuration.build - is expected to respond to #bar= - is expected to be an instance of Coercible::Configuration - is expected to respond to #foo - is expected to respond to #bar - is expected to respond to #foo= +Coercible::Coercer::Integer#datetime_format + with other Ruby VMs + is expected to == "%s" + with Rubinius + is expected to == "%Q" Coercible::Coercer::String.to_decimal - with "1.0E+1" - is expected to eql 0.1e2 + with ".1" is expected to be an instance of BigDecimal - with ".1e-1" - is expected to eql 0.1e-1 + is expected to eql 0.1e0 + with "+1" + is expected to eql 0.1e1 is expected to be an instance of BigDecimal - with "+1.0e-1" + 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 - with "-1" - 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 - with "+1" + with "-1.0" + is expected to eql -0.1e1 is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with "1" + with "+1.0" is expected to be an instance of BigDecimal is expected to eql 0.1e1 - with "+1.0E+1" - is expected to eql 0.1e2 + with "-1.0e+1" is expected to be an instance of BigDecimal - with ".1" + is expected to eql -0.1e2 + 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 - 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 ".1E+1" - 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 ".1E-1" + with "1" is expected to be an instance of BigDecimal - is expected to eql 0.1e-1 - with "+1.0" 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 "-1.0e-1" is expected to be an instance of BigDecimal + is expected to eql -0.1e0 with "1.0" is expected to be an instance of BigDecimal is expected to eql 0.1e1 - with "-1.0e-1" + with "-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 eql -0.1e1 + with ".1e+1" is expected to be an instance of BigDecimal - with "+1.0E-1" + is expected to eql 0.1e1 + with "+1.0E+1" + is expected to eql 0.1e2 is expected to be an instance of BigDecimal - is expected to eql 0.1e0 - with "-1.0E+1" + with ".1E-1" is expected to be an instance of BigDecimal - is expected to eql -0.1e2 - with "+1.0e+1" + is expected to eql 0.1e-1 + with "1.0e+1" is expected to be an instance of BigDecimal is expected to eql 0.1e2 - with "-1.0" - is expected to be an instance of BigDecimal - is expected to eql -0.1e1 - with "-1.0e+1" - is expected to eql -0.1e2 + with ".1E+1" + is expected to eql 0.1e1 is expected to be an instance of BigDecimal - with "1.0e-1" + with "+1.0E-1" is expected to be an instance of BigDecimal is expected to eql 0.1e0 - with ".1e+1" + with an invalid decimal string + is expected to raise Coercible::UnsupportedCoercion + with "1.0E+1" is expected to be an instance of BigDecimal - is expected to eql 0.1e1 + is expected to eql 0.1e2 + +Coercible::Coercer::Time.to_time + is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" + +Coercible::Coercer::Float.to_float + is expected to equal 1.0 + +Coercible::Coercer::Numeric.to_float + is expected to eql 1.0 + +Coercible::Coercer::Float.to_string + is expected to eql "1.0" + is expected to be an instance of String + +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::Decimal.to_integer + is expected to eql 1 + is expected to be a kind of Integer + +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::String.to_datetime + with a valid date string + not including time part + it should behave like a correct datetime object + is expected to be an instance of DateTime + year + is expected to == 2011 + sec + is expected to == 0 + day + is expected to == 22 + min + is expected to == 0 + hour + is expected to == 0 + month + is expected to == 7 + including time part + it should behave like a correct datetime object + is expected to be an instance of DateTime + month + is expected to == 7 + year + is expected to == 2011 + day + is expected to == 22 + min + is expected to == 44 + hour + is expected to == 13 + sec + is expected to == 50 + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion + +Coercible::Coercer::FalseClass.to_string + is expected to be an instance of String + is expected to eql "false" Coercible::Coercer::Integer.to_float - is expected to be an instance of Float is expected to eql 1.0 + is expected to be an instance of Float + +Coercible::Coercer::String + 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 :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 + +Coercible::Coercer::FalseClass#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 + behaves like Configurable + .config_keys + is expected to be an instance of Array + is expected not to be empty + .config_name + is expected to be an instance of Symbol + .config + is expected to be an instance of Coercible::Configuration + responds to configuration keys + .config_name + is expected to equal :integer + +Coercible::Coercer::Numeric.to_string + is expected to eql "1/1" + +Coercible::Coercer::Decimal.to_decimal + is expected to equal 0.1e1 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 - uses the Time now to populate the segments is expected to be an instance of DateTime + is expected to eql # when time segments are strings 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 + +Coercible::Coercer::Object#inspect + is expected to == "#" + +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::TimeCoercions.to_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" + 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" Coercible::Coercer::String.to_symbol is expected to equal :value -Coercible::Coercer::Float#to_float - is expected to eql "2013-02-16 17:44:32.120" +Coercible::Coercer::Integer.to_integer + is expected to equal 1 -Coercible::Coercer::Float.to_float - is expected to equal 1.0 +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 + +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/ruby-coercible-1.0.0/spec/integration/configuring_coercers_spec.rb:12:in `block (2 levels) in '. + allows to configure coercers + +Coercible::Coercer::String.to_time + with a valid time string + including time part + it should behave like a correct time object + is expected to be an instance of Time + day + is expected to == 22 + month + is expected to == 7 + hour + is expected to == 13 + year + is expected to == 2011 + min + is expected to == 44 + 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 + hour + is expected to == 0 + sec + is expected to == 0 + min + is expected to == 0 + month + is expected to == 7 + day + is expected to == 22 + year + is expected to == 2011 + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion 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::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::Numeric.to_integer + is expected to eql 1 -Coercible::Coercer::Hash.to_date - 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 strings - is expected to be an instance of Date - is expected to eql # - when time segments are integers - is expected to be an instance of Date - is expected to eql # +Coercible::Coercer::TrueClass#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_date - when DateTime does not support #to_date - is expected to eql # - is expected to be an instance of Date - when DateTime supports #to_date - is expected to equal # +Coercible::Coercer::Float.to_integer + is expected to eql 1 + is expected to be a kind of Integer + +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::Date.to_string + is expected to be an instance of String + is expected to eql "2011-01-01" + +Coercible::Coercer::Float.to_decimal + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + +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" + +Coercible::Coercer::Array#to_set + is expected to eql "a", 1, "b", and 2 + is expected to be an instance of Set Coercible::Coercer::Integer.to_boolean - when the fixnum is 0 - is expected to equal false 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::Hash#coerced? +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 + +Coercible::Coercer::Float#to_float + is expected to eql "2013-02-16 17:44:32.120" + +Coercible::Coercer::Configurable.config_name + is expected to equal :test + +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::Integer#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 + with a non-primitive value + is expected to equal false -Coercible::Coercer::Integer#coerced? +Coercible::Coercer::Decimal.to_string + is expected to be an instance of String + is expected to eql "1.0" + +Coercible::Coercer::Integer.to_string + is expected to be an instance of String + is expected to eql "1" + +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::Hash.to_date + when time segments are integers + 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 strings + is expected to eql # + is expected to be an instance of Date + Coercible::Coercer::String.to_constant - with a name outside of the namespace - is expected to raise NameError - when the name is unknown - is expected to raise NameError with a non-namespaced name is expected to equal String - when the name is invalid - is expected to raise NameError - with a namespaced name - is expected to equal Coercible::Coercer::String with a namespaced qualified name is expected to equal Coercible::Coercer::String + when the name is unknown + is expected to raise NameError + when the name is invalid + is expected to raise NameError with a non-namespaced qualified name is expected to equal String + with a name outside of the namespace + is expected to raise NameError + with a namespaced name + is expected to equal Coercible::Coercer::String -Coercible::Coercer::Object#inspect - is expected to == "#" +Coercible::Coercer::Date.to_date + is expected to equal # -Coercible::Coercer::String#coerced? +Coercible::Coercer::Integer#datetime_proc + with Rubinius + is expected to be an instance of Proc + with other Ruby VMs + is expected to be an instance of Proc + +Coercible::Coercer::Configurable.config + is expected to equal # + +Coercible::Coercer::Time.to_integer + is expected to eql 1683535134 + +Coercible::Coercer::Decimal.to_float + is expected to be an instance of Float + is expected to eql 1.0 + +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::FalseClass#coerced? +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::Symbol.to_string - is expected to eql "piotr" +Coercible::Coercer::DateTime.to_string + is expected to eql "2011-01-01T00:00:00+00:00" is expected to be an instance of String -Coercible::Coercer::Configurable.config - is expected to equal # +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::Hash.to_time when time segments are missing - is expected to be an instance of Time uses the Time now to populate the segments - when time segments are strings is expected to be an instance of Time + when time segments are strings is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time 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" -Coercible::Coercer::Time.to_integer - is expected to eql 1717945238 - -Coercible::Coercer.new - is expected to be an instance of Coercible::Coercer - config - is expected to respond to #string= - config - is expected to respond to #string - config - is expected to be an instance of Coercible::Configuration - -Coercible::Coercer::Float.to_integer - is expected to be a kind of Integer - is expected to eql 1 - -Coercible::Coercer::Float.to_decimal - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal - -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::String.to_float - with ".1e-1" - is expected to eql 0.01 - 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 - with "1e1" - is expected to eql 10.0 - is expected to be an instance of Float - with "1.0E+1" - is expected to eql 10.0 - is expected to be an instance of Float - 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 - string starts with e - is expected to raise Coercible::UnsupportedCoercion - with ".1E-1" - is expected to eql 0.01 - is expected to be an instance of Float - with "+1e-1" - is expected to eql 0.1 - is expected to be an instance of Float - with "-1E1" - is expected to eql -10.0 - is expected to be an instance of Float - with ".1" - is expected to be an instance of Float - is expected to eql 0.1 - with an invalid float string - is expected to raise Coercible::UnsupportedCoercion - 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 "-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.0E-1" - is expected to eql -0.1 - is expected to be an instance of Float - with "+1.0e-1" - is expected to be an instance of Float - 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.0" - is expected to eql -1.0 - is expected to be an instance of Float - with "-1.0e+1" - is expected to eql -10.0 - is expected to be an instance of Float - with "1.0" - is expected to be an instance of Float - is expected to eql 1.0 - 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 -0.1 - is expected to be an instance of Float - with "+1" - is expected to be an instance of Float - is expected to eql 1.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 be an instance of Float - is expected to eql 0.1 +Coercible::Coercer::String.to_boolean + with "ON" + is expected to equal true + 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/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 "f" + is expected to equal false + with "F" + is expected to equal false + with "t" + is expected to equal true + with "true" + is expected to equal true + with "yes" + is expected to equal true + with "YES" + is expected to equal true + with "TRUE" + is expected to equal true + with "FALSE" + is expected to equal false + with "n" + is expected to equal false + with "false" + is expected to equal false + with "Y" + is expected to equal true with "1" - is expected to be an instance of Float - is expected to eql 1.0 - with "1E+1" - is expected to eql 10.0 - is expected to be an instance of Float - with "+1.0E-1" - is expected to be an instance of Float - is expected to eql 0.1 - -Coercible::Coercer::TimeCoercions.to_datetime - when the value responds to #to_datetime - is expected to be an instance of DateTime - is expected to eql # - when the value does not respond to #to_datetime - is expected to eql # - is expected to be an instance of DateTime - -Coercible::Coercer::TrueClass.to_string - is expected to eql "true" - is expected to be an instance of String - -Coercible::Coercer::Numeric.to_string - is expected to eql "1/1" - -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::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::Time.to_time - is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" - -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" - -Coercible::Coercer::Integer.to_string - is expected to be an instance of String - is expected to eql "1" - -Coercible::Coercer::Numeric.to_float - is expected to eql 1.0 - -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 be an instance of Time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - -Coercible::Coercer::Integer#datetime_format - with other Ruby VMs - is expected to == "%s" - with Rubinius - is expected to == "%Q" - -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::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 + is expected to equal true + with "NO" + is expected to equal false + with "no" + is expected to equal false + with "on" + is expected to equal true + with "y" + is expected to equal true + with "off" + is expected to equal false + with "OFF" + is expected to equal false + with "N" + is expected to equal false + with "T" + is expected to equal true + with "0" + is expected to equal false Coercible::Coercer::Object.to_string - when the value does not respond to #to_str - is expected to raise Coercible::UnsupportedCoercion 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::Configurable.config_name - is expected to equal :test - -Coercible::Coercer::Decimal.to_string +Coercible::Coercer::TimeCoercions.to_string is expected to be an instance of String - is expected to eql "1.0" - -Coercible::Coercer::String.to_datetime - with a valid date string - not including time part - it should behave like a correct datetime object - is expected to be an instance of DateTime - hour - is expected to == 0 - month - is expected to == 7 - min - is expected to == 0 - sec - is expected to == 0 - day - is expected to == 22 - year - is expected to == 2011 - including time part - it should behave like a correct datetime object - is expected to be an instance of DateTime - hour - is expected to == 13 - min - is expected to == 44 - month - is expected to == 7 - year - is expected to == 2011 - sec - is expected to == 50 - day - is expected to == 22 - with an invalid date time string - is expected to raise Coercible::UnsupportedCoercion + is expected to eql "2011-01-01" -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::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::Date#coerced? +Coercible::Coercer::String#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::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 - day - is expected to == 22 - year - is expected to == 2011 - month - is expected to == 7 - -Coercible::Coercer::String.to_integer - with "1" - is expected to be a kind of Integer - is expected to eql 1 - 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 eql 10 - is expected to be a kind of Integer - with "+1" - is expected to eql 1 - is expected to be a kind of Integer - with ".1" - is expected to eql 0 - 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 0 - is expected to be a kind of Integer - with "1.7976931348623158e+307" - is expected to be a kind of Integer - is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 - with an invalid integer string - is expected to raise Coercible::UnsupportedCoercion - with "+1.0E-1" - is expected to be a kind of Integer - is expected to eql 0 - with "2.2250738585072014e-308" - 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 eql 0 - 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.0" - 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 "1E+1" - 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 1 - with "-1e-1" - is expected to eql 0 - 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 - string starts with e - is expected to raise Coercible::UnsupportedCoercion - with "+1e-1" - is expected to be a kind of Integer - is expected to eql 0 - with "1e1" - is expected to eql 10 - 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.0e+1" - is expected to eql 10 - 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.0" - is expected to be a kind of Integer - is expected to eql -1 - 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 "-1E1" - is expected to eql -10 - 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 eql -10 - is expected to be a kind of Integer - 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/ruby-coercible-1.0.0/spec/unit/coercible/coercer/integer/datetime_proc_spec.rb:11:in `block (3 levels) in '. +Using `should_receive` 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/ruby-coercible-1.0.0/spec/unit/coercible/coercer/time_coercions/to_date_spec.rb:16:in `block (3 levels) in '. If you need more of the backtrace for any of these deprecations to @@ -1740,54 +1777,54 @@ 2 deprecation warnings total -Top 10 slowest examples (0.07408 seconds, 6.6% of total time): - Coercible::Coercer::String.to_integer with "+1.0E+1" is expected to eql 10 - 0.01182 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 - Coercible::Coercer::String.to_float with "+1" is expected to eql 1.0 - 0.01107 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:41 - Coercible::Coercer::Object.to_array when the value returns nil from #to_ary wraps the value in an Array if #to_a is not available - 0.01077 seconds ./spec/unit/coercible/coercer/object/to_array_spec.rb:47 - Coercible::Coercer::DateTime.to_date when DateTime supports #to_date is expected to equal # - 0.01062 seconds ./spec/unit/coercible/coercer/date_time/to_date_spec.rb:28 - Coercible::Coercer::Integer behaves like Configurable .config_keys is expected not to be empty - 0.00722 seconds ./spec/shared/unit/configurable.rb:12 - Configuring coercers allows to configure coercers - 0.0061 seconds ./spec/integration/configuring_coercers_spec.rb:4 - Coercible::Coercer::Integer behaves like Configurable .config responds to configuration keys - 0.00527 seconds ./spec/shared/unit/configurable.rb:20 - Coercible::Coercer::FalseClass.to_string is expected to eql "false" - 0.00401 seconds ./spec/unit/coercible/coercer/false_class/to_string_spec.rb:11 - Coercible::Coercer::FalseClass.to_string is expected to be an instance of String - 0.00364 seconds ./spec/unit/coercible/coercer/false_class/to_string_spec.rb:9 - Coercible::Coercer::Integer#datetime_format with Rubinius is expected to == "%Q" - 0.00356 seconds ./spec/unit/coercible/coercer/integer/datetime_format_spec.rb:15 +Top 10 slowest examples (0.07415 seconds, 8.0% of total time): + Coercible::Coercer::String.to_time with a valid time string including time part it should behave like a correct time object sec is expected to == 50 + 0.01154 seconds ./spec/unit/coercible/coercer/string/to_time_spec.rb:11 + Coercible::Coercer.new config is expected to be an instance of Coercible::Configuration + 0.01085 seconds ./spec/unit/coercible/coercer/class_methods/new_spec.rb:10 + Coercible::Coercer::String.to_float with "1E+1" is expected to be an instance of Float + 0.01074 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:39 + Coercible::Coercer::String.to_decimal with ".1e+1" is expected to be an instance of BigDecimal + 0.01005 seconds ./spec/unit/coercible/coercer/string/to_decimal_spec.rb:36 + Coercible::Coercer::String.to_integer when integer string is big is expected to == 334490140000101135 + 0.00796 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:59 + Coercible::Coercer::String behaves like Configurable .config_keys is expected not to be empty + 0.00645 seconds ./spec/shared/unit/configurable.rb:12 + Coercible::Coercer::String.to_integer with an invalid integer string is expected to raise Coercible::UnsupportedCoercion + 0.00537 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:53 + Coercible::Configuration.build is expected to respond to #bar= + 0.00443 seconds ./spec/unit/coercible/configuration/class_methods/build_spec.rb:14 + Coercible::Coercer::Numeric.to_decimal with an object responding to #to_d is expected to eql 0.1e1 + 0.00343 seconds ./spec/unit/coercible/coercer/numeric/to_decimal_spec.rb:11 + Coercible::Coercer::Configurable.config is expected to equal # + 0.00333 seconds ./spec/unit/coercible/coercer/configurable/config_spec.rb:24 Top 10 slowest example groups: - Configuring coercers - 0.00719 seconds average (0.00719 seconds / 1 example) ./spec/integration/configuring_coercers_spec.rb:3 - Coercible::Coercer::DateTime.to_date - 0.00528 seconds average (0.01583 seconds / 3 examples) ./spec/unit/coercible/coercer/date_time/to_date_spec.rb:3 - Coercible::Coercer::FalseClass.to_string - 0.00451 seconds average (0.00902 seconds / 2 examples) ./spec/unit/coercible/coercer/false_class/to_string_spec.rb:3 - Coercible::Coercer::Object.to_array - 0.00442 seconds average (0.03091 seconds / 7 examples) ./spec/unit/coercible/coercer/object/to_array_spec.rb:3 - Coercible::Coercer::DateTime.to_datetime - 0.00413 seconds average (0.00413 seconds / 1 example) ./spec/unit/coercible/coercer/date_time/to_datetime_spec.rb:3 + Coercible::Coercer.new + 0.00438 seconds average (0.0175 seconds / 4 examples) ./spec/unit/coercible/coercer/class_methods/new_spec.rb:3 Coercible::Coercer::Configurable.config - 0.00377 seconds average (0.00377 seconds / 1 example) ./spec/unit/coercible/coercer/configurable/config_spec.rb:3 - Coercible::Coercer::Integer#datetime_proc - 0.00365 seconds average (0.00729 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/datetime_proc_spec.rb:3 + 0.00401 seconds average (0.00401 seconds / 1 example) ./spec/unit/coercible/coercer/configurable/config_spec.rb:3 + Coercible::Coercer::Numeric.to_decimal + 0.00369 seconds average (0.00738 seconds / 2 examples) ./spec/unit/coercible/coercer/numeric/to_decimal_spec.rb:3 + Coercible::Coercer::DateTime.to_datetime + 0.00364 seconds average (0.00364 seconds / 1 example) ./spec/unit/coercible/coercer/date_time/to_datetime_spec.rb:3 Coercible::Coercer::Integer#coerced? - 0.00361 seconds average (0.00721 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/coerced_predicate_spec.rb:3 - Coercible::Coercer::Integer#datetime_format - 0.0036 seconds average (0.00721 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/datetime_format_spec.rb:3 - Coercible::Coercer::Integer - 0.00341 seconds average (0.02044 seconds / 6 examples) ./spec/unit/coercible/coercer/integer_spec.rb:3 + 0.00318 seconds average (0.00636 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/coerced_predicate_spec.rb:3 + Coercible::Coercer::String.to_time + 0.00313 seconds average (0.04694 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_time_spec.rb:14 + Coercible::Coercer::Integer#datetime_proc + 0.00313 seconds average (0.00626 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/datetime_proc_spec.rb:3 + Coercible::Coercer::Integer#to_datetime + 0.00308 seconds average (0.00308 seconds / 1 example) ./spec/unit/coercible/coercer/integer/to_datetime_spec.rb:3 + Coercible::Coercer::Object.to_integer + 0.00306 seconds average (0.00611 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_integer_spec.rb:3 + Coercible::Coercer::Time.to_time + 0.00302 seconds average (0.00302 seconds / 1 example) ./spec/unit/coercible/coercer/time/to_time_spec.rb:3 -Finished in 1.13 seconds (files took 1.12 seconds to load) +Finished in 0.92638 seconds (files took 1.04 seconds to load) 396 examples, 0 failures -Randomized with seed 53005 +Randomized with seed 36305 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1827,12 +1864,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/18907/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/18907/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/16809 and its subdirectories -I: Current time: Sun Jun 9 03:00:47 -12 2024 -I: pbuilder-time-stamp: 1717945247 +I: removing directory /srv/workspace/pbuilder/18907 and its subdirectories +I: Current time: Mon May 8 22:39:01 +14 2023 +I: pbuilder-time-stamp: 1683535141