mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #1490 from ethereum/debugMessages
Option to show messages in tests.
This commit is contained in:
commit
fd7561ed60
@ -46,6 +46,7 @@ string getIPCSocketPath()
|
||||
ExecutionFramework::ExecutionFramework() :
|
||||
m_rpc(RPCSession::instance(getIPCSocketPath())),
|
||||
m_optimize(dev::test::Options::get().optimize),
|
||||
m_showMessages(dev::test::Options::get().showMessages),
|
||||
m_sender(m_rpc.account(0))
|
||||
{
|
||||
m_rpc.test_rewindToBlock(0);
|
||||
@ -53,6 +54,16 @@ ExecutionFramework::ExecutionFramework() :
|
||||
|
||||
void ExecutionFramework::sendMessage(bytes const& _data, bool _isCreation, u256 const& _value)
|
||||
{
|
||||
if (m_showMessages)
|
||||
{
|
||||
if (_isCreation)
|
||||
cout << "CREATE " << m_sender.hex() << ":" << endl;
|
||||
else
|
||||
cout << "CALL " << m_sender.hex() << " -> " << m_contractAddress.hex() << ":" << endl;
|
||||
if (_value > 0)
|
||||
cout << " value: " << _value << endl;
|
||||
cout << " in: " << toHex(_data) << endl;
|
||||
}
|
||||
RPCSession::TransactionData d;
|
||||
d.data = "0x" + toHex(_data);
|
||||
d.from = "0x" + toString(m_sender);
|
||||
@ -79,6 +90,9 @@ void ExecutionFramework::sendMessage(bytes const& _data, bool _isCreation, u256
|
||||
m_output = fromHex(code, WhenError::Throw);
|
||||
}
|
||||
|
||||
if (m_showMessages)
|
||||
cout << " out: " << toHex(m_output) << endl;
|
||||
|
||||
m_gasUsed = u256(receipt.gasUsed);
|
||||
m_logs.clear();
|
||||
for (auto const& log: receipt.logEntries)
|
||||
|
@ -281,6 +281,7 @@ protected:
|
||||
|
||||
unsigned m_optimizeRuns = 200;
|
||||
bool m_optimize = false;
|
||||
bool m_showMessages = false;
|
||||
Address m_sender;
|
||||
Address m_contractAddress;
|
||||
u256 const m_gasPrice = 100 * szabo;
|
||||
|
@ -41,6 +41,8 @@ Options::Options()
|
||||
}
|
||||
else if (string(suite.argv[i]) == "--optimize")
|
||||
optimize = true;
|
||||
else if (string(suite.argv[i]) == "--show-messages")
|
||||
showMessages = true;
|
||||
|
||||
if (ipcPath.empty())
|
||||
if (auto path = getenv("ETH_TEST_IPC"))
|
||||
|
@ -106,6 +106,7 @@ namespace test
|
||||
struct Options: boost::noncopyable
|
||||
{
|
||||
std::string ipcPath;
|
||||
bool showMessages = false;
|
||||
bool optimize = false;
|
||||
|
||||
static Options const& get();
|
||||
|
Loading…
Reference in New Issue
Block a user