Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/test/addrman_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
BOOST_CHECK(addrman->Add({CAddress(addr1_port, NODE_NONE)}, source));
BOOST_CHECK_EQUAL(addrman->Size(), 2U);
auto addr_ret2 = addrman->Select().first;
BOOST_CHECK(addr_ret2.ToStringAddrPort() == "250.1.1.1:8333" || addr_ret2.ToStringAddrPort() == "250.1.1.1:8334");
BOOST_CHECK((addr_ret2.ToStringAddrPort() == "250.1.1.1:8333" || addr_ret2.ToStringAddrPort() == "250.1.1.1:8334"));

// Test: Add same IP but diff port to tried table; this converts the entry with
// the specified port to tried, but not the other.
Expand Down Expand Up @@ -311,7 +311,7 @@ BOOST_AUTO_TEST_CASE(addrman_select_by_network)

while (--counter > 0 && (!new_selected || !tried_selected)) {
const CAddress selected{addrman->Select(/*new_only=*/false, {NET_I2P}).first};
BOOST_REQUIRE(selected == i2p_addr || selected == i2p_addr2);
BOOST_REQUIRE((selected == i2p_addr || selected == i2p_addr2));
if (selected == i2p_addr) {
tried_selected = true;
} else {
Expand Down
12 changes: 8 additions & 4 deletions src/test/amount_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,15 @@ BOOST_AUTO_TEST_CASE(GetFeeTest)
// Previously, precision was limited to three decimal digits
// due to only supporting satoshis per kB, so CFeeRate(CAmount(1), 1001) was equal to CFeeRate(0)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In "scripted-diff: Unroll && conditions in tests" 4cdcaf2

It is worth northing that this changes behaviour a bit, splitting BOOST_CHECK(a && b && c) to BOOST_CHECK(a); BOOST_CHECK(b); BOOST_CHECK(c); pinpoints which sub-condition failed.

If you don't want to change the behaviour u can unroll like the subsequent commit, or mention this in the commit body with why.

// Since #32750, higher precision is maintained.
BOOST_CHECK(CFeeRate(CAmount(1), 1001) > CFeeRate(0) && CFeeRate(CAmount(1), 1001) < CFeeRate(1));
BOOST_CHECK(CFeeRate(CAmount(2), 1001) > CFeeRate(1) && CFeeRate(CAmount(2), 1001) < CFeeRate(2));
BOOST_CHECK(CFeeRate(CAmount(1), 1001) > CFeeRate(0));
BOOST_CHECK(CFeeRate(CAmount(1), 1001) < CFeeRate(1));
BOOST_CHECK(CFeeRate(CAmount(2), 1001) > CFeeRate(1));
BOOST_CHECK(CFeeRate(CAmount(2), 1001) < CFeeRate(2));
// some more integer checks
BOOST_CHECK(CFeeRate(CAmount(26), 789) > CFeeRate(32) && CFeeRate(CAmount(26), 789) < CFeeRate(33));
BOOST_CHECK(CFeeRate(CAmount(27), 789) > CFeeRate(34) && CFeeRate(CAmount(27), 789) < CFeeRate(35));
BOOST_CHECK(CFeeRate(CAmount(26), 789) > CFeeRate(32));
BOOST_CHECK(CFeeRate(CAmount(26), 789) < CFeeRate(33));
BOOST_CHECK(CFeeRate(CAmount(27), 789) > CFeeRate(34));
BOOST_CHECK(CFeeRate(CAmount(27), 789) < CFeeRate(35));
// Maximum size in bytes, should not crash
CFeeRate(MAX_MONEY, std::numeric_limits<int32_t>::max()).GetFeePerK();

Expand Down
54 changes: 32 additions & 22 deletions src/test/argsman_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -204,24 +204,33 @@ BOOST_AUTO_TEST_CASE(util_ParseParameters)
testArgs.SetupArgs({a, b, ccc, d});
BOOST_CHECK(testArgs.ParseParameters(0, argv_test, error));
testArgs.LockSettings([&](const common::Settings& s) {
BOOST_CHECK(s.command_line_options.empty() && s.ro_config.empty());
BOOST_CHECK(s.command_line_options.empty());
BOOST_CHECK(s.ro_config.empty());
});

BOOST_CHECK(testArgs.ParseParameters(1, argv_test, error));
testArgs.LockSettings([&](const common::Settings& s) {
BOOST_CHECK(s.command_line_options.empty() && s.ro_config.empty());
BOOST_CHECK(s.command_line_options.empty());
BOOST_CHECK(s.ro_config.empty());
});

BOOST_CHECK(testArgs.ParseParameters(7, argv_test, error));
// expectation: -ignored is ignored (program name argument),
// -a, -b and -ccc end up in map, -d ignored because it is after
// a non-option argument (non-GNU option parsing)
BOOST_CHECK(testArgs.IsArgSet("-a") && testArgs.IsArgSet("-b") && testArgs.IsArgSet("-ccc")
&& !testArgs.IsArgSet("f") && !testArgs.IsArgSet("-d"));
BOOST_CHECK(testArgs.IsArgSet("-a"));
BOOST_CHECK(testArgs.IsArgSet("-b"));
BOOST_CHECK(testArgs.IsArgSet("-ccc"));
BOOST_CHECK(!testArgs.IsArgSet("f"));
BOOST_CHECK(!testArgs.IsArgSet("-d"));
testArgs.LockSettings([&](const common::Settings& s) {
BOOST_CHECK(s.command_line_options.size() == 3 && s.ro_config.empty());
BOOST_CHECK(s.command_line_options.contains("a") && s.command_line_options.contains("b") && s.command_line_options.contains("ccc")
&& !s.command_line_options.contains("f") && !s.command_line_options.contains("d"));
BOOST_CHECK(s.command_line_options.size() == 3);
BOOST_CHECK(s.ro_config.empty());
BOOST_CHECK(s.command_line_options.contains("a"));
BOOST_CHECK(s.command_line_options.contains("b"));
BOOST_CHECK(s.command_line_options.contains("ccc"));
BOOST_CHECK(!s.command_line_options.contains("f"));
BOOST_CHECK(!s.command_line_options.contains("d"));

BOOST_CHECK(s.command_line_options.at("a").size() == 1);
BOOST_CHECK(s.command_line_options.at("a").front().get_str() == "");
Expand Down Expand Up @@ -325,11 +334,12 @@ BOOST_AUTO_TEST_CASE(util_GetBoolArg)

Comment thread
rustaceanrob marked this conversation as resolved.
// Each letter should be set.
for (const char opt : "abcdef")
BOOST_CHECK(testArgs.IsArgSet({'-', opt}) || !opt);
BOOST_CHECK((testArgs.IsArgSet({'-', opt}) || !opt));

// Nothing else should be in the map
testArgs.LockSettings([&](const common::Settings& s) {
BOOST_CHECK(s.command_line_options.size() == 6 && s.ro_config.empty());
BOOST_CHECK(s.command_line_options.size() == 6);
BOOST_CHECK(s.ro_config.empty());
});

// The -no prefix should get stripped on the way in.
Expand Down Expand Up @@ -397,8 +407,8 @@ BOOST_AUTO_TEST_CASE(util_GetBoolArgEdgeCases)
// Command line overrides, but doesn't erase old setting
BOOST_CHECK(!testArgs.IsArgNegated("-bar"));
BOOST_CHECK(testArgs.GetArg("-bar", "xxx") == "");
BOOST_CHECK(testArgs.GetArgs("-bar").size() == 1
&& testArgs.GetArgs("-bar").front() == "");
BOOST_CHECK(testArgs.GetArgs("-bar").size() == 1);
BOOST_CHECK(testArgs.GetArgs("-bar").front() == "");
}

BOOST_AUTO_TEST_CASE(util_ReadConfigStream)
Expand Down Expand Up @@ -498,22 +508,22 @@ BOOST_AUTO_TEST_CASE(util_ReadConfigStream)
BOOST_CHECK(test_args.GetBoolArg("-iii", def) == def);
}

BOOST_CHECK(test_args.GetArgs("-a").size() == 1
&& test_args.GetArgs("-a").front() == "");
BOOST_CHECK(test_args.GetArgs("-b").size() == 1
&& test_args.GetArgs("-b").front() == "1");
BOOST_CHECK(test_args.GetArgs("-ccc").size() == 2
&& test_args.GetArgs("-ccc").front() == "argument"
&& test_args.GetArgs("-ccc").back() == "multiple");
BOOST_CHECK(test_args.GetArgs("-a").size() == 1);
BOOST_CHECK(test_args.GetArgs("-a").front() == "");
BOOST_CHECK(test_args.GetArgs("-b").size() == 1);
BOOST_CHECK(test_args.GetArgs("-b").front() == "1");
BOOST_CHECK(test_args.GetArgs("-ccc").size() == 2);
BOOST_CHECK(test_args.GetArgs("-ccc").front() == "argument");
BOOST_CHECK(test_args.GetArgs("-ccc").back() == "multiple");
BOOST_CHECK(test_args.GetArgs("-fff").size() == 0);
BOOST_CHECK(test_args.GetArgs("-nofff").size() == 0);
BOOST_CHECK(test_args.GetArgs("-ggg").size() == 1
&& test_args.GetArgs("-ggg").front() == "1");
BOOST_CHECK(test_args.GetArgs("-ggg").size() == 1);
BOOST_CHECK(test_args.GetArgs("-ggg").front() == "1");
BOOST_CHECK(test_args.GetArgs("-noggg").size() == 0);
BOOST_CHECK(test_args.GetArgs("-h").size() == 0);
BOOST_CHECK(test_args.GetArgs("-noh").size() == 0);
BOOST_CHECK(test_args.GetArgs("-i").size() == 1
&& test_args.GetArgs("-i").front() == "1");
BOOST_CHECK(test_args.GetArgs("-i").size() == 1);
BOOST_CHECK(test_args.GetArgs("-i").front() == "1");
BOOST_CHECK(test_args.GetArgs("-noi").size() == 0);
BOOST_CHECK(test_args.GetArgs("-zzz").size() == 0);

Expand Down
14 changes: 10 additions & 4 deletions src/test/arith_uint256_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,11 +267,17 @@ BOOST_AUTO_TEST_CASE( comparison ) // <= >= < >
arith_uint256 TmpL;
for (unsigned int i = 0; i < 256; ++i) {
TmpL= OneL<< i;
BOOST_CHECK( TmpL >= ZeroL && TmpL > ZeroL && ZeroL < TmpL && ZeroL <= TmpL);
BOOST_CHECK( TmpL >= 0 && TmpL > 0 && 0 < TmpL && 0 <= TmpL);
BOOST_CHECK(TmpL >= ZeroL);
BOOST_CHECK(TmpL > ZeroL);
BOOST_CHECK(ZeroL < TmpL);
BOOST_CHECK(ZeroL <= TmpL);
BOOST_CHECK(TmpL >= 0);
BOOST_CHECK(TmpL > 0);
BOOST_CHECK(0 < TmpL);
BOOST_CHECK(0 <= TmpL);
TmpL |= R1L;
BOOST_CHECK( TmpL >= R1L ); BOOST_CHECK( (TmpL == R1L) != (TmpL > R1L)); BOOST_CHECK( (TmpL == R1L) || !( TmpL <= R1L));
BOOST_CHECK( R1L <= TmpL ); BOOST_CHECK( (R1L == TmpL) != (R1L < TmpL)); BOOST_CHECK( (TmpL == R1L) || !( R1L >= TmpL));
BOOST_CHECK( TmpL >= R1L ); BOOST_CHECK( (TmpL == R1L) != (TmpL > R1L)); BOOST_CHECK(((TmpL == R1L) || !( TmpL <= R1L)));
BOOST_CHECK( R1L <= TmpL ); BOOST_CHECK( (R1L == TmpL) != (R1L < TmpL)); BOOST_CHECK(((TmpL == R1L) || !( R1L >= TmpL)));
BOOST_CHECK(! (TmpL < R1L)); BOOST_CHECK(! (R1L > TmpL));
}

Expand Down
3 changes: 2 additions & 1 deletion src/test/base58_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ BOOST_AUTO_TEST_CASE(base58_DecodeBase58)
std::vector<unsigned char> expected = ParseHex(test[0].get_str());
std::string base58string = test[1].get_str();
BOOST_CHECK_MESSAGE(DecodeBase58(base58string, result, 256), strTest);
BOOST_CHECK_MESSAGE(result.size() == expected.size() && std::equal(result.begin(), result.end(), expected.begin()), strTest);
BOOST_CHECK_MESSAGE(result.size() == expected.size(), strTest);
BOOST_CHECK_MESSAGE(std::equal(result.begin(), result.end(), expected.begin()), strTest);
}

BOOST_CHECK(!DecodeBase58("invalid"s, result, 100));
Expand Down
3 changes: 2 additions & 1 deletion src/test/bip32_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,8 @@ BOOST_AUTO_TEST_CASE(bip32_max_depth) {
}

// But trying to derive a non-existent 256th depth will fail!
BOOST_CHECK(key_parent.nDepth == 255 && pubkey_parent.nDepth == 255);
BOOST_CHECK(key_parent.nDepth == 255);
BOOST_CHECK(pubkey_parent.nDepth == 255);
BOOST_CHECK(!key_parent.Derive(key_child, 0));
BOOST_CHECK(!pubkey_parent.Derive(pubkey_child, 0));
}
Expand Down
9 changes: 6 additions & 3 deletions src/test/btcsignals_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,21 @@ BOOST_AUTO_TEST_CASE(return_value)
{
btcsignals::scoped_connection conn0 = sig0.connect(ReturnTrue);
ret = sig0();
BOOST_CHECK(ret && *ret == true);
BOOST_CHECK(ret);
BOOST_CHECK(*ret == true);
}
ret = sig0();
BOOST_CHECK(!ret);
{
btcsignals::scoped_connection conn1 = sig0.connect(ReturnTrue);
btcsignals::scoped_connection conn0 = sig0.connect(ReturnFalse);
ret = sig0();
BOOST_CHECK(ret && *ret == false);
BOOST_CHECK(ret);
BOOST_CHECK(*ret == false);
conn0.disconnect();
ret = sig0();
BOOST_CHECK(ret && *ret == true);
BOOST_CHECK(ret);
BOOST_CHECK(*ret == true);
}
ret = sig0();
BOOST_CHECK(!ret);
Expand Down
3 changes: 2 additions & 1 deletion src/test/checkqueue_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,8 @@ BOOST_AUTO_TEST_CASE(test_CheckQueue_Catches_Failure)
}
auto result = control.Complete();
if (i > 0) {
BOOST_REQUIRE(result.has_value() && *result == static_cast<int>(17 * i));
BOOST_REQUIRE(result.has_value());
BOOST_REQUIRE(*result == static_cast<int>(17 * i));
} else {
BOOST_REQUIRE(!result.has_value());
}
Expand Down
36 changes: 24 additions & 12 deletions src/test/coinscachepair_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ std::list<CoinsCachePair> CreatePairs(CoinsCachePair& sentinel)
auto node{std::prev(nodes.end())};
CCoinsCacheEntry::SetDirty(*node, sentinel);

