aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatt Corallo <git@bluematt.me>2016-12-24 11:28:44 -0500
committerMatt Corallo <git@bluematt.me>2016-12-27 13:52:07 +0100
commitc2f61bebb190258753714b29ab2041e80651cec9 (patch)
tree5242c7209483c676c4549c61556fd5f86202bd2c /src
parent4e048142a5e45d622355dad92ade192ad4769ca3 (diff)
Add a ForceSetArg method for testing
Diffstat (limited to 'src')
-rw-r--r--src/qt/test/rpcnestedtests.cpp4
-rw-r--r--src/test/DoS_tests.cpp6
-rw-r--r--src/test/test_bitcoin.cpp4
-rw-r--r--src/util.cpp8
-rw-r--r--src/util.h3
5 files changed, 16 insertions, 9 deletions
diff --git a/src/qt/test/rpcnestedtests.cpp b/src/qt/test/rpcnestedtests.cpp
index 972dad72d0..fb044489d7 100644
--- a/src/qt/test/rpcnestedtests.cpp
+++ b/src/qt/test/rpcnestedtests.cpp
@@ -19,8 +19,6 @@
#include <boost/filesystem.hpp>
-extern std::map<std::string, std::string> mapArgs;
-
static UniValue rpcNestedTest_rpc(const JSONRPCRequest& request)
{
if (request.fHelp) {
@@ -47,7 +45,7 @@ void RPCNestedTests::rpcNestedTests()
std::string path = QDir::tempPath().toStdString() + "/" + strprintf("test_bitcoin_qt_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000)));
QDir dir(QString::fromStdString(path));
dir.mkpath(".");
- mapArgs["-datadir"] = path;
+ ForceSetArg("-datadir", path);
//mempool.setSanityCheck(1.0);
pblocktree = new CBlockTreeDB(1 << 20, true);
pcoinsdbview = new CCoinsViewDB(1 << 23, true);
diff --git a/src/test/DoS_tests.cpp b/src/test/DoS_tests.cpp
index dafb096e80..d90dcaeb02 100644
--- a/src/test/DoS_tests.cpp
+++ b/src/test/DoS_tests.cpp
@@ -12,6 +12,7 @@
#include "script/sign.h"
#include "serialize.h"
#include "util.h"
+#include "validation.h"
#include "test/test_bitcoin.h"
@@ -32,7 +33,6 @@ struct COrphanTx {
int64_t nTimeExpire;
};
extern std::map<uint256, COrphanTx> mapOrphanTransactions;
-extern std::map<std::string, std::string> mapArgs;
CService ip(uint32_t i)
{
@@ -75,7 +75,7 @@ BOOST_AUTO_TEST_CASE(DoS_banning)
BOOST_AUTO_TEST_CASE(DoS_banscore)
{
connman->ClearBanned();
- mapArgs["-banscore"] = "111"; // because 11 is my favorite number
+ ForceSetArg("-banscore", "111"); // because 11 is my favorite number
CAddress addr1(ip(0xa0b0c001), NODE_NONE);
CNode dummyNode1(id++, NODE_NETWORK, 0, INVALID_SOCKET, addr1, 3, 1, "", true);
dummyNode1.SetSendVersion(PROTOCOL_VERSION);
@@ -90,7 +90,7 @@ BOOST_AUTO_TEST_CASE(DoS_banscore)
Misbehaving(dummyNode1.GetId(), 1);
SendMessages(&dummyNode1, *connman);
BOOST_CHECK(connman->IsBanned(addr1));
- mapArgs.erase("-banscore");
+ ForceSetArg("-banscore", std::to_string(DEFAULT_BANSCORE_THRESHOLD));
}
BOOST_AUTO_TEST_CASE(DoS_bantime)
diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp
index b62b317105..5c4ef5eb8c 100644
--- a/src/test/test_bitcoin.cpp
+++ b/src/test/test_bitcoin.cpp
@@ -33,8 +33,6 @@
std::unique_ptr<CConnman> g_connman;
FastRandomContext insecure_rand_ctx(true);
-extern std::map<std::string, std::string> mapArgs;
-
extern bool fPrintToConsole;
extern void noui_connect();
@@ -66,7 +64,7 @@ TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(cha
ClearDatadirCache();
pathTemp = GetTempPath() / strprintf("test_bitcoin_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000)));
boost::filesystem::create_directories(pathTemp);
- mapArgs["-datadir"] = pathTemp.string();
+ ForceSetArg("-datadir", pathTemp.string());
mempool.setSanityCheck(1.0);
pblocktree = new CBlockTreeDB(1 << 20, true);
pcoinsdbview = new CCoinsViewDB(1 << 23, true);
diff --git a/src/util.cpp b/src/util.cpp
index e3697183da..793b8f2dd1 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -428,6 +428,14 @@ bool SoftSetBoolArg(const std::string& strArg, bool fValue)
return SoftSetArg(strArg, std::string("0"));
}
+void ForceSetArg(const std::string& strArg, const std::string& strValue)
+{
+ LOCK(cs_args);
+ mapArgs[strArg] = strValue;
+}
+
+
+
static const int screenWidth = 79;
static const int optIndent = 2;
static const int msgIndent = 7;
diff --git a/src/util.h b/src/util.h
index 88f8bb1beb..f030dbbb26 100644
--- a/src/util.h
+++ b/src/util.h
@@ -175,6 +175,9 @@ bool SoftSetArg(const std::string& strArg, const std::string& strValue);
*/
bool SoftSetBoolArg(const std::string& strArg, bool fValue);
+// Forces a arg setting, used only in testing
+void ForceSetArg(const std::string& strArg, const std::string& strValue);
+
/**
* Format a string to be used as group of options in help messages
*