parse command line arguments

ipcPath
This commit is contained in:
Dimitry 2016-06-16 16:06:53 +03:00 committed by chriseth
parent 763faf7b0e
commit 27df4b7e71
2 changed files with 32 additions and 3 deletions

View File

@ -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::ExecutionFramework():
m_rpc(RPCSession::instance("/home/wins/Ethereum/testnet/ethnode1/geth.ipc")),
ExecutionFramework::boostArg const& ExecutionFramework::getArgs()
{
static boostArg boostArgs;
return boostArgs;
}
ExecutionFramework::ExecutionFramework() :
m_rpc(RPCSession::instance(getArgs().ipcPath)),
m_sender(m_rpc.account(0))
{
eth::NoProof::init();
if (g_logVerbosity != -1)
g_logVerbosity = 0;

View File

@ -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