Browse Source

tests: add a BasicTestingSetup and apply to all tests

Make sure that chainparams and logging is properly initialized. Doing
this for every test may be overkill, but this initialization is so
simple that that does not matter.

This should fix the travis issues.
tags/v0.15.1
Wladimir J. van der Laan 6 years ago
parent
commit
92fd887fd4

+ 2
- 1
src/test/Checkpoints_tests.cpp View File

@@ -9,12 +9,13 @@
#include "checkpoints.h"

#include "uint256.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>

using namespace std;

BOOST_AUTO_TEST_SUITE(Checkpoints_tests)
BOOST_FIXTURE_TEST_SUITE(Checkpoints_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(sanity)
{

+ 2
- 1
src/test/allocator_tests.cpp View File

@@ -5,10 +5,11 @@
#include "util.h"

#include "allocators.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(allocator_tests)
BOOST_FIXTURE_TEST_SUITE(allocator_tests, BasicTestingSetup)

// Dummy memory page locker for platform independent tests
static const void *last_lock_addr, *last_unlock_addr;

+ 2
- 1
src/test/arith_uint256_tests.cpp View File

@@ -12,8 +12,9 @@
#include "arith_uint256.h"
#include <string>
#include "version.h"
#include "test/test_bitcoin.h"

BOOST_AUTO_TEST_SUITE(arith_uint256_tests)
BOOST_FIXTURE_TEST_SUITE(arith_uint256_tests, BasicTestingSetup)

/// Convert vector to arith_uint256, via uint256 blob
inline arith_uint256 arith_uint256V(const std::vector<unsigned char>& vch)

+ 2
- 1
src/test/base32_tests.cpp View File

@@ -3,10 +3,11 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include "utilstrencodings.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(base32_tests)
BOOST_FIXTURE_TEST_SUITE(base32_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(base32_testvectors)
{

+ 2
- 1
src/test/base58_tests.cpp View File

@@ -13,6 +13,7 @@
#include "uint256.h"
#include "util.h"
#include "utilstrencodings.h"
#include "test/test_bitcoin.h"

#include <boost/foreach.hpp>
#include <boost/test/unit_test.hpp>
@@ -23,7 +24,7 @@
using namespace json_spirit;
extern Array read_json(const std::string& jsondata);

BOOST_AUTO_TEST_SUITE(base58_tests)
BOOST_FIXTURE_TEST_SUITE(base58_tests, BasicTestingSetup)

// Goal: test low-level base58 encoding functionality
BOOST_AUTO_TEST_CASE(base58_EncodeBase58)

+ 2
- 1
src/test/base64_tests.cpp View File

@@ -3,10 +3,11 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include "utilstrencodings.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(base64_tests)
BOOST_FIXTURE_TEST_SUITE(base64_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(base64_testvectors)
{

+ 2
- 1
src/test/bip32_tests.cpp View File

@@ -8,6 +8,7 @@
#include "key.h"
#include "uint256.h"
#include "util.h"
#include "test/test_bitcoin.h"

#include <string>
#include <vector>
@@ -107,7 +108,7 @@ void RunTest(const TestVector &test) {
}
}

BOOST_AUTO_TEST_SUITE(bip32_tests)
BOOST_FIXTURE_TEST_SUITE(bip32_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(bip32_test1) {
RunTest(test1);

+ 2
- 1
src/test/bloom_tests.cpp View File

@@ -13,6 +13,7 @@
#include "uint256.h"
#include "util.h"
#include "utilstrencodings.h"
#include "test/test_bitcoin.h"

#include <vector>

@@ -21,7 +22,7 @@

using namespace std;

BOOST_AUTO_TEST_SUITE(bloom_tests)
BOOST_FIXTURE_TEST_SUITE(bloom_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize)
{

+ 2
- 1
src/test/checkblock_tests.cpp View File

@@ -11,6 +11,7 @@
#include "clientversion.h"
#include "main.h"
#include "utiltime.h"
#include "test/test_bitcoin.h"

#include <cstdio>

@@ -19,7 +20,7 @@
#include <boost/test/unit_test.hpp>


BOOST_AUTO_TEST_SUITE(CheckBlock_tests)
BOOST_FIXTURE_TEST_SUITE(CheckBlock_tests, BasicTestingSetup)

bool read_block(const std::string& filename, CBlock& block)
{

+ 2
- 1
src/test/coins_tests.cpp View File

@@ -5,6 +5,7 @@
#include "coins.h"
#include "random.h"
#include "uint256.h"
#include "test/test_bitcoin.h"

#include <vector>
#include <map>
@@ -60,7 +61,7 @@ public:
};
}

BOOST_AUTO_TEST_SUITE(coins_tests)
BOOST_FIXTURE_TEST_SUITE(coins_tests, BasicTestingSetup)

static const unsigned int NUM_SIMULATION_ITERATIONS = 40000;


+ 2
- 1
src/test/compress_tests.cpp View File

@@ -4,6 +4,7 @@

#include "compressor.h"
#include "util.h"
#include "test/test_bitcoin.h"

#include <stdint.h>

@@ -21,7 +22,7 @@
// amounts 50 .. 21000000
#define NUM_MULTIPLES_50BTC 420000

BOOST_AUTO_TEST_SUITE(compress_tests)
BOOST_FIXTURE_TEST_SUITE(compress_tests, BasicTestingSetup)

bool static TestEncode(uint64_t in) {
return in == CTxOutCompressor::DecompressAmount(CTxOutCompressor::CompressAmount(in));

+ 2
- 1
src/test/crypto_tests.cpp View File

@@ -10,13 +10,14 @@
#include "crypto/hmac_sha512.h"
#include "random.h"
#include "utilstrencodings.h"
#include "test/test_bitcoin.h"

#include <vector>

#include <boost/assign/list_of.hpp>
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(crypto_tests)
BOOST_FIXTURE_TEST_SUITE(crypto_tests, BasicTestingSetup)

template<typename Hasher, typename In, typename Out>
void TestVector(const Hasher &h, const In &in, const Out &out) {

+ 2
- 1
src/test/getarg_tests.cpp View File

@@ -3,6 +3,7 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include "util.h"
#include "test/test_bitcoin.h"

#include <string>
#include <vector>
@@ -11,7 +12,7 @@
#include <boost/foreach.hpp>
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(getarg_tests)
BOOST_FIXTURE_TEST_SUITE(getarg_tests, BasicTestingSetup)

static void ResetArgs(const std::string& strArg)
{

+ 2
- 1
src/test/hash_tests.cpp View File

@@ -4,6 +4,7 @@

#include "hash.h"
#include "utilstrencodings.h"
#include "test/test_bitcoin.h"

#include <vector>

@@ -11,7 +12,7 @@

using namespace std;

BOOST_AUTO_TEST_SUITE(hash_tests)
BOOST_FIXTURE_TEST_SUITE(hash_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(murmurhash3)
{

+ 2
- 1
src/test/key_tests.cpp View File

@@ -9,6 +9,7 @@
#include "uint256.h"
#include "util.h"
#include "utilstrencodings.h"
#include "test/test_bitcoin.h"

#include <string>
#include <vector>
@@ -58,7 +59,7 @@ void dumpKeyInfo(uint256 privkey)
#endif


BOOST_AUTO_TEST_SUITE(key_tests)
BOOST_FIXTURE_TEST_SUITE(key_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(key_test1)
{

+ 2
- 1
src/test/mruset_tests.cpp View File

@@ -6,6 +6,7 @@

#include "random.h"
#include "util.h"
#include "test/test_bitcoin.h"

#include <set>

@@ -34,7 +35,7 @@ public:
}
};

BOOST_AUTO_TEST_SUITE(mruset_tests)
BOOST_FIXTURE_TEST_SUITE(mruset_tests, BasicTestingSetup)

// Test that an mruset behaves like a set, as long as no more than MAX_SIZE elements are in it
BOOST_AUTO_TEST_CASE(mruset_like_set)

+ 2
- 1
src/test/multisig_tests.cpp View File

@@ -10,6 +10,7 @@
#include "script/interpreter.h"
#include "script/sign.h"
#include "uint256.h"
#include "test/test_bitcoin.h"

#ifdef ENABLE_WALLET
#include "wallet_ismine.h"
@@ -22,7 +23,7 @@ using namespace std;

typedef vector<unsigned char> valtype;

BOOST_AUTO_TEST_SUITE(multisig_tests)
BOOST_FIXTURE_TEST_SUITE(multisig_tests, BasicTestingSetup)

CScript
sign_multisig(CScript scriptPubKey, vector<CKey> keys, CTransaction transaction, int whichIn)

+ 2
- 1
src/test/netbase_tests.cpp View File

@@ -3,6 +3,7 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include "netbase.h"
#include "test/test_bitcoin.h"

#include <string>

@@ -10,7 +11,7 @@

using namespace std;

BOOST_AUTO_TEST_SUITE(netbase_tests)
BOOST_FIXTURE_TEST_SUITE(netbase_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(netbase_networks)
{

+ 2
- 1
src/test/pmt_tests.cpp View File

@@ -9,6 +9,7 @@
#include "arith_uint256.h"
#include "version.h"
#include "random.h"
#include "test/test_bitcoin.h"

#include <vector>

@@ -28,7 +29,7 @@ public:
}
};

BOOST_AUTO_TEST_SUITE(pmt_tests)
BOOST_FIXTURE_TEST_SUITE(pmt_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(pmt_test1)
{

+ 2
- 1
src/test/pow_tests.cpp View File

@@ -5,12 +5,13 @@
#include "main.h"
#include "pow.h"
#include "util.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>

using namespace std;

BOOST_AUTO_TEST_SUITE(pow_tests)
BOOST_FIXTURE_TEST_SUITE(pow_tests, BasicTestingSetup)

/* Test calculation of next difficulty target with no constraints applying */
BOOST_AUTO_TEST_CASE(get_next_work)

+ 3
- 1
src/test/sanity_tests.cpp View File

@@ -4,9 +4,11 @@

#include "compat/sanity.h"
#include "key.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(sanity_tests)

BOOST_FIXTURE_TEST_SUITE(sanity_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(basic_sanity)
{

+ 2
- 1
src/test/script_P2SH_tests.cpp View File

@@ -8,6 +8,7 @@
#include "script/script.h"
#include "script/script_error.h"
#include "script/sign.h"
#include "test/test_bitcoin.h"

#ifdef ENABLE_WALLET
#include "wallet_ismine.h"
@@ -47,7 +48,7 @@ Verify(const CScript& scriptSig, const CScript& scriptPubKey, bool fStrict, Scri
}


BOOST_AUTO_TEST_SUITE(script_P2SH_tests)
BOOST_FIXTURE_TEST_SUITE(script_P2SH_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(sign)
{

+ 2
- 1
src/test/script_tests.cpp View File

@@ -13,6 +13,7 @@
#include "script/script_error.h"
#include "script/sign.h"
#include "util.h"
#include "test/test_bitcoin.h"

#if defined(HAVE_CONSENSUS_LIB)
#include "script/bitcoinconsensus.h"
@@ -53,7 +54,7 @@ read_json(const std::string& jsondata)
return v.get_array();
}

BOOST_AUTO_TEST_SUITE(script_tests)
BOOST_FIXTURE_TEST_SUITE(script_tests, BasicTestingSetup)

CMutableTransaction BuildCreditingTransaction(const CScript& scriptPubKey)
{

+ 4
- 1
src/test/scriptnum_tests.cpp View File

@@ -4,10 +4,13 @@

#include "bignum.h"
#include "script/script.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>
#include <limits.h>
#include <stdint.h>
BOOST_AUTO_TEST_SUITE(scriptnum_tests)

BOOST_FIXTURE_TEST_SUITE(scriptnum_tests, BasicTestingSetup)

static const int64_t values[] = \
{ 0, 1, CHAR_MIN, CHAR_MAX, UCHAR_MAX, SHRT_MIN, USHRT_MAX, INT_MIN, INT_MAX, UINT_MAX, LONG_MIN, LONG_MAX };

+ 2
- 1
src/test/serialize_tests.cpp View File

@@ -5,6 +5,7 @@
#include "serialize.h"
#include "streams.h"
#include "hash.h"
#include "test/test_bitcoin.h"

#include <stdint.h>

@@ -12,7 +13,7 @@

using namespace std;

BOOST_AUTO_TEST_SUITE(serialize_tests)
BOOST_FIXTURE_TEST_SUITE(serialize_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(sizes)
{

+ 2
- 1
src/test/sighash_tests.cpp View File

@@ -10,6 +10,7 @@
#include "script/interpreter.h"
#include "util.h"
#include "version.h"
#include "test/test_bitcoin.h"

#include <iostream>

@@ -115,7 +116,7 @@ void static RandomTransaction(CMutableTransaction &tx, bool fSingle) {
}
}

BOOST_AUTO_TEST_SUITE(sighash_tests)
BOOST_FIXTURE_TEST_SUITE(sighash_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(sighash_test)
{

+ 2
- 1
src/test/sigopcount_tests.cpp View File

@@ -7,6 +7,7 @@
#include "script/script.h"
#include "script/standard.h"
#include "uint256.h"
#include "test/test_bitcoin.h"

#include <vector>

@@ -23,7 +24,7 @@ Serialize(const CScript& s)
return sSerialized;
}

BOOST_AUTO_TEST_SUITE(sigopcount_tests)
BOOST_FIXTURE_TEST_SUITE(sigopcount_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(GetSigOpCount)
{

+ 2
- 1
src/test/skiplist_tests.cpp View File

@@ -5,6 +5,7 @@
#include "main.h"
#include "random.h"
#include "util.h"
#include "test/test_bitcoin.h"

#include <vector>

@@ -12,7 +13,7 @@

#define SKIPLIST_LENGTH 300000

BOOST_AUTO_TEST_SUITE(skiplist_tests)
BOOST_FIXTURE_TEST_SUITE(skiplist_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(skiplist_test)
{

+ 8
- 2
src/test/test_bitcoin.cpp View File

@@ -26,11 +26,17 @@ CWallet* pwalletMain;
extern bool fPrintToConsole;
extern void noui_connect();

TestingSetup::TestingSetup()
BasicTestingSetup::BasicTestingSetup()
{
fPrintToDebugLog = false; // don't want to write to debug.log file
SelectParams(CBaseChainParams::MAIN);
noui_connect();
}
BasicTestingSetup::~BasicTestingSetup()
{
}

TestingSetup::TestingSetup()
{
#ifdef ENABLE_WALLET
bitdb.MakeMock();
#endif

+ 13
- 1
src/test/test_bitcoin.h View File

@@ -6,7 +6,19 @@
#include <boost/filesystem.hpp>
#include <boost/thread.hpp>

struct TestingSetup {
/** Basic testing setup.
* This just configures logging and chain parameters.
*/
struct BasicTestingSetup {
BasicTestingSetup();
~BasicTestingSetup();
};

/** Testing setup that configures a complete environment.
* Included are data directory, coins database, script check threads
* and wallet (if enabled) setup.
*/
struct TestingSetup: public BasicTestingSetup {
CCoinsViewDB *pcoinsdbview;
boost::filesystem::path pathTemp;
boost::thread_group threadGroup;

+ 2
- 1
src/test/timedata_tests.cpp View File

@@ -3,12 +3,13 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
//
#include "timedata.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>

using namespace std;

BOOST_AUTO_TEST_SUITE(timedata_tests)
BOOST_FIXTURE_TEST_SUITE(timedata_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(util_MedianFilter)
{

+ 2
- 1
src/test/transaction_tests.cpp View File

@@ -4,6 +4,7 @@

#include "data/tx_invalid.json.h"
#include "data/tx_valid.json.h"
#include "test/test_bitcoin.h"

#include "clientversion.h"
#include "key.h"
@@ -75,7 +76,7 @@ string FormatScriptFlags(unsigned int flags)
return ret.substr(0, ret.size() - 1);
}

BOOST_AUTO_TEST_SUITE(transaction_tests)
BOOST_FIXTURE_TEST_SUITE(transaction_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(tx_valid)
{

+ 2
- 1
src/test/uint256_tests.cpp View File

@@ -4,6 +4,7 @@
#include "arith_uint256.h"
#include "uint256.h"
#include "version.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>
#include <stdint.h>
@@ -14,7 +15,7 @@
#include <string>
#include <stdio.h>

BOOST_AUTO_TEST_SUITE(uint256_tests)
BOOST_FIXTURE_TEST_SUITE(uint256_tests, BasicTestingSetup)

const unsigned char R1Array[] =
"\x9c\x52\x4a\xdb\xcf\x56\x11\x12\x2b\x29\x12\x5e\x5d\x35\xd2\xd2"

+ 2
- 1
src/test/univalue_tests.cpp View File

@@ -7,12 +7,13 @@
#include <string>
#include <map>
#include "univalue/univalue.h"
#include "test/test_bitcoin.h"

#include <boost/test/unit_test.hpp>

using namespace std;

BOOST_AUTO_TEST_SUITE(univalue_tests)
BOOST_FIXTURE_TEST_SUITE(univalue_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(univalue_constructor)
{

+ 2
- 1
src/test/util_tests.cpp View File

@@ -10,6 +10,7 @@
#include "sync.h"
#include "utilstrencodings.h"
#include "utilmoneystr.h"
#include "test/test_bitcoin.h"

#include <stdint.h>
#include <vector>
@@ -18,7 +19,7 @@

using namespace std;

BOOST_AUTO_TEST_SUITE(util_tests)
BOOST_FIXTURE_TEST_SUITE(util_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(util_criticalsection)
{

Loading…
Cancel
Save