summaryrefslogtreecommitdiff
path: root/lily-test.h
diff options
context:
space:
mode:
authorsanine-a <sanine.not@pm.me>2021-12-21 11:00:32 -0600
committersanine-a <sanine.not@pm.me>2021-12-21 11:00:32 -0600
commitb712a7ac4c6a7a8bb1d81d0adad8f98084b4d2fe (patch)
treec7c1a3add4eea07f3580e9c9c2fa9d9a8a088a8a /lily-test.h
parent98ab574f51a223bbd53052ded32dce6aebca9298 (diff)
refactor: move lily-test.h into root directory and move src/ -> tests/
Diffstat (limited to 'lily-test.h')
-rw-r--r--lily-test.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/lily-test.h b/lily-test.h
new file mode 100644
index 0000000..9f166b1
--- /dev/null
+++ b/lily-test.h
@@ -0,0 +1,32 @@
+#ifndef LILY_TEST_H
+#define LILY_TEST_H
+
+#define lily_test const char *
+
+struct lily_test_data_t {
+ int tests_run;
+ int tests_failed;
+};
+
+#define LILY_INIT() \
+ struct lily_test_data_t lily_test_data = { 0, 0 };
+
+
+// helper macros to turn numerical constants into strings
+#define STR_IMPL(x) #x
+#define STR(X) STR_IMPL(x)
+
+
+// assertion macros
+#define lily_indent " "
+#define lily_assert_msg(statement, message) \
+ do { \
+ if (!(statement)) \
+ return "" message \
+ "\n" lily_indent " [" __FILE__ ":" STR(__LINE__) "]"; \
+ } while(0)
+
+#define lily_assert_equal(a, b) lily_assert_msg((a) == (b), "'" #a "' is not equal to '" #b "'")
+
+
+#endif