mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-11-05 19:07:41 +00:00
More comments + minor adjustments to the header file
This commit is contained in:
parent
d34de25f29
commit
50aee97fc2
@ -37,9 +37,13 @@
|
||||
#include "contiki.h"
|
||||
#include "unit-test.h"
|
||||
|
||||
/* Register two unit tests that will be executed by using
|
||||
the UNIT_TEST_RUN macro. */
|
||||
UNIT_TEST_REGISTER(arithmetic, "Arith ops");
|
||||
UNIT_TEST_REGISTER(string, "String ops");
|
||||
|
||||
/* arithmetic: Demonstrates a test that succeeds. The exit point will be
|
||||
the line where UNIT_TEST_END is called. */
|
||||
UNIT_TEST(arithmetic)
|
||||
{
|
||||
int a, b;
|
||||
@ -54,6 +58,8 @@ UNIT_TEST(arithmetic)
|
||||
UNIT_TEST_END();
|
||||
}
|
||||
|
||||
/* string: Demonstrates a test that fails. The exit point will be
|
||||
the line where the call to UNIT_TEST_ASSERT fails. */
|
||||
UNIT_TEST(string)
|
||||
{
|
||||
char str1[] = "A";
|
||||
|
@ -44,10 +44,14 @@ typedef enum unit_test_result {
|
||||
unit_test_success = 1
|
||||
} unit_test_result_t;
|
||||
|
||||
/**
|
||||
* The unit_test structure describes the results of a unit test. Each
|
||||
* registered unit test statically allocates an object of this type.
|
||||
*/
|
||||
typedef struct unit_test {
|
||||
const char * const descr;
|
||||
const char * const test_file;
|
||||
unit_test_result_t result;
|
||||
const char *test_file;
|
||||
unsigned exit_line;
|
||||
rtimer_clock_t start;
|
||||
rtimer_clock_t end;
|
||||
@ -63,7 +67,7 @@ typedef struct unit_test {
|
||||
* \param name The name of the unit test.
|
||||
* \param descr A string that briefly describes the unit test.
|
||||
*/
|
||||
#define UNIT_TEST_REGISTER(name, descr) static unit_test_t unit_test_##name = {descr, unit_test_success, __FILE__, 0, 0, 0}
|
||||
#define UNIT_TEST_REGISTER(name, descr) static unit_test_t unit_test_##name = {descr, __FILE__, unit_test_success, 0, 0, 0}
|
||||
|
||||
/**
|
||||
* Define a unit test.
|
||||
@ -117,14 +121,17 @@ typedef struct unit_test {
|
||||
*
|
||||
* \param name The name of the unit test.
|
||||
*/
|
||||
#define UNIT_TEST_PRINT_REPORT(name) UNIT_TEST_PRINT_FUNCTION(&unit_test_##name);
|
||||
#define UNIT_TEST_PRINT_REPORT(name) UNIT_TEST_PRINT_FUNCTION(&unit_test_##name)
|
||||
|
||||
/**
|
||||
* Execute a unit test.
|
||||
* Execute a unit test and print a report on the results.
|
||||
*
|
||||
* \param name The name of the unit test.
|
||||
*/
|
||||
#define UNIT_TEST_RUN(name) unit_test_function_##name(&unit_test_##name); UNIT_TEST_PRINT_REPORT(name);
|
||||
#define UNIT_TEST_RUN(name) do { \
|
||||
unit_test_function_##name(&unit_test_##name); \
|
||||
UNIT_TEST_PRINT_REPORT(name); \
|
||||
} while(0)
|
||||
|
||||
/**
|
||||
* Report that a unit test succeeded.
|
||||
@ -167,6 +174,7 @@ typedef struct unit_test {
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
/* The default print function. */
|
||||
void unit_test_print_report(const unit_test_t *utp);
|
||||
|
||||
#endif /* !UNIT_TEST_H */
|
||||
|
Loading…
Reference in New Issue
Block a user