BOOST_CHECK(node->second.IsDirty() && !node->second.IsFresh());
BOOST_CHECK(node->second.IsDirty());
BOOST_CHECK(!node->second.IsFresh());
BOOST_CHECK_EQUAL(node->second.Next(), &sentinel);
BOOST_CHECK_EQUAL(sentinel.second.Prev(), &(*node));

Expand Down Expand Up @@ -63,7 +64,8 @@ BOOST_AUTO_TEST_CASE(linked_list_iteration)

// Delete the nodes from the list to make sure there are no dangling pointers
for (auto it{nodes.begin()}; it != nodes.end(); it = nodes.erase(it)) {
BOOST_CHECK(!it->second.IsDirty() && !it->second.IsFresh());
BOOST_CHECK(!it->second.IsDirty());
BOOST_CHECK(!it->second.IsFresh());
}
}

Expand Down Expand Up @@ -105,9 +107,11 @@ BOOST_AUTO_TEST_CASE(linked_list_random_deletion)
nodes.erase(n2);
// Check that n1 now points to n3, and n3 still points to n4
// Also check that state was not altered
BOOST_CHECK(n1->second.IsDirty() && !n1->second.IsFresh());
BOOST_CHECK(n1->second.IsDirty());
BOOST_CHECK(!n1->second.IsFresh());
BOOST_CHECK_EQUAL(n1->second.Next(), &(*n3));
BOOST_CHECK(n3->second.IsDirty() && !n3->second.IsFresh());
BOOST_CHECK(n3->second.IsDirty());
BOOST_CHECK(!n3->second.IsFresh());
BOOST_CHECK_EQUAL(n3->second.Next(), &(*n4));
BOOST_CHECK_EQUAL(n3->second.Prev(), &(*n1));

