mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Using jsoncpp for exporting ABI interface from solidity
- Also changing the interface JSON test to have a shorter name plus to provide meaningful error message in case of failure
This commit is contained in:
parent
6b7bec980a
commit
bbf4beab45
@ -34,7 +34,7 @@ namespace test
|
||||
class InterfaceChecker
|
||||
{
|
||||
public:
|
||||
bool checkInterface(std::string const& _code, std::string const& _expectedInterfaceString)
|
||||
void checkInterface(std::string const& _code, std::string const& _expectedInterfaceString)
|
||||
{
|
||||
m_compilerStack.parse(_code);
|
||||
std::string generatedInterfaceString = m_compilerStack.getInterface();
|
||||
@ -42,7 +42,9 @@ public:
|
||||
m_reader.parse(generatedInterfaceString, generatedInterface);
|
||||
Json::Value expectedInterface;
|
||||
m_reader.parse(_expectedInterfaceString, expectedInterface);
|
||||
return expectedInterface == generatedInterface;
|
||||
BOOST_CHECK_MESSAGE(expectedInterface == generatedInterface,
|
||||
"Expected " << _expectedInterfaceString <<
|
||||
"\n but got:\n" << generatedInterfaceString);
|
||||
}
|
||||
|
||||
private:
|
||||
@ -50,7 +52,7 @@ private:
|
||||
Json::Reader m_reader;
|
||||
};
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(SolidityCompilerJSONInterfaceOutput, InterfaceChecker)
|
||||
BOOST_FIXTURE_TEST_SUITE(solidityABIJSON, InterfaceChecker)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(basic_test)
|
||||
{
|
||||
@ -76,7 +78,7 @@ BOOST_AUTO_TEST_CASE(basic_test)
|
||||
}
|
||||
])";
|
||||
|
||||
BOOST_CHECK(checkInterface(sourceCode, interface));
|
||||
checkInterface(sourceCode, interface);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(empty_contract)
|
||||
@ -86,7 +88,7 @@ BOOST_AUTO_TEST_CASE(empty_contract)
|
||||
|
||||
char const* interface = "[]";
|
||||
|
||||
BOOST_CHECK(checkInterface(sourceCode, interface));
|
||||
checkInterface(sourceCode, interface);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multiple_methods)
|
||||
@ -129,7 +131,7 @@ BOOST_AUTO_TEST_CASE(multiple_methods)
|
||||
}
|
||||
])";
|
||||
|
||||
BOOST_CHECK(checkInterface(sourceCode, interface));
|
||||
checkInterface(sourceCode, interface);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multiple_params)
|
||||
@ -160,7 +162,7 @@ BOOST_AUTO_TEST_CASE(multiple_params)
|
||||
}
|
||||
])";
|
||||
|
||||
BOOST_CHECK(checkInterface(sourceCode, interface));
|
||||
checkInterface(sourceCode, interface);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multiple_methods_order)
|
||||
@ -204,7 +206,7 @@ BOOST_AUTO_TEST_CASE(multiple_methods_order)
|
||||
}
|
||||
])";
|
||||
|
||||
BOOST_CHECK(checkInterface(sourceCode, interface));
|
||||
checkInterface(sourceCode, interface);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
Loading…
Reference in New Issue
Block a user