aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/hlkt.h29
-rw-r--r--src/include/util.h1
2 files changed, 30 insertions, 0 deletions
diff --git a/src/include/hlkt.h b/src/include/hlkt.h
new file mode 100644
index 0000000..295e5f4
--- /dev/null
+++ b/src/include/hlkt.h
@@ -0,0 +1,29 @@
+#ifndef HLKT_H
+#define HLKT_H
+
+#include <time.h>
+
+#include "util.h"
+
+static int hlkt_run = 0; /* number of tests run */
+static int hlkt_failed = 0; /* number of tests that have failed */
+
+#define HLKT_HIDE(stuff) do { stuff } while (0)
+
+#define HLKT_LOG() HLKT_HIDE( \
+ if ((hlkt_run > 0) && (hlkt_failed > 0)) { \
+ log_war("HLKT: %d/%d tests failed", hlkt_failed, hlkt_run); \
+ } else { \
+ log_inf("HLKT: all %d tests passed", hlkt_run); \
+ } \
+)
+
+#define HLKT_ASS(pred) HLKT_HIDE( \
+ hlkt_run ++; \
+ if (! pred) { \
+ hlkt_failed ++; \
+ log_err("HLKT: test [%s] failed: %s:%s:%d", #pred, __FILE__, __func__, __LINE__);\
+ } \
+)
+
+#endif
diff --git a/src/include/util.h b/src/include/util.h
index 63ee8bb..a7879e9 100644
--- a/src/include/util.h
+++ b/src/include/util.h
@@ -8,6 +8,7 @@
void die(const char* fmt, ...);
+void log_err(const char* fmt, ...);
void log_inf(const char* fmt, ...);
void log_raw(const char* fmt, ...);
void log_war(const char* fmt, ...);