Expand All @@ -116,7 +120,8 @@ BOOST_AUTO_TEST_CASE(linked_list_random_deletion)
nodes.erase(n1);
// Check that sentinel now points to n3, and n3 still points to n4
// Also check that state was not altered
BOOST_CHECK(n3->second.IsDirty() && !n3->second.IsFresh());
BOOST_CHECK(n3->second.IsDirty());
BOOST_CHECK(!n3->second.IsFresh());
BOOST_CHECK_EQUAL(sentinel.second.Next(), &(*n3));
BOOST_CHECK_EQUAL(n3->second.Next(), &(*n4));
BOOST_CHECK_EQUAL(n3->second.Prev(), &sentinel);
Expand All @@ -126,7 +131,8 @@ BOOST_AUTO_TEST_CASE(linked_list_random_deletion)
nodes.erase(n4);
// Check that sentinel still points to n3, and n3 points to sentinel
// Also check that state was not altered
BOOST_CHECK(n3->second.IsDirty() && !n3->second.IsFresh());
BOOST_CHECK(n3->second.IsDirty());
BOOST_CHECK(!n3->second.IsFresh());
BOOST_CHECK_EQUAL(sentinel.second.Next(), &(*n3));
BOOST_CHECK_EQUAL(n3->second.Next(), &sentinel);
BOOST_CHECK_EQUAL(sentinel.second.Prev(), &(*n3));
Expand All @@ -148,47 +154,53 @@ BOOST_AUTO_TEST_CASE(linked_list_set_state)

