Changeset View
Changeset View
Standalone View
Standalone View
src/test/validation_tests.cpp
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(validation_load_external_block_file) { | ||||
// message start magic, size of block, block | // message start magic, size of block, block | ||||
size_t nwritten = fwrite(std::begin(chainparams.DiskMagic()), | size_t nwritten = fwrite(std::begin(chainparams.DiskMagic()), | ||||
CMessageHeader::MESSAGE_START_SIZE, 1, fp); | CMessageHeader::MESSAGE_START_SIZE, 1, fp); | ||||
BOOST_CHECK_EQUAL(nwritten, 1UL); | BOOST_CHECK_EQUAL(nwritten, 1UL); | ||||
CTransaction empty_tx; | CTransaction empty_tx; | ||||
size_t empty_tx_size = GetSerializeSize(empty_tx, SER_DISK, CLIENT_VERSION); | size_t empty_tx_size = GetSerializeSize(empty_tx, CLIENT_VERSION); | ||||
size_t num_tx = (10 * MAX_TX_SIZE) / empty_tx_size; | size_t num_tx = (10 * MAX_TX_SIZE) / empty_tx_size; | ||||
CBlock block = makeLargeDummyBlock(num_tx); | CBlock block = makeLargeDummyBlock(num_tx); | ||||
BOOST_CHECK(GetSerializeSize(block, SER_DISK, CLIENT_VERSION) > | BOOST_CHECK(GetSerializeSize(block, CLIENT_VERSION) > 2 * MAX_TX_SIZE); | ||||
2 * MAX_TX_SIZE); | |||||
unsigned int size = GetSerializeSize(block, SER_DISK, CLIENT_VERSION); | unsigned int size = GetSerializeSize(block, CLIENT_VERSION); | ||||
{ | { | ||||
CAutoFile outs(fp, SER_DISK, CLIENT_VERSION); | CAutoFile outs(fp, SER_DISK, CLIENT_VERSION); | ||||
outs << size; | outs << size; | ||||
outs << block; | outs << block; | ||||
outs.release(); | outs.release(); | ||||
} | } | ||||
fseek(fp, 0, SEEK_SET); | fseek(fp, 0, SEEK_SET); | ||||
BOOST_CHECK_NO_THROW({ LoadExternalBlockFile(config, fp, 0); }); | BOOST_CHECK_NO_THROW({ LoadExternalBlockFile(config, fp, 0); }); | ||||
} | } | ||||
BOOST_AUTO_TEST_SUITE_END() | BOOST_AUTO_TEST_SUITE_END() |