diff options
author | Marek Kotewicz <marek.kotewicz@gmail.com> | 2015-03-26 02:51:08 +0800 |
---|---|---|
committer | Marek Kotewicz <marek.kotewicz@gmail.com> | 2015-03-26 02:51:08 +0800 |
commit | 9a032ef39fba817c965f3850aacafecb8f89cf7a (patch) | |
tree | a071e2b7dbbf970177499d4852fe2f842a0f1488 | |
parent | ac558b0377ae30223347dae215b823b6b55e5046 (diff) | |
download | dexon-solidity-9a032ef39fba817c965f3850aacafecb8f89cf7a.tar.gz dexon-solidity-9a032ef39fba817c965f3850aacafecb8f89cf7a.tar.zst dexon-solidity-9a032ef39fba817c965f3850aacafecb8f89cf7a.zip |
fixes for test/TestUtils.h
-rw-r--r-- | TestUtils.cpp | 25 | ||||
-rw-r--r-- | TestUtils.h | 14 |
2 files changed, 13 insertions, 26 deletions
diff --git a/TestUtils.cpp b/TestUtils.cpp index 71eeadb3..6222955d 100644 --- a/TestUtils.cpp +++ b/TestUtils.cpp @@ -19,8 +19,6 @@ * @date 2015 */ -#include <ctime> -#include <random> #include <thread> #include <boost/test/unit_test.hpp> #include <boost/filesystem.hpp> @@ -28,10 +26,6 @@ #include <libtestutils/FixedClient.h> #include "TestUtils.h" -// used methods from TestHelper: -// getTestPath -#include "TestHelper.h" - using namespace std; using namespace dev; using namespace dev::eth; @@ -73,19 +67,12 @@ std::string dev::test::getCommandLineArgument(string const& _name, bool _require return ""; } -bool LoadTestFileFixture::m_loaded = false; -Json::Value LoadTestFileFixture::m_json; - LoadTestFileFixture::LoadTestFileFixture() { - if (!m_loaded) - { - m_json = loadJsonFromFile(toTestFilePath(getCommandLineArgument("--eth_testfile"))); - m_loaded = true; - } + m_json = loadJsonFromFile(toTestFilePath(getCommandLineArgument("--eth_testfile"))); } -void ParallelFixture::enumerateThreads(std::function<void()> callback) +void ParallelFixture::enumerateThreads(std::function<void()> callback) const { size_t threadsCount = std::stoul(getCommandLineArgument("--eth_threads"), nullptr, 10); @@ -99,7 +86,7 @@ void ParallelFixture::enumerateThreads(std::function<void()> callback) }); } -void BlockChainFixture::enumerateBlockchains(std::function<void(Json::Value const&, dev::eth::BlockChain&, State state)> callback) +void BlockChainFixture::enumerateBlockchains(std::function<void(Json::Value const&, dev::eth::BlockChain const&, State state)> callback) const { for (string const& name: m_json.getMemberNames()) { @@ -108,16 +95,16 @@ void BlockChainFixture::enumerateBlockchains(std::function<void(Json::Value cons } } -void ClientBaseFixture::enumerateClients(std::function<void(Json::Value const&, dev::eth::ClientBase&)> callback) +void ClientBaseFixture::enumerateClients(std::function<void(Json::Value const&, dev::eth::ClientBase&)> callback) const { - enumerateBlockchains([&callback](Json::Value const& _json, BlockChain& _bc, State _state) -> void + enumerateBlockchains([&callback](Json::Value const& _json, BlockChain const& _bc, State _state) -> void { FixedClient client(_bc, _state); callback(_json, client); }); } -void ParallelClientBaseFixture::enumerateClients(std::function<void(Json::Value const&, dev::eth::ClientBase&)> callback) +void ParallelClientBaseFixture::enumerateClients(std::function<void(Json::Value const&, dev::eth::ClientBase&)> callback) const { ClientBaseFixture::enumerateClients([this, &callback](Json::Value const& _json, dev::eth::ClientBase& _client) -> void { diff --git a/TestUtils.h b/TestUtils.h index fef10e98..f9817c21 100644 --- a/TestUtils.h +++ b/TestUtils.h @@ -41,24 +41,24 @@ static SharedMutex x_boostTest; struct LoadTestFileFixture { LoadTestFileFixture(); - - static bool m_loaded; - static Json::Value m_json; + +protected: + Json::Value m_json; }; struct ParallelFixture { - void enumerateThreads(std::function<void()> callback); + void enumerateThreads(std::function<void()> callback) const; }; struct BlockChainFixture: public LoadTestFileFixture { - void enumerateBlockchains(std::function<void(Json::Value const&, dev::eth::BlockChain&, dev::eth::State state)> callback); + void enumerateBlockchains(std::function<void(Json::Value const&, dev::eth::BlockChain const&, dev::eth::State state)> callback) const; }; struct ClientBaseFixture: public BlockChainFixture { - void enumerateClients(std::function<void(Json::Value const&, dev::eth::ClientBase&)> callback); + void enumerateClients(std::function<void(Json::Value const&, dev::eth::ClientBase&)> callback) const; }; // important BOOST TEST do have problems with thread safety!!! @@ -70,7 +70,7 @@ struct ClientBaseFixture: public BlockChainFixture // https://codecrafter.wordpress.com/2012/11/01/c-unit-test-framework-adapter-part-3/ struct ParallelClientBaseFixture: public ClientBaseFixture, public ParallelFixture { - void enumerateClients(std::function<void(Json::Value const&, dev::eth::ClientBase&)> callback); + void enumerateClients(std::function<void(Json::Value const&, dev::eth::ClientBase&)> callback) const; }; struct JsonRpcFixture: public ClientBaseFixture |