From 27df4b7e7118795a7d915e2eb88ff578b0ddc814 Mon Sep 17 00:00:00 2001 From: Dimitry Date: Thu, 16 Jun 2016 16:06:53 +0300 Subject: parse command line arguments ipcPath --- test/libsolidity/SolidityExecutionFramework.cpp | 28 ++++++++++++++++++++++--- test/libsolidity/SolidityExecutionFramework.h | 7 +++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/test/libsolidity/SolidityExecutionFramework.cpp b/test/libsolidity/SolidityExecutionFramework.cpp index 43d36f38..7ea81888 100644 --- a/test/libsolidity/SolidityExecutionFramework.cpp +++ b/test/libsolidity/SolidityExecutionFramework.cpp @@ -20,6 +20,7 @@ * Framework for executing Solidity contracts and testing them against C++ implementation. */ +#include #include @@ -28,12 +29,33 @@ using namespace dev; using namespace dev::solidity; using namespace dev::solidity::test; +ExecutionFramework::boostArg::boostArg() +{ + 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) + { + ipcPath = argv[i+1]; + i++; + } + } + if (ipcPath.empty()) + BOOST_FAIL("ERROR: ipcPath not set! (use --ipc )"); +} + +ExecutionFramework::boostArg const& ExecutionFramework::getArgs() +{ + static boostArg boostArgs; + return boostArgs; +} -ExecutionFramework::ExecutionFramework(): - m_rpc(RPCSession::instance("/home/wins/Ethereum/testnet/ethnode1/geth.ipc")), +ExecutionFramework::ExecutionFramework() : + m_rpc(RPCSession::instance(getArgs().ipcPath)), m_sender(m_rpc.account(0)) { - eth::NoProof::init(); if (g_logVerbosity != -1) g_logVerbosity = 0; diff --git a/test/libsolidity/SolidityExecutionFramework.h b/test/libsolidity/SolidityExecutionFramework.h index 42b22c82..d149cda2 100644 --- a/test/libsolidity/SolidityExecutionFramework.h +++ b/test/libsolidity/SolidityExecutionFramework.h @@ -255,6 +255,13 @@ 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