Abort instead of assert if report_errors() not called

This commit is contained in:
Glen Fernandes
2018-09-04 16:55:35 -04:00
parent 3f7d36445d
commit c71eb0e479

View File

@ -23,10 +23,10 @@
//
#include <boost/core/no_exceptions_support.hpp>
#include <boost/assert.hpp>
#include <boost/current_function.hpp>
#include <iostream>
#include <iterator>
#include <cstdlib>
#include <cstring>
#include <cstddef>
@ -45,11 +45,14 @@ namespace detail
class test_result {
public:
test_result()
: report_errors_called_(false)
: report_(false)
, errors_(0) { }
~test_result() {
BOOST_ASSERT(report_errors_called_);
if (!report_) {
BOOST_LIGHTWEIGHT_TEST_OSTREAM << "report_errors() not called" << std::endl;
std::abort();
}
}
void error() {
@ -57,12 +60,12 @@ public:
}
int done() {
report_errors_called_ = true;
report_ = true;
return errors_;
}
private:
bool report_errors_called_;
bool report_;
int errors_;
};