Skip to content

Commit 1994786

Browse files
l0rincryanofskyhodlinator
committed
Use BOOST_CHECK_EQUAL for optional, arith_uint256, uint256, uint160
Example error before: > unknown location:0: fatal error: in "validation_chainstatemanager_tests/chainstatemanager_args": std::bad_optional_access: bad_optional_access test/validation_chainstatemanager_tests.cpp:781: last checkpoint after: > test/validation_chainstatemanager_tests.cpp:801: error: in "validation_chainstatemanager_tests/chainstatemanager_args": check set_opts({"-assumevalid=0"}).assumed_valid_block == uint256::ZERO has failed [std::nullopt != 0000000000000000000000000000000000000000000000000000000000000000] Also added extra minimum_chainwork test to make it symmetric with assumevalid Co-authored-by: Ryan Ofsky <[email protected]> Co-authored-by: Hodlinator <[email protected]>
1 parent 743ac30 commit 1994786

File tree

2 files changed

+25
-21
lines changed

2 files changed

+25
-21
lines changed

src/test/uint256_tests.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -395,15 +395,15 @@ BOOST_AUTO_TEST_CASE(from_hex)
395395

396396
BOOST_AUTO_TEST_CASE(from_user_hex)
397397
{
398-
BOOST_CHECK_EQUAL(uint256::FromUserHex("").value(), uint256::ZERO);
399-
BOOST_CHECK_EQUAL(uint256::FromUserHex("0x").value(), uint256::ZERO);
400-
BOOST_CHECK_EQUAL(uint256::FromUserHex("0").value(), uint256::ZERO);
401-
BOOST_CHECK_EQUAL(uint256::FromUserHex("00").value(), uint256::ZERO);
402-
BOOST_CHECK_EQUAL(uint256::FromUserHex("1").value(), uint256::ONE);
403-
BOOST_CHECK_EQUAL(uint256::FromUserHex("0x10").value(), uint256{0x10});
404-
BOOST_CHECK_EQUAL(uint256::FromUserHex("10").value(), uint256{0x10});
405-
BOOST_CHECK_EQUAL(uint256::FromUserHex("0xFf").value(), uint256{0xff});
406-
BOOST_CHECK_EQUAL(uint256::FromUserHex("Ff").value(), uint256{0xff});
398+
BOOST_CHECK_EQUAL(uint256::FromUserHex(""), uint256::ZERO);
399+
BOOST_CHECK_EQUAL(uint256::FromUserHex("0x"), uint256::ZERO);
400+
BOOST_CHECK_EQUAL(uint256::FromUserHex("0"), uint256::ZERO);
401+
BOOST_CHECK_EQUAL(uint256::FromUserHex("00"), uint256::ZERO);
402+
BOOST_CHECK_EQUAL(uint256::FromUserHex("1"), uint256::ONE);
403+
BOOST_CHECK_EQUAL(uint256::FromUserHex("0x10"), uint256{0x10});
404+
BOOST_CHECK_EQUAL(uint256::FromUserHex("10"), uint256{0x10});
405+
BOOST_CHECK_EQUAL(uint256::FromUserHex("0xFf"), uint256{0xff});
406+
BOOST_CHECK_EQUAL(uint256::FromUserHex("Ff"), uint256{0xff});
407407
const std::string valid_hex_64{"0x0123456789abcdef0123456789abcdef0123456789ABDCEF0123456789ABCDEF"};
408408
BOOST_REQUIRE_EQUAL(valid_hex_64.size(), 2 + 64); // 0x prefix and 64 hex digits
409409
BOOST_CHECK_EQUAL(uint256::FromUserHex(valid_hex_64.substr(2)).value().ToString(), ToLower(valid_hex_64.substr(2)));
@@ -430,7 +430,7 @@ BOOST_AUTO_TEST_CASE( check_ONE )
430430

431431
BOOST_AUTO_TEST_CASE(FromHex_vs_uint256)
432432
{
433-
auto runtime_uint{uint256::FromHex("4A5E1E4BAAB89F3A32518A88C31BC87F618f76673e2cc77ab2127b7afdeda33b").value()};
433+
auto runtime_uint{uint256::FromHex("4A5E1E4BAAB89F3A32518A88C31BC87F618f76673e2cc77ab2127b7afdeda33b")};
434434
constexpr uint256 consteval_uint{ "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"};
435435
BOOST_CHECK_EQUAL(consteval_uint, runtime_uint);
436436
}

src/test/validation_chainstatemanager_tests.cpp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -806,22 +806,26 @@ BOOST_FIXTURE_TEST_CASE(chainstatemanager_args, BasicTestingSetup)
806806
};
807807

