BeRTOS
|
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. |
Utility for the test suite.
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 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.