diff --git a/test/libsolidity/SMTCheckerTest.cpp b/test/libsolidity/SMTCheckerTest.cpp index 288527e04..dddee7da4 100644 --- a/test/libsolidity/SMTCheckerTest.cpp +++ b/test/libsolidity/SMTCheckerTest.cpp @@ -140,6 +140,7 @@ TestCase::TestResult SMTCheckerTest::run(ostream& _stream, string const& _linePr void SMTCheckerTest::filterObtainedErrors() { SyntaxTest::filterObtainedErrors(); + m_unfilteredErrorList = m_errorList; static auto removeCex = [](vector& errors) { for (auto& e: errors) @@ -156,3 +157,10 @@ void SMTCheckerTest::filterObtainedErrors() removeCex(m_errorList); } } + +void SMTCheckerTest::printUpdatedExpectations(ostream &_stream, const string &_linePrefix) const { + if (!m_unfilteredErrorList.empty()) + printErrorList(_stream, m_unfilteredErrorList, _linePrefix, false); + else + CommonSyntaxTest::printUpdatedExpectations(_stream, _linePrefix); +} diff --git a/test/libsolidity/SMTCheckerTest.h b/test/libsolidity/SMTCheckerTest.h index 965705f30..459a6c565 100644 --- a/test/libsolidity/SMTCheckerTest.h +++ b/test/libsolidity/SMTCheckerTest.h @@ -42,6 +42,8 @@ public: void filterObtainedErrors() override; + void printUpdatedExpectations(std::ostream& _stream, std::string const& _linePrefix) const override; + protected: /* Options that can be set in the test: @@ -62,6 +64,8 @@ protected: ModelCheckerSettings m_modelCheckerSettings; bool m_ignoreCex = false; + + std::vector m_unfilteredErrorList; }; }