Unit tests for C ================ About ----- The `sigscheme/test-c/` directory is existing for unit testing for C. The tests are currently using our own testing framework. See test-c/README for further information. Requirements for testing framework ---------------------------------- I had tried to use the famous http://cunit.sf.net/[CUnit] at first to test SigScheme, but it did not met my requirements and needs long way to modify to fit to SigScheme. So I searched for other testing frameworks and once decided to modify http://www.cozmixng.org/~rwiki/?cmd=view;name=Cutter%3A%3AREADME.en[Cutter]. Please let me know better solutions if you know. - Written in pure C * To avoid C++-specific interferences especially stacks, frames and exceptions with GC * To allow running tests on platforms that has poor or no C++ support - Don't terminate a test even if an assertion is failed - Prints the expected and actual values when an assertion failed, as follows ---------------------------------------------------------------- ./test_format.c:64: - format ~D - expected: \<0> but was: \<2147483647> ---------------------------------------------------------------- - Standalone test runner i.e. There is no need to write the main function for each test. - Automatic testsuite configuration i.e. There is no need to register all tests into a testsuite by hand. - It can be inserted SCM_GC_PROTECTED_CALL() on each tests And some recommendations: - Small and Simple - Assertions macro names are short - Assertions have assert(expected, actual) form instead of assert(actual, expected)