mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 06:52:36 +01:00
Merge bitcoin/bitcoin#29892: test: Fix failing univalue float test
fa4c69669e
test: Fix failing univalue float test (MarcoFalke) Pull request description: Currently the test may fail for some compilers, because `1e-8` may not be possible to represent exactly/consistently. ``` $ ./src/univalue/test/object object: univalue/test/object.cpp:424: void univalue_readwrite(): Assertion `v.read("0.00000000000000000000000000000000000001e+30 ") && v.get_real() == 1e-8' failed. Aborted (core dumped) ``` Fixes https://github.com/bitcoin/bitcoin/pull/27256#discussion_r1567356943 ACKs for top commit: laanwj: ACKfa4c69669e
stickies-v: ACKfa4c69669e
, thanks for fixing! Tree-SHA512: dea4f4f843381d5e8ffaa812b2290a11e081b29f8777d041751c4aa9942e60f1f8d2d1a652d9a52b41dec470a490c9fe26ca9bc762dd593c3521b328a8af2826
This commit is contained in:
commit
c8e3b94744
2 changed files with 2 additions and 1 deletions
|
@ -291,6 +291,7 @@ BOOST_AUTO_TEST_CASE(rpc_parse_monetary_values)
|
|||
BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("1e-8")), COIN/100000000);
|
||||
BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.1e-7")), COIN/100000000);
|
||||
BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.01e-6")), COIN/100000000);
|
||||
BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.00000000000000000000000000000000000001e+30")), 1);
|
||||
BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.0000000000000000000000000000000000000000000000000000000000000000000000000001e+68")), COIN/100000000);
|
||||
BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("10000000000000000000000000000000000000000000000000000000000000000e-64")), COIN);
|
||||
BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("0.000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000e64")), COIN);
|
||||
|
|
|
@ -421,7 +421,7 @@ void univalue_readwrite()
|
|||
// Valid, with leading or trailing whitespace
|
||||
BOOST_CHECK(v.read(" 1.0") && (v.get_real() == 1.0));
|
||||
BOOST_CHECK(v.read("1.0 ") && (v.get_real() == 1.0));
|
||||
BOOST_CHECK(v.read("0.00000000000000000000000000000000000001e+30 ") && v.get_real() == 1e-8);
|
||||
BOOST_CHECK(v.read("0.00000000000000000000000000000000000001e+30 "));
|
||||
|
||||
BOOST_CHECK(!v.read(".19e-6")); //should fail, missing leading 0, therefore invalid JSON
|
||||
// Invalid, initial garbage
|
||||
|
|
Loading…
Add table
Reference in a new issue