diff options
author | MarcoFalke <falke.marco@gmail.com> | 2019-04-11 09:44:10 -0400 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2019-04-11 10:12:36 -0400 |
commit | fa821904bf8870d8957a82ea65c0c7a8e84272a6 (patch) | |
tree | 80eb6dd8316c9ecd9540d96abc6cc388ea9a3b38 /src/test/test_bitcoin.h | |
parent | fa8685d49ed8e52b1220a89f669dac63bef172bc (diff) | |
download | bitcoin-fa821904bf8870d8957a82ea65c0c7a8e84272a6.tar.xz |
scripted-diff: Rename test_bitcoin to test/setup_common
-BEGIN VERIFY SCRIPT-
sed -i --regexp-extended -e 's/test_bitcoin\.(h|cpp)/setup_common.\1/g' $(git grep -l test_bitcoin)
git mv ./src/test/test_bitcoin.h ./src/test/setup_common.h
git mv ./src/test/test_bitcoin.cpp ./src/test/setup_common.cpp
sed -i -e 's/BITCOIN_TEST_TEST_BITCOIN_H/BITCOIN_TEST_SETUP_COMMON_H/g' ./src/test/setup_common.h
-END VERIFY SCRIPT-
Diffstat (limited to 'src/test/test_bitcoin.h')
-rw-r--r-- | src/test/test_bitcoin.h | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/src/test/test_bitcoin.h b/src/test/test_bitcoin.h deleted file mode 100644 index 38c6d85a8d..0000000000 --- a/src/test/test_bitcoin.h +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright (c) 2015-2018 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef BITCOIN_TEST_TEST_BITCOIN_H -#define BITCOIN_TEST_TEST_BITCOIN_H - -#include <chainparamsbase.h> -#include <fs.h> -#include <key.h> -#include <pubkey.h> -#include <random.h> -#include <scheduler.h> -#include <txdb.h> -#include <txmempool.h> - -#include <memory> -#include <type_traits> - -#include <boost/thread.hpp> - -// Enable BOOST_CHECK_EQUAL for enum class types -template <typename T> -std::ostream& operator<<(typename std::enable_if<std::is_enum<T>::value, std::ostream>::type& stream, const T& e) -{ - return stream << static_cast<typename std::underlying_type<T>::type>(e); -} - -/** - * This global and the helpers that use it are not thread-safe. - * - * If thread-safety is needed, the global could be made thread_local (given - * that thread_local is supported on all architectures we support) or a - * per-thread instance could be used in the multi-threaded test. - */ -extern FastRandomContext g_insecure_rand_ctx; - -/** - * Flag to make GetRand in random.h return the same number - */ -extern bool g_mock_deterministic_tests; - -static inline void SeedInsecureRand(bool deterministic = false) -{ - g_insecure_rand_ctx = FastRandomContext(deterministic); -} - -static inline uint32_t InsecureRand32() { return g_insecure_rand_ctx.rand32(); } -static inline uint256 InsecureRand256() { return g_insecure_rand_ctx.rand256(); } -static inline uint64_t InsecureRandBits(int bits) { return g_insecure_rand_ctx.randbits(bits); } -static inline uint64_t InsecureRandRange(uint64_t range) { return g_insecure_rand_ctx.randrange(range); } -static inline bool InsecureRandBool() { return g_insecure_rand_ctx.randbool(); } - -static constexpr CAmount CENT{1000000}; - -/** Basic testing setup. - * This just configures logging and chain parameters. - */ -struct BasicTestingSetup { - ECCVerifyHandle globalVerifyHandle; - - explicit BasicTestingSetup(const std::string& chainName = CBaseChainParams::MAIN); - ~BasicTestingSetup(); - - fs::path SetDataDir(const std::string& name); - -private: - const fs::path m_path_root; -}; - -/** Testing setup that configures a complete environment. - * Included are data directory, coins database, script check threads setup. - */ -struct TestingSetup : public BasicTestingSetup { - boost::thread_group threadGroup; - CScheduler scheduler; - - explicit TestingSetup(const std::string& chainName = CBaseChainParams::MAIN); - ~TestingSetup(); -}; - -class CBlock; -struct CMutableTransaction; -class CScript; - -// -// Testing fixture that pre-creates a -// 100-block REGTEST-mode block chain -// -struct TestChain100Setup : public TestingSetup { - TestChain100Setup(); - - // Create a new block with just given transactions, coinbase paying to - // scriptPubKey, and try to add it to the current chain. - CBlock CreateAndProcessBlock(const std::vector<CMutableTransaction>& txns, - const CScript& scriptPubKey); - - ~TestChain100Setup(); - - std::vector<CTransactionRef> m_coinbase_txns; // For convenience, coinbase transactions - CKey coinbaseKey; // private/public key needed to spend coinbase transactions -}; - -class CTxMemPoolEntry; - -struct TestMemPoolEntryHelper -{ - // Default values - CAmount nFee; - int64_t nTime; - unsigned int nHeight; - bool spendsCoinbase; - unsigned int sigOpCost; - LockPoints lp; - - TestMemPoolEntryHelper() : - nFee(0), nTime(0), nHeight(1), - spendsCoinbase(false), sigOpCost(4) { } - - CTxMemPoolEntry FromTx(const CMutableTransaction& tx); - CTxMemPoolEntry FromTx(const CTransactionRef& tx); - - // Change the default value - TestMemPoolEntryHelper &Fee(CAmount _fee) { nFee = _fee; return *this; } - TestMemPoolEntryHelper &Time(int64_t _time) { nTime = _time; return *this; } - TestMemPoolEntryHelper &Height(unsigned int _height) { nHeight = _height; return *this; } - TestMemPoolEntryHelper &SpendsCoinbase(bool _flag) { spendsCoinbase = _flag; return *this; } - TestMemPoolEntryHelper &SigOpsCost(unsigned int _sigopsCost) { sigOpCost = _sigopsCost; return *this; } -}; - -CBlock getBlock13b8a(); - -// define an implicit conversion here so that uint256 may be used directly in BOOST_CHECK_* -std::ostream& operator<<(std::ostream& os, const uint256& num); - -#endif |