diff --git a/tstl/test_suite/test.cpp b/tstl/test_suite/test.cpp index 15c32591..4029058a 100644 --- a/tstl/test_suite/test.cpp +++ b/tstl/test_suite/test.cpp @@ -58,3 +58,22 @@ void check_equals(long value, long expected, const char* message){ printf("\t expected: %ld was: %ld\n", expected, value); } } + +void check(bool condition, const char* where, size_t line){ + if(!condition){ + printf("%s:%lu Check failed\n", where, line); + } +} + +void check(bool condition, const char* message, const char* where, size_t line){ + if(!condition){ + printf("%s:%lu Check failed: \"%s\"\n", where, line, message); + } +} + +void check_equals(long value, long expected, const char* message, const char* where, size_t line){ + if(value != expected){ + printf("%s:%lu Check failed: \"%s\"\n", where, line, message); + printf("\t expected: %ld was: %ld\n", expected, value); + } +} diff --git a/tstl/test_suite/test.hpp b/tstl/test_suite/test.hpp index 194d3710..0d381da4 100644 --- a/tstl/test_suite/test.hpp +++ b/tstl/test_suite/test.hpp @@ -8,6 +8,13 @@ #include #include +#define CHECK(cond, message) check(cond, message, __PRETTY_FUNCTION__, __LINE__) +#define CHECK_EQUALS(a, b, message) check_equals(a, b, message, __PRETTY_FUNCTION__, __LINE__) + void check(bool condition); void check(bool condition, const char* message); void check_equals(long value, long expected, const char* message); + +void check(bool condition, const char* where, size_t line); +void check(bool condition, const char* message, const char* where, size_t line); +void check_equals(long value, long expected, const char* message, const char* where, size_t line);