+ * \author 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:
+ *
+ * \code
+ * int module_testSetup(void)
+ * int module_testRun(void)
+ * int module_testTearDown(void)
+ * \endcode
+ *
+ * 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:
+ * \code
+ * #if UNIT_TEST
+ * #include <whatuneed.h>
+ * #include <whatuneed.c>
+ * #include <...>
+ *
+ * TEST_MAIN(module);
+ * #endif
+ * \endcode
+ *
+ * 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.