Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13711498
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
View Options
diff --git a/src/test/validation_tests.cpp b/src/test/validation_tests.cpp
index be2d1199c..ea6a6a7e4 100644
--- a/src/test/validation_tests.cpp
+++ b/src/test/validation_tests.cpp
@@ -1,74 +1,73 @@
// Copyright (c) 2011-2016 The Bitcoin Core developers
// Copyright (c) 2017 The Bitcoin developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "validation.h"
#include "chainparams.h"
#include "config.h"
#include "consensus/consensus.h"
#include "primitives/transaction.h"
#include "test/test_bitcoin.h"
#include "util.h"
#include <cstdint>
#include <cstdio>
#include <vector>
#include <boost/test/unit_test.hpp>
static CBlock makeLargeDummyBlock(const size_t num_tx) {
CBlock block;
block.vtx.reserve(num_tx);
CTransaction tx;
for (size_t i = 0; i < num_tx; i++) {
block.vtx.push_back(MakeTransactionRef(tx));
}
return block;
}
BOOST_FIXTURE_TEST_SUITE(validation_tests, BasicTestingSetup)
/** Test that LoadExternalBlockFile works with the buffer size set
below the size of a large block. Currently, LoadExternalBlockFile has the
buffer size for CBufferedFile set to 2 * MAX_TX_SIZE. Test with a value
of 10 * MAX_TX_SIZE. */
BOOST_AUTO_TEST_CASE(validation_load_external_block_file) {
FILE *fp = tmpfile();
const Config &config = GetConfig();
const CChainParams &chainparams = config.GetChainParams();
// serialization format is:
// message start magic, size of block, block
size_t nwritten = fwrite(chainparams.MessageStart(),
CMessageHeader::MESSAGE_START_SIZE, 1, fp);
BOOST_CHECK_EQUAL(nwritten, 1);
CTransaction empty_tx;
size_t empty_tx_size = GetSerializeSize(empty_tx, SER_DISK, CLIENT_VERSION);
size_t num_tx = (10 * MAX_TX_SIZE) / empty_tx_size;
CBlock block = makeLargeDummyBlock(num_tx);
BOOST_CHECK(GetSerializeSize(block, SER_DISK, CLIENT_VERSION) >
2 * MAX_TX_SIZE);
unsigned int size = GetSerializeSize(block, SER_DISK, CLIENT_VERSION);
{
CAutoFile outs(fp, SER_DISK, CLIENT_VERSION);
outs << size;
outs << block;
outs.release();
}
fseek(fp, 0, SEEK_SET);
- BOOST_CHECK_NO_THROW(
- { LoadExternalBlockFile(config, chainparams, fp, 0); });
+ BOOST_CHECK_NO_THROW({ LoadExternalBlockFile(config, fp, 0); });
}
BOOST_AUTO_TEST_SUITE_END()
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sun, Apr 27, 12:19 (17 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5573535
Default Alt Text
(2 KB)
Attached To
rABC Bitcoin ABC
Event Timeline
Log In to Comment