mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-09 10:43:19 -05:00
Merge #18181: test: Remove incorrect assumptions in validation_flush_tests
faca8eff39
test: Remove incorrect assumptions in validation_flush_tests (MarcoFalke)fa31eebfe9
test: Tabs to spaces in all tests (MarcoFalke) Pull request description: The tests assume standard library internals that may not hold on all supported archs or when the code is instrumented for sanitizer or debug use cases Fixes #18111 ACKs for top commit: jamesob: ACKfaca8eff39
pending passing tests fjahr: ACKfaca8eff39
Tree-SHA512: 60a5ae824bdffb0762f82f67957b31b185385900be5e676fcb12c23d53f5eea734601680c2e3f0bdb8052ce90e7ca1911b1342affb67e43d91a506b111406f41
This commit is contained in:
commit
ab9de43588
3 changed files with 25 additions and 35 deletions
|
@ -11,16 +11,16 @@ BOOST_FIXTURE_TEST_SUITE(bswap_tests, BasicTestingSetup)
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(bswap_tests)
|
BOOST_AUTO_TEST_CASE(bswap_tests)
|
||||||
{
|
{
|
||||||
// Sibling in bitcoin/src/qt/test/compattests.cpp
|
// Sibling in bitcoin/src/qt/test/compattests.cpp
|
||||||
uint16_t u1 = 0x1234;
|
uint16_t u1 = 0x1234;
|
||||||
uint32_t u2 = 0x56789abc;
|
uint32_t u2 = 0x56789abc;
|
||||||
uint64_t u3 = 0xdef0123456789abc;
|
uint64_t u3 = 0xdef0123456789abc;
|
||||||
uint16_t e1 = 0x3412;
|
uint16_t e1 = 0x3412;
|
||||||
uint32_t e2 = 0xbc9a7856;
|
uint32_t e2 = 0xbc9a7856;
|
||||||
uint64_t e3 = 0xbc9a78563412f0de;
|
uint64_t e3 = 0xbc9a78563412f0de;
|
||||||
BOOST_CHECK(bswap_16(u1) == e1);
|
BOOST_CHECK(bswap_16(u1) == e1);
|
||||||
BOOST_CHECK(bswap_32(u2) == e2);
|
BOOST_CHECK(bswap_32(u2) == e2);
|
||||||
BOOST_CHECK(bswap_64(u3) == e3);
|
BOOST_CHECK(bswap_64(u3) == e3);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
|
|
@ -122,10 +122,9 @@ BOOST_AUTO_TEST_CASE(tx_valid)
|
||||||
std::map<COutPoint, int64_t> mapprevOutValues;
|
std::map<COutPoint, int64_t> mapprevOutValues;
|
||||||
UniValue inputs = test[0].get_array();
|
UniValue inputs = test[0].get_array();
|
||||||
bool fValid = true;
|
bool fValid = true;
|
||||||
for (unsigned int inpIdx = 0; inpIdx < inputs.size(); inpIdx++) {
|
for (unsigned int inpIdx = 0; inpIdx < inputs.size(); inpIdx++) {
|
||||||
const UniValue& input = inputs[inpIdx];
|
const UniValue& input = inputs[inpIdx];
|
||||||
if (!input.isArray())
|
if (!input.isArray()) {
|
||||||
{
|
|
||||||
fValid = false;
|
fValid = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -209,10 +208,9 @@ BOOST_AUTO_TEST_CASE(tx_invalid)
|
||||||
std::map<COutPoint, int64_t> mapprevOutValues;
|
std::map<COutPoint, int64_t> mapprevOutValues;
|
||||||
UniValue inputs = test[0].get_array();
|
UniValue inputs = test[0].get_array();
|
||||||
bool fValid = true;
|
bool fValid = true;
|
||||||
for (unsigned int inpIdx = 0; inpIdx < inputs.size(); inpIdx++) {
|
for (unsigned int inpIdx = 0; inpIdx < inputs.size(); inpIdx++) {
|
||||||
const UniValue& input = inputs[inpIdx];
|
const UniValue& input = inputs[inpIdx];
|
||||||
if (!input.isArray())
|
if (!input.isArray()) {
|
||||||
{
|
|
||||||
fValid = false;
|
fValid = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
// Distributed under the MIT software license, see the accompanying
|
// Distributed under the MIT software license, see the accompanying
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
//
|
//
|
||||||
#include <txmempool.h>
|
|
||||||
#include <validation.h>
|
|
||||||
#include <sync.h>
|
#include <sync.h>
|
||||||
#include <test/util/setup_common.h>
|
#include <test/util/setup_common.h>
|
||||||
|
#include <txmempool.h>
|
||||||
|
#include <validation.h>
|
||||||
|
|
||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
|
@ -85,12 +85,7 @@ BOOST_AUTO_TEST_CASE(getcoinscachesizestate)
|
||||||
// This is contingent not only on the dynamic memory usage of the Coins
|
// This is contingent not only on the dynamic memory usage of the Coins
|
||||||
// that we're adding (COIN_SIZE bytes per), but also on how much memory the
|
// that we're adding (COIN_SIZE bytes per), but also on how much memory the
|
||||||
// cacheCoins (unordered_map) preallocates.
|
// cacheCoins (unordered_map) preallocates.
|
||||||
//
|
constexpr int COINS_UNTIL_CRITICAL{3};
|
||||||
// I came up with the count by examining the printed memory usage of the
|
|
||||||
// CCoinsCacheView, so it's sort of arbitrary - but it shouldn't change
|
|
||||||
// unless we somehow change the way the cacheCoins map allocates memory.
|
|
||||||
//
|
|
||||||
constexpr int COINS_UNTIL_CRITICAL = is_64_bit ? 4 : 5;
|
|
||||||
|
|
||||||
for (int i{0}; i < COINS_UNTIL_CRITICAL; ++i) {
|
for (int i{0}; i < COINS_UNTIL_CRITICAL; ++i) {
|
||||||
COutPoint res = add_coin(view);
|
COutPoint res = add_coin(view);
|
||||||
|
@ -101,17 +96,14 @@ BOOST_AUTO_TEST_CASE(getcoinscachesizestate)
|
||||||
CoinsCacheSizeState::OK);
|
CoinsCacheSizeState::OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Adding an additional coin will push us over the edge to CRITICAL.
|
// Adding some additional coins will push us over the edge to CRITICAL.
|
||||||
add_coin(view);
|
for (int i{0}; i < 4; ++i) {
|
||||||
print_view_mem_usage(view);
|
|
||||||
|
|
||||||
auto size_state = chainstate.GetCoinsCacheSizeState(
|
|
||||||
tx_pool, MAX_COINS_CACHE_BYTES, /*max_mempool_size_bytes*/ 0);
|
|
||||||
|
|
||||||
if (!is_64_bit && size_state == CoinsCacheSizeState::LARGE) {
|
|
||||||
// On 32 bit hosts, we may hit LARGE before CRITICAL.
|
|
||||||
add_coin(view);
|
add_coin(view);
|
||||||
print_view_mem_usage(view);
|
print_view_mem_usage(view);
|
||||||
|
if (chainstate.GetCoinsCacheSizeState(tx_pool, MAX_COINS_CACHE_BYTES, /*max_mempool_size_bytes*/ 0) ==
|
||||||
|
CoinsCacheSizeState::CRITICAL) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
|
|
Loading…
Add table
Reference in a new issue