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();