From e9b968b1b0b2d3a04ab8de80cf2a893dc0ab9123 Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Wed, 25 Mar 2015 19:30:52 +0100 Subject: [PATCH 1/3] fixed FixedClient --- libtestutils/FixedClient.cpp | 11 +---------- libtestutils/FixedClient.h | 4 ++-- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/libtestutils/FixedClient.cpp b/libtestutils/FixedClient.cpp index a58d4ae0e..052141039 100644 --- a/libtestutils/FixedClient.cpp +++ b/libtestutils/FixedClient.cpp @@ -25,16 +25,7 @@ using namespace dev; using namespace dev::eth; using namespace dev::test; -eth::State FixedClient::asOf(BlockNumber _h) const -{ - ReadGuard l(x_stateDB); - if (_h == PendingBlock || _h == LatestBlock) - return m_state; - - return State(m_state.db(), bc(), bc().numberHash(_h)); -} - -eth::State FixedClient::asOf(h256 _h) const +eth::State FixedClient::asOf(h256 const& _h) const { ReadGuard l(x_stateDB); return State(m_state.db(), bc(), _h); diff --git a/libtestutils/FixedClient.h b/libtestutils/FixedClient.h index f0a7c54f6..daca444fb 100644 --- a/libtestutils/FixedClient.h +++ b/libtestutils/FixedClient.h @@ -43,8 +43,8 @@ public: // stub virtual void flushTransactions() override {} virtual eth::BlockChain const& bc() const override { return m_bc; } - virtual eth::State asOf(eth::BlockNumber _h) const override; - virtual eth::State asOf(h256 _h) const override; + using ClientBase::asOf; + virtual eth::State asOf(h256 const& _h) const override; virtual eth::State preMine() const override { ReadGuard l(x_stateDB); return m_state; } virtual eth::State postMine() const override { ReadGuard l(x_stateDB); return m_state; } virtual void prepareForTransaction() override {} From 701df0bf55629740d3522eecd54e8b33cc6a6c4d Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Wed, 25 Mar 2015 19:36:07 +0100 Subject: [PATCH 2/3] const --- libtestutils/BlockChainLoader.cpp | 1 - libtestutils/BlockChainLoader.h | 6 +++--- libtestutils/ShortLivingDirectory.h | 2 +- libtestutils/StateLoader.h | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/libtestutils/BlockChainLoader.cpp b/libtestutils/BlockChainLoader.cpp index 224e40ec5..eafab190e 100644 --- a/libtestutils/BlockChainLoader.cpp +++ b/libtestutils/BlockChainLoader.cpp @@ -34,7 +34,6 @@ namespace test { dev::eth::BlockInfo toBlockInfo(Json::Value const& _json); bytes toGenesisBlock(Json::Value const& _json); - } } diff --git a/libtestutils/BlockChainLoader.h b/libtestutils/BlockChainLoader.h index ed110ff6f..728860727 100644 --- a/libtestutils/BlockChainLoader.h +++ b/libtestutils/BlockChainLoader.h @@ -39,9 +39,9 @@ class BlockChainLoader { public: BlockChainLoader(Json::Value const& _json); - eth::BlockChain& bc() { return *m_bc; } - eth::State state() { return m_state; } - + eth::BlockChain const& bc() const { return *m_bc; } + eth::State const& state() const { return m_state; } + private: ShortLivingDirectory m_dir; std::auto_ptr m_bc; diff --git a/libtestutils/ShortLivingDirectory.h b/libtestutils/ShortLivingDirectory.h index bab6a1c20..10b542f06 100644 --- a/libtestutils/ShortLivingDirectory.h +++ b/libtestutils/ShortLivingDirectory.h @@ -40,7 +40,7 @@ public: ShortLivingDirectory(std::string const& _path = getRandomPath()); ~ShortLivingDirectory(); - std::string const& path() { return m_path; } + std::string const& path() const { return m_path; } private: std::string m_path; diff --git a/libtestutils/StateLoader.h b/libtestutils/StateLoader.h index e8f955440..e5843d0b4 100644 --- a/libtestutils/StateLoader.h +++ b/libtestutils/StateLoader.h @@ -36,7 +36,7 @@ class StateLoader { public: StateLoader(Json::Value const& _json); - eth::State const& state() { return m_state; } + eth::State const& state() const { return m_state; } private: eth::State m_state; From c12aa4decde863898119ac77c42e984c6c012c47 Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Wed, 25 Mar 2015 19:41:17 +0100 Subject: [PATCH 3/3] TransientDirectory --- libtestutils/BlockChainLoader.h | 4 ++-- .../{ShortLivingDirectory.cpp => TransientDirectory.cpp} | 8 ++++---- .../{ShortLivingDirectory.h => TransientDirectory.h} | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) rename libtestutils/{ShortLivingDirectory.cpp => TransientDirectory.cpp} (85%) rename libtestutils/{ShortLivingDirectory.h => TransientDirectory.h} (88%) diff --git a/libtestutils/BlockChainLoader.h b/libtestutils/BlockChainLoader.h index 728860727..6cb04c53c 100644 --- a/libtestutils/BlockChainLoader.h +++ b/libtestutils/BlockChainLoader.h @@ -24,7 +24,7 @@ #include #include #include -#include "ShortLivingDirectory.h" +#include "TransientDirectory.h" namespace dev { @@ -43,7 +43,7 @@ public: eth::State const& state() const { return m_state; } private: - ShortLivingDirectory m_dir; + TransientDirectory m_dir; std::auto_ptr m_bc; eth::State m_state; }; diff --git a/libtestutils/ShortLivingDirectory.cpp b/libtestutils/TransientDirectory.cpp similarity index 85% rename from libtestutils/ShortLivingDirectory.cpp rename to libtestutils/TransientDirectory.cpp index f60e12a86..48beca7e3 100644 --- a/libtestutils/ShortLivingDirectory.cpp +++ b/libtestutils/TransientDirectory.cpp @@ -14,20 +14,20 @@ You should have received a copy of the GNU General Public License along with cpp-ethereum. If not, see . */ -/** @file ShortLivingDirectory.cpp +/** @file TransientDirectory.cpp * @author Marek Kotewicz * @date 2015 */ #include #include -#include "ShortLivingDirectory.h" +#include "TransientDirectory.h" using namespace std; using namespace dev; using namespace dev::test; -ShortLivingDirectory::ShortLivingDirectory(std::string const& _path) : m_path(_path) +TransientDirectory::TransientDirectory(std::string const& _path) : m_path(_path) { // we never ever want to delete a directory (including all its contents) that we did not create ourselves. if (boost::filesystem::exists(m_path)) @@ -36,7 +36,7 @@ ShortLivingDirectory::ShortLivingDirectory(std::string const& _path) : m_path(_p boost::filesystem::create_directories(m_path); } -ShortLivingDirectory::~ShortLivingDirectory() +TransientDirectory::~TransientDirectory() { boost::filesystem::remove_all(m_path); } diff --git a/libtestutils/ShortLivingDirectory.h b/libtestutils/TransientDirectory.h similarity index 88% rename from libtestutils/ShortLivingDirectory.h rename to libtestutils/TransientDirectory.h index 10b542f06..328b4c92b 100644 --- a/libtestutils/ShortLivingDirectory.h +++ b/libtestutils/TransientDirectory.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with cpp-ethereum. If not, see . */ -/** @file ShortLivingDirectory.h +/** @file TransientDirectory.h * @author Marek Kotewicz * @date 2015 */ @@ -34,11 +34,11 @@ namespace test * It creates temporary directory in the given path. On dealloc it removes the directory * @throws if the given path already exists, throws an exception */ -class ShortLivingDirectory +class TransientDirectory { public: - ShortLivingDirectory(std::string const& _path = getRandomPath()); - ~ShortLivingDirectory(); + TransientDirectory(std::string const& _path = getRandomPath()); + ~TransientDirectory(); std::string const& path() const { return m_path; }