wiki:Projects/GSoC/TestingReview/CMock

Version 1 (modified by Xiaochen Pan, on Jul 6, 2012 at 11:42:33 PM) (diff)

Created page with "Cmockery is a lightweight and highly portable unit testing framework with minimum conflicts with standard C library headers. It is well suited to work for RTEMS based testing tha..."

TestingReview/CMock

Cmockery is a lightweight and highly portable unit testing framework with minimum conflicts with standard C library headers. It is well suited to work for RTEMS based testing thanks its effort to avoid relying on new features of compilers, and also its lightweight and minimum-conflict headers. It also works well for Host based tests too. Unlike CMock, Cmockery has a relatively less stringent format requirements, while it requires the tester to write the test runner and mock functions by hand, while both of which can be automatically generated by scripts in Cmock. Cmockery provides convenient interface to test for memory leaks, buffer underflow and buffer overflow, all of which would cause fatal errors for single processed RTEMS system. For mock function implementations, Cmock testers only need to define the expect input and output for certain functions in unit tests, where the mock functions are generated by ruby script according to the header files, which is convenient and easy to use. However, with Cmockery, testers need to write the mock functions by hand, which is troublesome for test automation and sometimes confusing. Cmockery provides a more detailed tests report than CMock by providing the reason for tests failures.