aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/AnalysisFramework.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-09-28 16:59:15 +0800
committerchriseth <chris@ethereum.org>2017-09-29 18:05:45 +0800
commit08effa0af54647971415cb66dc9181afad9642ee (patch)
tree84b91fd8fa32a40da6715f09806116c09976b028 /test/libsolidity/AnalysisFramework.h
parent9d8edb46f24517dc5a0dbc0b496caad75cf39ca3 (diff)
downloaddexon-solidity-08effa0af54647971415cb66dc9181afad9642ee.tar.gz
dexon-solidity-08effa0af54647971415cb66dc9181afad9642ee.tar.zst
dexon-solidity-08effa0af54647971415cb66dc9181afad9642ee.zip
More verbose error messages.
Diffstat (limited to 'test/libsolidity/AnalysisFramework.h')
-rw-r--r--test/libsolidity/AnalysisFramework.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/test/libsolidity/AnalysisFramework.h b/test/libsolidity/AnalysisFramework.h
index 07e28f2b..a566ba1d 100644
--- a/test/libsolidity/AnalysisFramework.h
+++ b/test/libsolidity/AnalysisFramework.h
@@ -57,7 +57,8 @@ protected:
bool success(std::string const& _source);
Error expectError(std::string const& _source, bool _warning = false, bool _allowMultiple = false);
- void printErrors();
+ std::string formatErrors();
+ std::string formatError(Error const& _error);
static ContractDefinition const* retrieveContractByName(SourceUnit const& _source, std::string const& _name);
static FunctionTypePointer retrieveFunctionBySignature(
@@ -105,7 +106,10 @@ CHECK_ERROR_OR_WARNING(text, Warning, substring, true, true)
do \
{ \
auto sourceAndError = parseAnalyseAndReturnError((text), true); \
- BOOST_CHECK(sourceAndError.second == nullptr); \
+ std::string message; \
+ if (sourceAndError.second) \
+ message = formatError(*sourceAndError.second); \
+ BOOST_CHECK_MESSAGE(!sourceAndError.second, message); \
} \
while(0)