808808
// test -assumevalid
809-
BOOST_CHECK(!get_valid_opts({}).assumed_valid_block.has_value());
810-
BOOST_CHECK(get_valid_opts({"-assumevalid="}).assumed_valid_block.value().IsNull());
811-
BOOST_CHECK(get_valid_opts({"-assumevalid=0"}).assumed_valid_block.value().IsNull());
812-
BOOST_CHECK(get_valid_opts({"-noassumevalid"}).assumed_valid_block.value().IsNull());
813-
BOOST_CHECK_EQUAL(get_valid_opts({"-assumevalid=0x1234"}).assumed_valid_block.value().ToString(), std::string(60, '0') + "1234");
814-
const std::string cmd{"-assumevalid=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"};
815-
BOOST_CHECK_EQUAL(get_valid_opts({cmd.c_str()}).assumed_valid_block.value().ToString(), cmd.substr(13, cmd.size()));
809+
BOOST_CHECK(!get_valid_opts({}).assumed_valid_block);
810+
BOOST_CHECK_EQUAL(get_valid_opts({"-assumevalid="}).assumed_valid_block, uint256::ZERO);
811+
BOOST_CHECK_EQUAL(get_valid_opts({"-assumevalid=0"}).assumed_valid_block, uint256::ZERO);
812+
BOOST_CHECK_EQUAL(get_valid_opts({"-noassumevalid"}).assumed_valid_block, uint256::ZERO);
813+
BOOST_CHECK_EQUAL(get_valid_opts({"-assumevalid=0x12"}).assumed_valid_block, uint256{0x12});
814+
815+
std::string assume_valid{"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"};
816+
BOOST_CHECK_EQUAL(get_valid_opts({("-assumevalid=" + assume_valid).c_str()}).assumed_valid_block, uint256::FromHex(assume_valid));
816817

817818
BOOST_CHECK(!get_opts({"-assumevalid=xyz"})); // invalid hex characters
818819
BOOST_CHECK(!get_opts({"-assumevalid=01234567890123456789012345678901234567890123456789012345678901234"})); // > 64 hex chars
819820

820821
// test -minimumchainwork
821-
BOOST_CHECK(!get_valid_opts({}).minimum_chain_work.has_value());
822-
BOOST_CHECK_EQUAL(get_valid_opts({"-minimumchainwork=0"}).minimum_chain_work.value().GetCompact(), 0U);
823-
BOOST_CHECK_EQUAL(get_valid_opts({"-nominimumchainwork"}).minimum_chain_work.value().GetCompact(), 0U);
824-
BOOST_CHECK_EQUAL(get_valid_opts({"-minimumchainwork=0x1234"}).minimum_chain_work.value().GetCompact(), 0x02123400U);
822+
BOOST_CHECK(!get_valid_opts({}).minimum_chain_work);
823+
BOOST_CHECK_EQUAL(get_valid_opts({"-minimumchainwork=0"}).minimum_chain_work, arith_uint256());
824+
BOOST_CHECK_EQUAL(get_valid_opts({"-nominimumchainwork"}).minimum_chain_work, arith_uint256());
825+
BOOST_CHECK_EQUAL(get_valid_opts({"-minimumchainwork=0x1234"}).minimum_chain_work, arith_uint256{0x1234});
826+
827+
std::string minimum_chainwork{"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"};
828+
BOOST_CHECK_EQUAL(get_valid_opts({("-minimumchainwork=" + minimum_chainwork).c_str()}).minimum_chain_work, UintToArith256(uint256::FromHex(minimum_chainwork).value()));
825829

826830
BOOST_CHECK(!get_opts({"-minimumchainwork=xyz"})); // invalid hex characters
827831
BOOST_CHECK(!get_opts({"-minimumchainwork=01234567890123456789012345678901234567890123456789012345678901234"})); // > 64 hex chars

0 commit comments

Comments
 (0)