aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoão Barbosa <joao.paulo.barbosa@gmail.com>2017-10-24 09:26:05 +0100
committerMarcoFalke <falke.marco@gmail.com>2017-11-02 15:18:56 -0400
commit2ed0647ac1d6c14ff1be11f8d5284c0dc645fc18 (patch)
treea8520afa18dd613d23856d19c9812e39ea9e327f
parenta607a95d8185b2b8d5a4de6f1bd9054308ebf60a (diff)
downloadbitcoin-2ed0647ac1d6c14ff1be11f8d5284c0dc645fc18.tar.xz
Add CConnmanTest to mutate g_connman in tests
Github-Pull: #11560 Rebased-From: 83df25736ebaa23777e965d265ed677a8d79f23f
-rw-r--r--src/net.h2
-rw-r--r--src/test/test_bitcoin.cpp12
-rw-r--r--src/test/test_bitcoin.h6
3 files changed, 20 insertions, 0 deletions
diff --git a/src/net.h b/src/net.h
index 83f2d96762..6b57d5cf79 100644
--- a/src/net.h
+++ b/src/net.h
@@ -434,6 +434,8 @@ private:
* in excess of nMaxOutbound
* This takes the place of a feeler connection */
std::atomic_bool m_try_another_outbound_peer;
+
+ friend struct CConnmanTest;
};
extern std::unique_ptr<CConnman> g_connman;
void Discover(boost::thread_group& threadGroup);
diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp
index 10959adea0..01e2a555e6 100644
--- a/src/test/test_bitcoin.cpp
+++ b/src/test/test_bitcoin.cpp
@@ -24,6 +24,18 @@
#include <memory>
+void CConnmanTest::AddNode(CNode& node)
+{
+ LOCK(g_connman->cs_vNodes);
+ g_connman->vNodes.push_back(&node);
+}
+
+void CConnmanTest::ClearNodes()
+{
+ LOCK(g_connman->cs_vNodes);
+ g_connman->vNodes.clear();
+}
+
uint256 insecure_rand_seed = GetRandHash();
FastRandomContext insecure_rand_ctx(insecure_rand_seed);
diff --git a/src/test/test_bitcoin.h b/src/test/test_bitcoin.h
index 5a39f8ab82..642be476a6 100644
--- a/src/test/test_bitcoin.h
+++ b/src/test/test_bitcoin.h
@@ -49,6 +49,12 @@ struct BasicTestingSetup {
* Included are data directory, coins database, script check threads setup.
*/
class CConnman;
+class CNode;
+struct CConnmanTest {
+ static void AddNode(CNode& node);
+ static void ClearNodes();
+};
+
class PeerLogicValidation;
struct TestingSetup: public BasicTestingSetup {
CCoinsViewDB *pcoinsdbview;