test.h
v1.1.0
Published
A minimalistic test harness for c code.
Downloads
10
Readme
test.h
A minimalistic test harness for c code.
Usage
#include "test.h"
BEGIN_TEST();
#define true 1
#define false 0
void test_bools()
{
ASSERT(1 == true);
ASSERT(0 == false);
}
void test_ints()
{
ASSERT(1 == 1);
ASSERT(0 == 1);
}
int main(void)
{
TEST(bools);
TEST(ints);
TEST_REPORT();
return TEST_RESULT();
}Output:
# Testing bools
[OK] 1 == true
[OK] 0 == false
# Testing ints
[OK] 1 == 1
[FAIL] 0 == 1 (at line 17)
# Result
[OK] 3
[FAIL] 1Api
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
expristrueprint out message and increment counter for successful tests - If
exprisfalseprint 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
