aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test.h9
-rw-r--r--tests/test_hashmap.c8
-rw-r--r--tests/test_template.c10
3 files changed, 22 insertions, 5 deletions
diff --git a/tests/test.h b/tests/test.h
index 19868f8..05c35b9 100644
--- a/tests/test.h
+++ b/tests/test.h
@@ -3,12 +3,15 @@
#include <stdarg.h>
#include <string.h>
-#define assert(assertion, format, ...) _assert(assertion, __FILE__, __LINE__, format, ##__VA_ARGS__)
-#define TESTNAME(v) strcpy(current_test, v);
+#define START_TESTS int main() {
+#define END_TESTS }
+#define TEST(name) strcpy(current_test, #name);
+/* used to store the running test name */
char current_test[256] = {'\0'};
-void _assert(int assertion, const char filename[64], const int line, char *format, ...)
+#define assert(assertion, format, ...) _assert(assertion, __FILE__, __LINE__, format, ##__VA_ARGS__)
+static void _assert(int assertion, const char filename[64], const int line, char *format, ...)
{
if (assertion)
{
diff --git a/tests/test_hashmap.c b/tests/test_hashmap.c
index cf6f7a2..68b8d0c 100644
--- a/tests/test_hashmap.c
+++ b/tests/test_hashmap.c
@@ -1,7 +1,9 @@
#include "test.h"
#include "hashmap.h"
-int main() {
+START_TESTS
+
+TEST(hashmap) {
struct hashmap *hm = hashmap_new();
assert(hashmap_get(hm, "foo") == NULL, "expected NULL");
@@ -11,4 +13,6 @@ int main() {
assert(strcmp(value, "bar") == 0, "expected %s, got %s", "bar", value);
hashmap_free(hm);
-} \ No newline at end of file
+}
+
+END_TESTS \ No newline at end of file
diff --git a/tests/test_template.c b/tests/test_template.c
new file mode 100644
index 0000000..62ac77c
--- /dev/null
+++ b/tests/test_template.c
@@ -0,0 +1,10 @@
+#include "test.h"
+#include "template.h"
+
+START_TESTS
+
+TEST(text_only) {
+
+}
+
+END_TESTS \ No newline at end of file