// Check that setting DIRTY inserts it into linked list and sets state
CCoinsCacheEntry::SetDirty(n1, sentinel);
BOOST_CHECK(n1.second.IsDirty() && !n1.second.IsFresh());
BOOST_CHECK(n1.second.IsDirty());
BOOST_CHECK(!n1.second.IsFresh());
BOOST_CHECK_EQUAL(n1.second.Next(), &sentinel);
BOOST_CHECK_EQUAL(n1.second.Prev(), &sentinel);
BOOST_CHECK_EQUAL(sentinel.second.Next(), &n1);
BOOST_CHECK_EQUAL(sentinel.second.Prev(), &n1);

// Check that setting FRESH on new node inserts it after n1
CCoinsCacheEntry::SetFresh(n2, sentinel);
BOOST_CHECK(n2.second.IsFresh() && !n2.second.IsDirty());
BOOST_CHECK(n2.second.IsFresh());
BOOST_CHECK(!n2.second.IsDirty());
BOOST_CHECK_EQUAL(n2.second.Next(), &sentinel);
BOOST_CHECK_EQUAL(n2.second.Prev(), &n1);
BOOST_CHECK_EQUAL(n1.second.Next(), &n2);
BOOST_CHECK_EQUAL(sentinel.second.Prev(), &n2);

