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.
pull/145/head
Wladimir J. van der Laan 9 years ago
parent
commit
92fd887fd4
  1. 3
      src/test/Checkpoints_tests.cpp
  2. 3
      src/test/allocator_tests.cpp
  3. 3
      src/test/arith_uint256_tests.cpp
  4. 3
      src/test/base32_tests.cpp
  5. 3
      src/test/base58_tests.cpp
  6. 3
      src/test/base64_tests.cpp
  7. 3
      src/test/bip32_tests.cpp
  8. 3
      src/test/bloom_tests.cpp
  9. 3
      src/test/checkblock_tests.cpp
  10. 3
      src/test/coins_tests.cpp
  11. 3
      src/test/compress_tests.cpp
  12. 3
      src/test/crypto_tests.cpp
  13. 3
      src/test/getarg_tests.cpp
  14. 3
      src/test/hash_tests.cpp
  15. 3
      src/test/key_tests.cpp
  16. 3
      src/test/mruset_tests.cpp
  17. 3
      src/test/multisig_tests.cpp
  18. 3
      src/test/netbase_tests.cpp
  19. 3
      src/test/pmt_tests.cpp
  20. 3
      src/test/pow_tests.cpp
  21. 4
      src/test/sanity_tests.cpp
  22. 3
      src/test/script_P2SH_tests.cpp
  23. 3
      src/test/script_tests.cpp
  24. 5
      src/test/scriptnum_tests.cpp
  25. 3
      src/test/serialize_tests.cpp
  26. 3
      src/test/sighash_tests.cpp
  27. 3
      src/test/sigopcount_tests.cpp
  28. 3
      src/test/skiplist_tests.cpp
  29. 10
      src/test/test_bitcoin.cpp
  30. 14
      src/test/test_bitcoin.h
  31. 3
      src/test/timedata_tests.cpp
  32. 3
      src/test/transaction_tests.cpp
  33. 3
      src/test/uint256_tests.cpp
  34. 3
      src/test/univalue_tests.cpp
  35. 3
      src/test/util_tests.cpp

3
src/test/Checkpoints_tests.cpp

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

3
src/test/allocator_tests.cpp

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

3
src/test/arith_uint256_tests.cpp

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

3
src/test/base32_tests.cpp

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

3
src/test/base58_tests.cpp

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

3
src/test/base64_tests.cpp

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

3
src/test/bip32_tests.cpp

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

3
src/test/bloom_tests.cpp

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

3
src/test/checkblock_tests.cpp

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

3
src/test/coins_tests.cpp

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

3
src/test/compress_tests.cpp

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

3
src/test/crypto_tests.cpp

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

3
src/test/getarg_tests.cpp

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

3
src/test/hash_tests.cpp

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

3
src/test/key_tests.cpp

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

3
src/test/mruset_tests.cpp

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

3
src/test/multisig_tests.cpp

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

3
src/test/netbase_tests.cpp

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

3
src/test/pmt_tests.cpp

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

3
src/test/pow_tests.cpp

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

4
src/test/sanity_tests.cpp

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

3
src/test/script_P2SH_tests.cpp

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

3
src/test/script_tests.cpp

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

5
src/test/scriptnum_tests.cpp

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

3
src/test/serialize_tests.cpp

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

3
src/test/sighash_tests.cpp

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

3
src/test/sigopcount_tests.cpp

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

3
src/test/skiplist_tests.cpp

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

10
src/test/test_bitcoin.cpp

@ -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

14
src/test/test_bitcoin.h

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

3
src/test/timedata_tests.cpp

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

3
src/test/transaction_tests.cpp

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

3
src/test/uint256_tests.cpp

@ -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"

3
src/test/univalue_tests.cpp

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

3
src/test/util_tests.cpp

@ -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