General Comparison

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. To write mock functions, 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 more convenient and easier than Cmockery.
  • 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.

RTEMS based Test Results

sp01 test


Because the test_rtems_task_delete test case kills itself, the test pass summary for that test case did not print.

deviceio01 test

File:Cmockery deviceio01.png?

psx01 test

File:Cmockery psx01.png?

devfs02 test

File:Cmockery devfs02.png?

psxtmbarrier01 test

File:Cmockery psxtmbarrier01.png?


=fsrofs01 test =

File:Cmockery fsrofs01.png?

=Host based Testing Result=

This is the test result:


The above result shows which test case have failed and its corresponding reason. The random style in output make this output not as convenient as CMock to parse the result.

Last modified on Jul 8, 2012 at 11:32:10 PM Last modified on Jul 8, 2012, 11:32:10 PM