diff --git a/src/kernel/include/ttest.h b/src/kernel/include/ttest.h index 79a9df8..1f79d9c 100644 --- a/src/kernel/include/ttest.h +++ b/src/kernel/include/ttest.h @@ -27,16 +27,18 @@ extern tt_test tt_tests[]; #define ASSERT_EQUAL(type, pf, lhs, rhs) do { \ type tt_lhs = (type)(lhs); \ type tt_rhs = (type)(rhs); \ - if(tt_lhs == tt_rhs) return; \ + if(tt_lhs != tt_rhs) { \ TT_FAIL("Expected <%" pf "> got <%" pf ">", tt_rhs, tt_lhs); \ exit(1); \ + } \ }while(0); #define ASSERT_NOT_EQUAL(type, pf, lhs, rhs) do { \ type tt_lhs = (type)(lhs); \ type tt_rhs = (type)(rhs); \ - if(tt_lhs != tt_rhs) return; \ + if(tt_lhs == tt_rhs) { \ TT_FAIL("Got <%" pf "> but expected anything else", tt_rhs); \ exit(1); \ + } \ }while(0); #define ASSERT_STRN(lhs, rhs, n) do { \ @@ -46,10 +48,12 @@ extern tt_test tt_tests[]; memcpy(tt_lhs, (lhs), tt_n); \ memcpy(tt_rhs, (rhs), tt_n); \ tt_rhs[tt_n] = tt_lhs[tt_n] = '\0'; \ - if(!(strncmp(tt_lhs, tt_rhs, tt_n))) {free(tt_lhs); free(tt_rhs); return;} \ + if(strncmp(tt_lhs, tt_rhs, tt_n)) { \ TT_FAIL("Expected <%s> got <%s>\n", tt_rhs, tt_lhs); \ free(tt_lhs); free(tt_rhs); \ exit(1); \ + } \ + free(tt_lhs); free(tt_rhs); \ }while(0); #define TEST(name, body) void ttt_##name() { tt_current_test = #name; if(tt_before) tt_before(); body } diff --git a/ttest b/ttest index cc229df..19798ee 100755 --- a/ttest +++ b/ttest @@ -14,7 +14,7 @@ main() echo "tt_test tt_tests[] = {${tests}0};" >> $suite.c test_exec=`mktemp` - compiler_output=`cc $suite.c -o $test_exec -ggdb -I $dir/include 2>&1` + compiler_output=`cc $suite.c -o $test_exec -ggdb -I $dir/include -DTTEST 2>&1` compiler_status=$? echo -e "\x1b[35m$suite\x1b[0m"