#pragma once
+#include "libtest/exception.hpp"
+#include "libtest/error.h"
+
namespace libtest {
-class __test_result : public std::exception
+class __test_result : public libtest::exception
{
public:
__test_result(const char *file, int line, const char *func);
- __test_result( const __test_result& );
-
- virtual ~__test_result() throw();
-
- virtual const char* what() const throw()
- {
- if (_error_message)
- {
- return _error_message;
- }
-
- return "";
- }
-
- int line() const
- {
- return _line;
- }
-
- const char* file() const
- {
- return _file;
- }
-
- const char* func() const
- {
- return _func;
- }
-
-protected:
- void init(va_list);
+ virtual test_return_t return_code() const= 0;
private:
- int _line;
- const char* _file;
- const char* _func;
- char* _error_message;
- int _error_message_size;
};
} // namespace libtest