qt: test: Create at most one testing setup

This commit is contained in:
MarcoFalke 2019-06-26 16:42:33 -04:00
parent 7400135b79
commit faa1e0fb17
No known key found for this signature in database
GPG key ID: CE2B75697E69A548
5 changed files with 14 additions and 11 deletions

View file

@ -11,6 +11,8 @@
#include <qt/networkstyle.h> #include <qt/networkstyle.h>
#include <qt/rpcconsole.h> #include <qt/rpcconsole.h>
#include <shutdown.h> #include <shutdown.h>
#include <test/setup_common.h>
#include <univalue.h>
#include <validation.h> #include <validation.h>
#if defined(HAVE_CONFIG_H) #if defined(HAVE_CONFIG_H)
@ -26,8 +28,6 @@
#include <QtGlobal> #include <QtGlobal>
#include <QtTest/QtTestWidgets> #include <QtTest/QtTestWidgets>
#include <QtTest/QtTestGui> #include <QtTest/QtTestGui>
#include <string>
#include <univalue.h>
namespace { namespace {
//! Call getblockchaininfo RPC and check first field of JSON output. //! Call getblockchaininfo RPC and check first field of JSON output.
@ -62,6 +62,7 @@ void AppTests::appTests()
} }
#endif #endif
BasicTestingSetup test{CBaseChainParams::REGTEST}; // Create a temp data directory to backup the gui settings to
ECC_Stop(); // Already started by the common test setup, so stop it to avoid interference ECC_Stop(); // Already started by the common test setup, so stop it to avoid interference
LogInstance().DisconnectTestLogger(); LogInstance().DisconnectTestLogger();

View file

@ -13,7 +13,7 @@
#include <random.h> #include <random.h>
#include <script/script.h> #include <script/script.h>
#include <script/standard.h> #include <script/standard.h>
#include <util/system.h> #include <test/setup_common.h>
#include <util/strencodings.h> #include <util/strencodings.h>
#include <openssl/x509.h> #include <openssl/x509.h>
@ -66,7 +66,7 @@ static SendCoinsRecipient handleRequest(PaymentServer* server, std::vector<unsig
void PaymentServerTests::paymentServerTests() void PaymentServerTests::paymentServerTests()
{ {
SelectParams(CBaseChainParams::MAIN); BasicTestingSetup testing_setup(CBaseChainParams::MAIN);
auto node = interfaces::MakeNode(); auto node = interfaces::MakeNode();
OptionsModel optionsModel(*node); OptionsModel optionsModel(*node);
PaymentServer* server = new PaymentServer(nullptr, false); PaymentServer* server = new PaymentServer(nullptr, false);

View file

@ -34,9 +34,6 @@ void RPCNestedTests::rpcNestedTests()
tableRPC.appendCommand("rpcNestedTest", &vRPCCommands[0]); tableRPC.appendCommand("rpcNestedTest", &vRPCCommands[0]);
//mempool.setSanityCheck(1.0); //mempool.setSanityCheck(1.0);
ECC_Stop(); // Already started by the common test setup, so stop it to avoid interference
LogInstance().DisconnectTestLogger();
TestingSetup test; TestingSetup test;
if (RPCIsInWarmup(nullptr)) SetRPCWarmupFinished(); if (RPCIsInWarmup(nullptr)) SetRPCWarmupFinished();

View file

@ -42,12 +42,18 @@ Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin);
#endif #endif
#endif #endif
extern void noui_connect();
// This is all you need to run all the tests // This is all you need to run all the tests
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
BasicTestingSetup test{CBaseChainParams::REGTEST}; // Initialize persistent globals with the testing setup state for sanity.
// E.g. -datadir in gArgs is set to a temp directory dummy value (instead
// of defaulting to the default datadir), or globalChainParams is set to
// regtest params.
//
// All tests must use their own testing setup (if needed).
{
BasicTestingSetup dummy{CBaseChainParams::REGTEST};
}
auto node = interfaces::MakeNode(); auto node = interfaces::MakeNode();

View file

@ -73,7 +73,6 @@ TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(cha
const CChainParams& chainparams = Params(); const CChainParams& chainparams = Params();
// Ideally we'd move all the RPC tests to the functional testing framework // Ideally we'd move all the RPC tests to the functional testing framework
// instead of unit tests, but for now we need these here. // instead of unit tests, but for now we need these here.
RegisterAllCoreRPCCommands(tableRPC); RegisterAllCoreRPCCommands(tableRPC);
// We have to run a scheduler thread to prevent ActivateBestChain // We have to run a scheduler thread to prevent ActivateBestChain