diff options
author | chriseth <chris@ethereum.org> | 2016-08-12 22:53:02 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-12 22:53:02 +0800 |
commit | 230c531705ff656dac9fca3f4c72f30363c09ca6 (patch) | |
tree | 5a894f2c2a7c8b3d1621024dce6c523621e72622 /test/libsolidity/SolidityExecutionFramework.h | |
parent | c5203344a007c25d50cdf66ee23cb5fbdf74dae0 (diff) | |
parent | d4799399494e0a25c0dbac1a4262fe7b2d65b46f (diff) | |
download | dexon-solidity-230c531705ff656dac9fca3f4c72f30363c09ca6.tar dexon-solidity-230c531705ff656dac9fca3f4c72f30363c09ca6.tar.gz dexon-solidity-230c531705ff656dac9fca3f4c72f30363c09ca6.tar.bz2 dexon-solidity-230c531705ff656dac9fca3f4c72f30363c09ca6.tar.lz dexon-solidity-230c531705ff656dac9fca3f4c72f30363c09ca6.tar.xz dexon-solidity-230c531705ff656dac9fca3f4c72f30363c09ca6.tar.zst dexon-solidity-230c531705ff656dac9fca3f4c72f30363c09ca6.zip |
Merge pull request #837 from chriseth/testsuitecleanup
Cleanup of test runner.
Diffstat (limited to 'test/libsolidity/SolidityExecutionFramework.h')
-rw-r--r-- | test/libsolidity/SolidityExecutionFramework.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/test/libsolidity/SolidityExecutionFramework.h b/test/libsolidity/SolidityExecutionFramework.h index 5764784a..c34b00ec 100644 --- a/test/libsolidity/SolidityExecutionFramework.h +++ b/test/libsolidity/SolidityExecutionFramework.h @@ -33,6 +33,7 @@ #include <libsolidity/interface/CompilerStack.h> #include <libsolidity/interface/Exceptions.h> +#include <libsolidity/interface/SourceReferenceFormatter.h> namespace dev { @@ -68,7 +69,17 @@ public: { m_compiler.reset(false, m_addStandardSources); m_compiler.addSource("", _sourceCode); - ETH_TEST_REQUIRE_NO_THROW(m_compiler.compile(m_optimize, m_optimizeRuns), "Compiling contract failed"); + if (!m_compiler.compile(m_optimize, m_optimizeRuns)) + { + for (auto const& error: m_compiler.errors()) + SourceReferenceFormatter::printExceptionInformation( + std::cerr, + *error, + (error->type() == Error::Type::Warning) ? "Warning" : "Error", + [&](std::string const& _sourceName) -> solidity::Scanner const& { return m_compiler.scanner(_sourceName); } + ); + BOOST_ERROR("Compiling contract failed"); + } eth::LinkerObject obj = m_compiler.object(_contractName); obj.link(_libraryAddresses); BOOST_REQUIRE(obj.linkReferences.empty()); |