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.
This commit is contained in:
Wladimir J. van der Laan 2015-03-12 09:34:42 +01:00
parent e564e63ef0
commit 92fd887fd4
35 changed files with 90 additions and 36 deletions

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)
{

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;

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)

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)
{

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)

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)
{

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);

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)
{

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)
{

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;

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));

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) {

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)
{

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)
{

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)
{

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)

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)

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)
{

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)
{

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)

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)
{

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)
{

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)
{

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 };

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)
{

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)
{

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)
{

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)
{

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

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;

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)
{

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)
{

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"

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)
{

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)
{