// Check that we can set extra state, but they don't change our position
CCoinsCacheEntry::SetFresh(n1, sentinel);
BOOST_CHECK(n1.second.IsDirty() && n1.second.IsFresh());
BOOST_CHECK(n1.second.IsDirty());
BOOST_CHECK(n1.second.IsFresh());
BOOST_CHECK_EQUAL(n1.second.Next(), &n2);
BOOST_CHECK_EQUAL(n1.second.Prev(), &sentinel);
BOOST_CHECK_EQUAL(sentinel.second.Next(), &n1);
BOOST_CHECK_EQUAL(n2.second.Prev(), &n1);

// Check that we can clear state then re-set it
n1.second.SetClean();
BOOST_CHECK(!n1.second.IsDirty() && !n1.second.IsFresh());
BOOST_CHECK(!n1.second.IsDirty());
BOOST_CHECK(!n1.second.IsFresh());
BOOST_CHECK_EQUAL(sentinel.second.Next(), &n2);
BOOST_CHECK_EQUAL(sentinel.second.Prev(), &n2);
BOOST_CHECK_EQUAL(n2.second.Next(), &sentinel);
BOOST_CHECK_EQUAL(n2.second.Prev(), &sentinel);

// Calling `SetClean` a second time has no effect
n1.second.SetClean();
BOOST_CHECK(!n1.second.IsDirty() && !n1.second.IsFresh());
BOOST_CHECK(!n1.second.IsDirty());
BOOST_CHECK(!n1.second.IsFresh());
BOOST_CHECK_EQUAL(sentinel.second.Next(), &n2);
BOOST_CHECK_EQUAL(sentinel.second.Prev(), &n2);
BOOST_CHECK_EQUAL(n2.second.Next(), &sentinel);
BOOST_CHECK_EQUAL(n2.second.Prev(), &sentinel);

