kalamay / mu

Micro unit test framework for C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mu

mu is a micro framework for unit testing c code. The entire framework is a single header file.

Example

#include "mu.h"

static void
test_math (void)
{
	mu_assert_int_eq (1 + 2, 3);
}

static void
test_bad_math (void)
{
	mu_assert_int_eq (1 + 2, 4);
}

int
main (void)
{
	mu_init ("math");
	mu_run (test_math);
	mu_run (test_bad_math);
	return 0;
}
$ gcc -o test-math test-math.c
$ ./test-math
test-math.c:12 '1 + 2==4' failed: 1 + 2=3, 4=4
    math: failed 1 of 2 assertions
$ MU_SKIP=test_bad_math ./test-math
    math: passed 1 assertion

Environment Variable Options

Option Description
MU_NOFORK=1 Do not fork when running test functions. Without forking, the first error will halt the test.
MU_VERBOSE=1 Print verbose information about the test being run.
MU_SKIP=name[:name] Do not run tests in the list.
MU_RUN=name[:name] Only run tests in the list.

Pre-processor Macro Options

Option Description
MU_SKIP_SUMMARY Do not print any pass/fail summary mesages.
MU_SKIP_PASS_SUMMARY Do not print any pass summary mesages.
MU_SKIP_FAIL_SUMMARY Do not print any fail summary mesages.
MU_OUT Output FILE * object. Defaults to stderr.

About

Micro unit test framework for C

License:BSD 2-Clause "Simplified" License


Languages

Language:C 100.0%