From 2705ef9bb76e702d99322cd11d88aae3ca1a0da4 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Thu, 5 Feb 2026 04:56:11 +0000 Subject: [PATCH] tests: Meaningful and pretty logging for tests --- test/main.c | 2 +- test/test.h | 39 +++++++++++++++++++-------------------- test/test_lisp_api.c | 2 +- test/test_vec.c | 17 +++++++++-------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/test/main.c b/test/main.c index 5174da1..0d107ec 100644 --- a/test/main.c +++ b/test/main.c @@ -31,7 +31,7 @@ int main(void) printf("Suite [%s]\n", suite.name); for (u64 j = 0; j < suite.size; ++j) { - printf("[%s]: Running...\n", suite.tests[j].name); + printf("\t[%s]: Running...\n", suite.tests[j].name); suite.tests[j].fn(); } } diff --git a/test/test.h b/test/test.h index e608256..3fe2556 100644 --- a/test/test.h +++ b/test/test.h @@ -10,26 +10,25 @@ #include -#define TEST_PASSED() printf("[%s]: Passed\n", __func__) -#define TEST(COND, ...) \ - do \ - { \ - bool cond = (COND); \ - if (!cond) \ - { \ - printf("\tFAIL: "); \ - } \ - else \ - { \ - printf("\tPASS: "); \ - } \ - printf("%s => ", #COND); \ - printf(__VA_ARGS__); \ - printf("\n"); \ - if (!cond) \ - { \ - assert(0); \ - } \ +#define TEST_PASSED() printf("\t[%s]: Passed\n", __func__) +#define TEST(COND, ...) \ + do \ + { \ + bool cond = (COND); \ + if (!cond) \ + { \ + printf("\t\tFAIL: "); \ + } \ + else \ + { \ + printf("\t\tPASS: "); \ + } \ + printf(__VA_ARGS__); \ + printf("\n\t\t [%s]\n", #COND); \ + if (!cond) \ + { \ + assert(0); \ + } \ } while (0) typedef struct TestFn diff --git a/test/test_lisp_api.c b/test/test_lisp_api.c index 3e0b15e..873667c 100644 --- a/test/test_lisp_api.c +++ b/test/test_lisp_api.c @@ -39,7 +39,7 @@ void sym_test(void) char *out = as_sym(lisp); TEST(in != out, "%p != %p", in, out); TEST(strlen(in) == strlen(out), "%zu == %zu", strlen(in), strlen(out)); - TEST(strncmp(in, out, strlen(in)) == 0, "%d", strncmp(in, out, strlen(in))); + TEST(strncmp(in, out, strlen(in)) == 0, "`%s` == `%s`", in, out); } TEST_PASSED(); sys_free(&system); diff --git a/test/test_vec.c b/test/test_vec.c index 6e901ea..5b10da6 100644 --- a/test/test_vec.c +++ b/test/test_vec.c @@ -8,7 +8,7 @@ #include "./data.h" #include "./test.h" -void vec_test1(void) +void vec_test_concat(void) { sys_t system = {0}; sys_init(&system); @@ -28,14 +28,15 @@ void vec_test1(void) TEST(vec->size == ARRSIZE(words_text), "%lu == %lu", vec->size, ARRSIZE(words_text)); - TEST(strncmp((char *)vec_data(vec), words_text, vec->size) == 0, "%d", - strncmp((char *)vec_data(vec), words_text, vec->size)); + TEST(strncmp((char *)vec_data(vec), words_text, vec->size) == 0, + "%p@%lu == %p@%lu", (char *)vec_data(vec), vec->size, words_text, + strlen(words_text)); TEST_PASSED(); sys_free(&system); } -void vec_test2(void) +void vec_test_substr(void) { sys_t system = {0}; sys_init(&system); @@ -60,8 +61,8 @@ void vec_test2(void) vec_append(as_vec(lvec), text + test.start, test.size); TEST(as_vec(lvec)->size > size, "%lu > %lu", as_vec(lvec)->size, size); TEST(strncmp((char *)vec_data(as_vec(lvec)), substr.data, substr.size) == 0, - "%d", - strncmp((char *)vec_data(as_vec(lvec)), substr.data, substr.size)); + "%p@%lu == %p@%lu", (char *)vec_data(as_vec(lvec)), as_vec(lvec)->size, + substr.data, substr.size); } TEST_PASSED(); @@ -69,8 +70,8 @@ void vec_test2(void) } const test_fn TESTS_VEC[] = { - MAKE_TEST_FN(vec_test1), - MAKE_TEST_FN(vec_test2), + MAKE_TEST_FN(vec_test_concat), + MAKE_TEST_FN(vec_test_substr), }; const test_suite_t VEC_SUITE = {