diff options
parse command line arguments
ipcPath
Diffstat (limited to 'test/libsolidity/SolidityExecutionFramework.cpp')
-rw-r--r-- | test/libsolidity/SolidityExecutionFramework.cpp | 28 |
1 files changed, 25 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 <boost/test/framework.hpp> #include <test/libsolidity/SolidityExecutionFramework.h> @@ -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 <path>)"); +} + +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; |