// Adding DIRTY re-inserts it after n2
CCoinsCacheEntry::SetDirty(n1, sentinel);
BOOST_CHECK(n1.second.IsDirty() && !n1.second.IsFresh());
BOOST_CHECK(n1.second.IsDirty());
BOOST_CHECK(!n1.second.IsFresh());
BOOST_CHECK_EQUAL(n2.second.Next(), &n1);
BOOST_CHECK_EQUAL(n1.second.Prev(), &n2);
BOOST_CHECK_EQUAL(n1.second.Next(), &sentinel);
Expand Down
4 changes: 2 additions & 2 deletions src/test/descriptor_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,11 @@ void DoCheck(std::string prv, std::string pub, const std::string& norm_pub, int
BOOST_CHECK(max_sat_nonmaxsig <= max_sat_maxsig);
const auto max_elems{parse_priv->MaxSatisfactionElems()};
const bool is_input_size_info_set{max_sat_maxsig && max_sat_nonmaxsig && max_elems};
BOOST_CHECK_MESSAGE(is_input_size_info_set || is_nontop_or_nonsolvable, prv);
BOOST_CHECK_MESSAGE((is_input_size_info_set || is_nontop_or_nonsolvable), prv);

// The ScriptSize() must match the size of the Script string. (ScriptSize() is set for all descs but 'combo()'.)
const bool is_combo{!parse_priv->IsSingleType()};
BOOST_CHECK_MESSAGE(is_combo || parse_priv->ScriptSize() == scripts[0][0].size() / 2, "Invalid ScriptSize() for " + prv);
BOOST_CHECK_MESSAGE((is_combo || parse_priv->ScriptSize() == scripts[0][0].size() / 2), "Invalid ScriptSize() for " + prv);

// Check that the correct OutputType is inferred
BOOST_CHECK(parse_priv->GetOutputType() == type);
Expand Down
12 changes: 8 additions & 4 deletions src/test/key_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,17 @@ BOOST_FIXTURE_TEST_SUITE(key_tests, BasicTestingSetup)
BOOST_AUTO_TEST_CASE(key_test1)
{
CKey key1 = DecodeSecret(strSecret1);
BOOST_CHECK(key1.IsValid() && !key1.IsCompressed());
BOOST_CHECK(key1.IsValid());
BOOST_CHECK(!key1.IsCompressed());
CKey key2 = DecodeSecret(strSecret2);
BOOST_CHECK(key2.IsValid() && !key2.IsCompressed());
BOOST_CHECK(key2.IsValid());
BOOST_CHECK(!key2.IsCompressed());
CKey key1C = DecodeSecret(strSecret1C);
BOOST_CHECK(key1C.IsValid() && key1C.IsCompressed());
BOOST_CHECK(key1C.IsValid());
BOOST_CHECK(key1C.IsCompressed());
CKey key2C = DecodeSecret(strSecret2C);
BOOST_CHECK(key2C.IsValid() && key2C.IsCompressed());
BOOST_CHECK(key2C.IsValid());
BOOST_CHECK(key2C.IsCompressed());
CKey bad_key = DecodeSecret(strAddressBad);
BOOST_CHECK(!bad_key.IsValid());

Expand Down
Loading