diff --git a/tests/test.cc b/tests/test.cc index 2b4d67b..fdf4ec6 100644 --- a/tests/test.cc +++ b/tests/test.cc @@ -16,12 +16,10 @@ * along with Spek. If not, see . */ -#include - #include "test.h" -static int g_passes = 0; -static int g_total = 0; +int g_passes = 0; +int g_total = 0; int main() { @@ -42,13 +40,3 @@ void run(std::function func, const std::string& message) std::cerr << message << std::endl; func(); } - -void test(const std::string& message, bool condition) -{ - g_total++; - if (condition) { - g_passes++; - } else { - std::cerr << "FAIL: " << message << std::endl; - } -} diff --git a/tests/test.h b/tests/test.h index d168b12..707c526 100644 --- a/tests/test.h +++ b/tests/test.h @@ -20,14 +20,24 @@ #define TEST_H_ #include +#include #include void run(std::function func, const std::string& message); -void test(const std::string& message, bool condition); + +extern int g_total; +extern int g_passes; template void test(const std::string& message, const T& expected, const T& actual) { - test(message, expected == actual); + g_total++; + if (expected == actual) { + g_passes++; + } else { + std::cerr << "FAIL: " << message; + std::cerr << ", expected: " << expected; + std::cerr << ", actual: " << actual << std::endl; + } } void test_utils();