Skip to content

Commit 91d1626

Browse files
committed
Add printing of invariant_failedt in test failure messages
This means that generated error messages show what the particular invariant failure actually generated was, instead of the catch framework default of `{?}`.
1 parent 7bf92cb commit 91d1626

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

unit/testing-utils/invariant.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,11 @@ std::string invariant_failure_containingt::describe() const
2727
return std::string{"invariant_failedt with `.what' containing - \""} +
2828
expected + "\"";
2929
}
30+
31+
std::ostream &
32+
operator<<(std::ostream &out, const invariant_failedt &invariant_failed)
33+
{
34+
out << "invariant_failedt where `.what()' is \"" << invariant_failed.what()
35+
<< "\"";
36+
return out;
37+
}

unit/testing-utils/invariant.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@ class invariant_failure_containingt
2525
invariant_failure_containingt
2626
invariant_failure_containing(std::string expected);
2727

28+
/// Printing of `invariant_failedt` for test failure messages.
29+
std::ostream &
30+
operator<<(std::ostream &out, const invariant_failedt &invariant_failed);
31+
2832
#endif // CPROVER_TESTING_UTILS_INVARIANT_H

0 commit comments

Comments
 (0)