Merge pull request #2585 from ethereum/tests-compilerstack

Do not use obscure CompilerStack methods in tests
This commit is contained in:
Alex Beregszaszi 2017-07-18 17:51:10 +02:00 committed by GitHub
commit 01fbc63623
4 changed files with 12 additions and 4 deletions

View File

@ -47,7 +47,9 @@ public:
GasMeterTestFramework() { }
void compile(string const& _sourceCode)
{
m_compiler.setSource("pragma solidity >= 0.0;" + _sourceCode);
m_compiler.reset(false);
m_compiler.addSource("", "pragma solidity >=0.0;\n" + _sourceCode);
/// NOTE: compiles without optimisations
ETH_TEST_REQUIRE_NO_THROW(m_compiler.compile(), "Compiling contract failed");
AssemblyItems const* items = m_compiler.runtimeAssemblyItems("");

View File

@ -43,7 +43,9 @@ BOOST_AUTO_TEST_CASE(metadata_stamp)
}
)";
CompilerStack compilerStack;
BOOST_REQUIRE(compilerStack.compile(std::string(sourceCode)));
compilerStack.addSource("", std::string(sourceCode));
/// NOTE: compiles without optimisations
ETH_TEST_REQUIRE_NO_THROW(compilerStack.compile(), "Compiling contract failed");
bytes const& bytecode = compilerStack.runtimeObject("test").bytecode;
std::string const& metadata = compilerStack.onChainMetadata("test");
BOOST_CHECK(dev::test::isValidMetadata(metadata));

View File

@ -42,7 +42,9 @@ public:
void checkInterface(std::string const& _code, std::string const& _expectedInterfaceString)
{
ETH_TEST_REQUIRE_NO_THROW(m_compilerStack.parseAndAnalyze("pragma solidity >=0.0;\n" + _code), "Parsing contract failed");
m_compilerStack.reset(false);
m_compilerStack.addSource("", "pragma solidity >=0.0;\n" + _code);
ETH_TEST_REQUIRE_NO_THROW(m_compilerStack.parseAndAnalyze(), "Parsing contract failed");
Json::Value generatedInterface = m_compilerStack.contractABI("");
Json::Value expectedInterface;

View File

@ -45,7 +45,9 @@ public:
bool _userDocumentation
)
{
ETH_TEST_REQUIRE_NO_THROW(m_compilerStack.parseAndAnalyze("pragma solidity >=0.0;\n" + _code), "Parsing failed");
m_compilerStack.reset(false);
m_compilerStack.addSource("", "pragma solidity >=0.0;\n" + _code);
ETH_TEST_REQUIRE_NO_THROW(m_compilerStack.parseAndAnalyze(), "Parsing contract failed");
Json::Value generatedDocumentation;
if (_userDocumentation)