BeRTOS
Defines
test.h File Reference

Utility for the test suite. More...

#include "cfg/cfg_arch.h"

Go to the source code of this file.

Defines

#define SILENT_ASSERT(str)   kputs("SILENT_ASSERT:$"str"$\n")
 Silent an assert in a test.

Detailed Description

Utility for the test suite.

Author:
Daniele Basile <asterix@develer.com>
Francesco Sacchi <batt@develer.com>

When you want to test a module that is emulable on hosted platforms, these macros come in handy. Your module_test should supply three basic functions:

 int module_testSetup(void)
 int module_testRun(void)
 int module_testTearDown(void)

All of these should return 0 if ok or a value != 0 on errors.

Then, at the end of your module_test you can write:

 #if UNIT_TEST
    #include <whatuneed.h>
    #include <whatuneed.c>
    #include <...>

    TEST_MAIN(module);
 #endif

Including directly into your module the file.c you need to run the test allows you to build and run the test compiling only one file.

To achieve this you also need a main() that is supplied by the TEST_MAIN macro. This will expand to a full main that calls, in sequence: Setup, Run and TearDown of your module.

Definition in file test.h.


Define Documentation

#define SILENT_ASSERT (   str)    kputs("SILENT_ASSERT:$"str"$\n")

Silent an assert in a test.

This is useful when we run a test and we want to test an error condition. We know that an assert will fail but this is not really an error. To ignore that we mark it with this macro, where str is the message string of the assert that we want to drop. To use this macro copy the assert log message and paste as argument of this macro. In assert message log is reported also the line number of the code that have generated the assert. In this way you can trap only the selected assert message.

Definition at line 115 of file test.h.