mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 20:42:59 +01:00
Merge #7905: test: move accounting_tests and rpc_wallet_tests to wallet/test
b30fb42
test: Rename wallet.dat to wallet_test.dat (Wladimir J. van der Laan)a25a4f5
wallet_ismine.h → script/ismine.h (Wladimir J. van der Laan)f4eae2d
test: Create test fixture for wallet (Wladimir J. van der Laan)de39c95
test: move accounting_tests and rpc_wallet_tests to wallet/test (Wladimir J. van der Laan)
This commit is contained in:
commit
187186b0fe
@ -135,6 +135,7 @@ BITCOIN_CORE_H = \
|
||||
script/sigcache.h \
|
||||
script/sign.h \
|
||||
script/standard.h \
|
||||
script/ismine.h \
|
||||
streams.h \
|
||||
support/allocators/secure.h \
|
||||
support/allocators/zeroafterfree.h \
|
||||
@ -157,7 +158,6 @@ BITCOIN_CORE_H = \
|
||||
wallet/db.h \
|
||||
wallet/rpcwallet.h \
|
||||
wallet/wallet.h \
|
||||
wallet/wallet_ismine.h \
|
||||
wallet/walletdb.h \
|
||||
zmq/zmqabstractnotifier.h \
|
||||
zmq/zmqconfig.h\
|
||||
@ -199,6 +199,7 @@ libbitcoin_server_a_SOURCES = \
|
||||
rpc/rawtransaction.cpp \
|
||||
rpc/server.cpp \
|
||||
script/sigcache.cpp \
|
||||
script/ismine.cpp \
|
||||
timedata.cpp \
|
||||
torcontrol.cpp \
|
||||
txdb.cpp \
|
||||
@ -229,7 +230,6 @@ libbitcoin_wallet_a_SOURCES = \
|
||||
wallet/rpcdump.cpp \
|
||||
wallet/rpcwallet.cpp \
|
||||
wallet/wallet.cpp \
|
||||
wallet/wallet_ismine.cpp \
|
||||
wallet/walletdb.cpp \
|
||||
policy/rbf.cpp \
|
||||
$(BITCOIN_CORE_H)
|
||||
|
@ -90,9 +90,11 @@ BITCOIN_TESTS =\
|
||||
|
||||
if ENABLE_WALLET
|
||||
BITCOIN_TESTS += \
|
||||
test/accounting_tests.cpp \
|
||||
wallet/test/wallet_test_fixture.cpp \
|
||||
wallet/test/wallet_test_fixture.h \
|
||||
wallet/test/accounting_tests.cpp \
|
||||
wallet/test/wallet_tests.cpp \
|
||||
test/rpc_wallet_tests.cpp
|
||||
wallet/test/rpc_wallet_tests.cpp
|
||||
endif
|
||||
|
||||
test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES)
|
||||
|
@ -3,7 +3,7 @@
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include "wallet_ismine.h"
|
||||
#include "ismine.h"
|
||||
|
||||
#include "key.h"
|
||||
#include "keystore.h"
|
@ -3,8 +3,8 @@
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#ifndef BITCOIN_WALLET_WALLET_ISMINE_H
|
||||
#define BITCOIN_WALLET_WALLET_ISMINE_H
|
||||
#ifndef BITCOIN_SCRIPT_ISMINE_H
|
||||
#define BITCOIN_SCRIPT_ISMINE_H
|
||||
|
||||
#include "script/standard.h"
|
||||
|
||||
@ -31,4 +31,4 @@ typedef uint8_t isminefilter;
|
||||
isminetype IsMine(const CKeyStore& keystore, const CScript& scriptPubKey);
|
||||
isminetype IsMine(const CKeyStore& keystore, const CTxDestination& dest);
|
||||
|
||||
#endif // BITCOIN_WALLET_WALLET_ISMINE_H
|
||||
#endif // BITCOIN_SCRIPT_ISMINE_H
|
@ -9,12 +9,10 @@
|
||||
#include "script/script_error.h"
|
||||
#include "script/interpreter.h"
|
||||
#include "script/sign.h"
|
||||
#include "script/ismine.h"
|
||||
#include "uint256.h"
|
||||
#include "test/test_bitcoin.h"
|
||||
|
||||
#ifdef ENABLE_WALLET
|
||||
#include "wallet/wallet_ismine.h"
|
||||
#endif
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
@ -210,10 +208,8 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
|
||||
CTxDestination addr;
|
||||
BOOST_CHECK(ExtractDestination(s, addr));
|
||||
BOOST_CHECK(addr == keyaddr[0]);
|
||||
#ifdef ENABLE_WALLET
|
||||
BOOST_CHECK(IsMine(keystore, s));
|
||||
BOOST_CHECK(!IsMine(emptykeystore, s));
|
||||
#endif
|
||||
}
|
||||
{
|
||||
vector<valtype> solutions;
|
||||
@ -225,10 +221,8 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
|
||||
CTxDestination addr;
|
||||
BOOST_CHECK(ExtractDestination(s, addr));
|
||||
BOOST_CHECK(addr == keyaddr[0]);
|
||||
#ifdef ENABLE_WALLET
|
||||
BOOST_CHECK(IsMine(keystore, s));
|
||||
BOOST_CHECK(!IsMine(emptykeystore, s));
|
||||
#endif
|
||||
}
|
||||
{
|
||||
vector<valtype> solutions;
|
||||
@ -239,11 +233,9 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
|
||||
BOOST_CHECK_EQUAL(solutions.size(), 4U);
|
||||
CTxDestination addr;
|
||||
BOOST_CHECK(!ExtractDestination(s, addr));
|
||||
#ifdef ENABLE_WALLET
|
||||
BOOST_CHECK(IsMine(keystore, s));
|
||||
BOOST_CHECK(!IsMine(emptykeystore, s));
|
||||
BOOST_CHECK(!IsMine(partialkeystore, s));
|
||||
#endif
|
||||
}
|
||||
{
|
||||
vector<valtype> solutions;
|
||||
@ -258,11 +250,9 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
|
||||
BOOST_CHECK(addrs[0] == keyaddr[0]);
|
||||
BOOST_CHECK(addrs[1] == keyaddr[1]);
|
||||
BOOST_CHECK(nRequired == 1);
|
||||
#ifdef ENABLE_WALLET
|
||||
BOOST_CHECK(IsMine(keystore, s));
|
||||
BOOST_CHECK(!IsMine(emptykeystore, s));
|
||||
BOOST_CHECK(!IsMine(partialkeystore, s));
|
||||
#endif
|
||||
}
|
||||
{
|
||||
vector<valtype> solutions;
|
||||
|
@ -9,12 +9,9 @@
|
||||
#include "script/script.h"
|
||||
#include "script/script_error.h"
|
||||
#include "script/sign.h"
|
||||
#include "script/ismine.h"
|
||||
#include "test/test_bitcoin.h"
|
||||
|
||||
#ifdef ENABLE_WALLET
|
||||
#include "wallet/wallet_ismine.h"
|
||||
#endif
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
@ -101,9 +98,7 @@ BOOST_AUTO_TEST_CASE(sign)
|
||||
txTo[i].vin[0].prevout.n = i;
|
||||
txTo[i].vin[0].prevout.hash = txFrom.GetHash();
|
||||
txTo[i].vout[0].nValue = 1;
|
||||
#ifdef ENABLE_WALLET
|
||||
BOOST_CHECK_MESSAGE(IsMine(keystore, txFrom.vout[i].scriptPubKey), strprintf("IsMine %d", i));
|
||||
#endif
|
||||
}
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
@ -198,9 +193,7 @@ BOOST_AUTO_TEST_CASE(set)
|
||||
txTo[i].vin[0].prevout.hash = txFrom.GetHash();
|
||||
txTo[i].vout[0].nValue = 1*CENT;
|
||||
txTo[i].vout[0].scriptPubKey = inner[i];
|
||||
#ifdef ENABLE_WALLET
|
||||
BOOST_CHECK_MESSAGE(IsMine(keystore, txFrom.vout[i].scriptPubKey), strprintf("IsMine %d", i));
|
||||
#endif
|
||||
}
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
|
@ -19,10 +19,6 @@
|
||||
#include "ui_interface.h"
|
||||
#include "rpc/server.h"
|
||||
#include "rpc/register.h"
|
||||
#ifdef ENABLE_WALLET
|
||||
#include "wallet/db.h"
|
||||
#include "wallet/wallet.h"
|
||||
#endif
|
||||
|
||||
#include "test/testutil.h"
|
||||
|
||||
@ -57,10 +53,6 @@ TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(cha
|
||||
// Ideally we'd move all the RPC tests to the functional testing framework
|
||||
// instead of unit tests, but for now we need these here.
|
||||
RegisterAllCoreRPCCommands(tableRPC);
|
||||
#ifdef ENABLE_WALLET
|
||||
bitdb.MakeMock();
|
||||
RegisterWalletRPCCommands(tableRPC);
|
||||
#endif
|
||||
ClearDatadirCache();
|
||||
pathTemp = GetTempPath() / strprintf("test_bitcoin_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000)));
|
||||
boost::filesystem::create_directories(pathTemp);
|
||||
@ -69,12 +61,6 @@ TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(cha
|
||||
pcoinsdbview = new CCoinsViewDB(1 << 23, true);
|
||||
pcoinsTip = new CCoinsViewCache(pcoinsdbview);
|
||||
InitBlockIndex(chainparams);
|
||||
#ifdef ENABLE_WALLET
|
||||
bool fFirstRun;
|
||||
pwalletMain = new CWallet("wallet.dat");
|
||||
pwalletMain->LoadWallet(fFirstRun);
|
||||
RegisterValidationInterface(pwalletMain);
|
||||
#endif
|
||||
nScriptCheckThreads = 3;
|
||||
for (int i=0; i < nScriptCheckThreads-1; i++)
|
||||
threadGroup.create_thread(&ThreadScriptCheck);
|
||||
@ -86,19 +72,10 @@ TestingSetup::~TestingSetup()
|
||||
UnregisterNodeSignals(GetNodeSignals());
|
||||
threadGroup.interrupt_all();
|
||||
threadGroup.join_all();
|
||||
#ifdef ENABLE_WALLET
|
||||
UnregisterValidationInterface(pwalletMain);
|
||||
delete pwalletMain;
|
||||
pwalletMain = NULL;
|
||||
#endif
|
||||
UnloadBlockIndex();
|
||||
delete pcoinsTip;
|
||||
delete pcoinsdbview;
|
||||
delete pblocktree;
|
||||
#ifdef ENABLE_WALLET
|
||||
bitdb.Flush(true);
|
||||
bitdb.Reset();
|
||||
#endif
|
||||
boost::filesystem::remove_all(pathTemp);
|
||||
}
|
||||
|
||||
|
@ -25,8 +25,7 @@ struct BasicTestingSetup {
|
||||
};
|
||||
|
||||
/** Testing setup that configures a complete environment.
|
||||
* Included are data directory, coins database, script check threads
|
||||
* and wallet (if enabled) setup.
|
||||
* Included are data directory, coins database, script check threads setup.
|
||||
*/
|
||||
struct TestingSetup: public BasicTestingSetup {
|
||||
CCoinsViewDB *pcoinsdbview;
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include "wallet/wallet.h"
|
||||
#include "wallet/walletdb.h"
|
||||
|
||||
#include "test/test_bitcoin.h"
|
||||
#include "wallet/test/wallet_test_fixture.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
extern CWallet* pwalletMain;
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(accounting_tests, TestingSetup)
|
||||
BOOST_FIXTURE_TEST_SUITE(accounting_tests, WalletTestingSetup)
|
||||
|
||||
static void
|
||||
GetResults(CWalletDB& walletdb, std::map<CAmount, CAccountingEntry>& results)
|
@ -9,7 +9,7 @@
|
||||
#include "main.h"
|
||||
#include "wallet/wallet.h"
|
||||
|
||||
#include "test/test_bitcoin.h"
|
||||
#include "wallet/test/wallet_test_fixture.h"
|
||||
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
@ -23,7 +23,7 @@ extern UniValue CallRPC(string args);
|
||||
|
||||
extern CWallet* pwalletMain;
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(rpc_wallet_tests, TestingSetup)
|
||||
BOOST_FIXTURE_TEST_SUITE(rpc_wallet_tests, WalletTestingSetup)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(rpc_addmultisig)
|
||||
{
|
28
src/wallet/test/wallet_test_fixture.cpp
Normal file
28
src/wallet/test/wallet_test_fixture.cpp
Normal file
@ -0,0 +1,28 @@
|
||||
#include "wallet/test/wallet_test_fixture.h"
|
||||
|
||||
#include "rpc/server.h"
|
||||
#include "wallet/db.h"
|
||||
#include "wallet/wallet.h"
|
||||
|
||||
WalletTestingSetup::WalletTestingSetup(const std::string& chainName):
|
||||
TestingSetup(chainName)
|
||||
{
|
||||
bitdb.MakeMock();
|
||||
|
||||
bool fFirstRun;
|
||||
pwalletMain = new CWallet("wallet_test.dat");
|
||||
pwalletMain->LoadWallet(fFirstRun);
|
||||
RegisterValidationInterface(pwalletMain);
|
||||
|
||||
RegisterWalletRPCCommands(tableRPC);
|
||||
}
|
||||
|
||||
WalletTestingSetup::~WalletTestingSetup()
|
||||
{
|
||||
UnregisterValidationInterface(pwalletMain);
|
||||
delete pwalletMain;
|
||||
pwalletMain = NULL;
|
||||
|
||||
bitdb.Flush(true);
|
||||
bitdb.Reset();
|
||||
}
|
18
src/wallet/test/wallet_test_fixture.h
Normal file
18
src/wallet/test/wallet_test_fixture.h
Normal file
@ -0,0 +1,18 @@
|
||||
// Copyright (c) 2016 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_WALLET_TEST_FIXTURE_H
|
||||
#define BITCOIN_WALLET_TEST_FIXTURE_H
|
||||
|
||||
#include "test/test_bitcoin.h"
|
||||
|
||||
/** Testing setup and teardown for wallet.
|
||||
*/
|
||||
struct WalletTestingSetup: public TestingSetup {
|
||||
WalletTestingSetup(const std::string& chainName = CBaseChainParams::MAIN);
|
||||
~WalletTestingSetup();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "test/test_bitcoin.h"
|
||||
#include "wallet/test/wallet_test_fixture.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
@ -25,7 +25,7 @@ using namespace std;
|
||||
|
||||
typedef set<pair<const CWalletTx*,unsigned int> > CoinSet;
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(wallet_tests, TestingSetup)
|
||||
BOOST_FIXTURE_TEST_SUITE(wallet_tests, WalletTestingSetup)
|
||||
|
||||
static CWallet wallet;
|
||||
static vector<COutput> vCoins;
|
||||
|
@ -12,8 +12,8 @@
|
||||
#include "ui_interface.h"
|
||||
#include "utilstrencodings.h"
|
||||
#include "validationinterface.h"
|
||||
#include "script/ismine.h"
|
||||
#include "wallet/crypter.h"
|
||||
#include "wallet/wallet_ismine.h"
|
||||
#include "wallet/walletdb.h"
|
||||
#include "wallet/rpcwallet.h"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user