test.h
A minimalistic test harness for c code.
Usage
void void int
Output:
# Testing bools
[OK] 1 == true
[OK] 0 == false
# Testing ints
[OK] 1 == 1
[FAIL] 0 == 1 (at line 17)
# Result
[OK] 3
[FAIL] 1
Api
Exposes the following set of macros:
BEGIN_TEST();
Call this macro at file scope. This sets up test counters.
TEST(function);
Print out a text and call function test_function()
.
ASSERT(expr);
Evaluate an expression. Does the following:
- Evaluate
expr
- If
expr
istrue
print out message and increment counter for successful tests - If
expr
isfalse
print out message (using__LINE__
) and increment counter for failed tests
ABORT(expr);
Like ASSERT(expr)
but exits process directly. Useful if you don't want to continue testing for some reason to not end up in infinite loops etc.
TEST_REPORT();
Print out test report.
TEST_RESULT();
Return this in your main
(or use with exit()
) for proper exit code.
License
MIT