From 93c8fc094e601f8d1105a820e64ac6c5fe7298f2 Mon Sep 17 00:00:00 2001 From: chriseth Date: Fri, 17 Jun 2016 00:19:16 +0200 Subject: Parse arguments in free function. --- test/libsolidity/SolidityExecutionFramework.cpp | 21 ++++++++++----------- test/libsolidity/SolidityExecutionFramework.h | 7 ------- 2 files changed, 10 insertions(+), 18 deletions(-) (limited to 'test') diff --git a/test/libsolidity/SolidityExecutionFramework.cpp b/test/libsolidity/SolidityExecutionFramework.cpp index 7ea81888..8c026ffd 100644 --- a/test/libsolidity/SolidityExecutionFramework.cpp +++ b/test/libsolidity/SolidityExecutionFramework.cpp @@ -20,40 +20,39 @@ * Framework for executing Solidity contracts and testing them against C++ implementation. */ +#include #include #include - using namespace std; using namespace dev; using namespace dev::solidity; using namespace dev::solidity::test; -ExecutionFramework::boostArg::boostArg() +string getIPCSocketPath() { + string ipcPath; + size_t argc = boost::unit_test::framework::master_test_suite().argc; char** argv = boost::unit_test::framework::master_test_suite().argv; for (size_t i = 0; i < argc; i++) { string arg = argv[i]; - if (arg == "--ipc" && i+1 < argc) + if (arg == "--ipc" && i + 1 < argc) { - ipcPath = argv[i+1]; + ipcPath = argv[i + 1]; i++; } } + if (ipcPath.empty()) + ipcPath = getenv("ETH_TEST_IPC"); if (ipcPath.empty()) BOOST_FAIL("ERROR: ipcPath not set! (use --ipc )"); -} - -ExecutionFramework::boostArg const& ExecutionFramework::getArgs() -{ - static boostArg boostArgs; - return boostArgs; + return ipcPath; } ExecutionFramework::ExecutionFramework() : - m_rpc(RPCSession::instance(getArgs().ipcPath)), + m_rpc(RPCSession::instance(getIPCSocketPath())), m_sender(m_rpc.account(0)) { if (g_logVerbosity != -1) diff --git a/test/libsolidity/SolidityExecutionFramework.h b/test/libsolidity/SolidityExecutionFramework.h index d149cda2..42b22c82 100644 --- a/test/libsolidity/SolidityExecutionFramework.h +++ b/test/libsolidity/SolidityExecutionFramework.h @@ -255,13 +255,6 @@ protected: bool storageEmpty(Address const& _addr); bool addressHasCode(Address const& _addr); - struct boostArg - { - boostArg(); - std::string ipcPath; - }; - - boostArg const& getArgs(); RPCSession& m_rpc; struct LogEntry -- cgit v1.2.3