tests: Use rtems_test_begin and rtems_test_end.

Add a tests enum and move all test banner test to the library in libmisc.

Update #3199.
This commit is contained in:
Chris Johns
2017-11-08 08:25:36 +11:00
parent a6bf052a3b
commit bcd0c06c9b
5 changed files with 126 additions and 60 deletions

View File

@@ -11,28 +11,6 @@
extern "C" {
#endif
/*
* Test states. No state string is an expected pass.
*/
#if (TEST_STATE_EXPECTED_FAIL && TEST_STATE_USER_INPUT) || \
(TEST_STATE_EXPECTED_FAIL && TEST_STATE_INDETERMINATE) || \
(TEST_STATE_EXPECTED_FAIL && TEST_STATE_BENCHMARK) || \
(TEST_STATE_USER_INPUT && TEST_STATE_INDETERMINATE) || \
(TEST_STATE_USER_INPUT && TEST_STATE_BENCHMARK) || \
(TEST_STATE_INDETERMINATE && TEST_STATE_BENCHMARK)
#error Test states must be unique
#endif
#if TEST_STATE_EXPECTED_FAIL
#define TEST_STATE_STRING "*** TEST STATE: EXPECTED-FAIL\n"
#elif TEST_STATE_USER_INPUT
#define TEST_STATE_STRING "*** TEST STATE: USER_INPUT\n"
#elif TEST_STATE_INDETERMINATE
#define TEST_STATE_STRING "*** TEST STATE: INDETERMINATE\n"
#elif TEST_STATE_BENCHMARK
#define TEST_STATE_STRING "*** TEST STATE: BENCHMARK\n"
#endif
#undef printf
#define printf(...) \
do { \
@@ -61,27 +39,8 @@ extern "C" {
do { \
} while (0)
#if defined(TEST_STATE_STRING)
#define TEST_BEGIN() \
do { \
rtems_printf( &rtems_test_printer, "\n"); \
rtems_printf( &rtems_test_printer, TEST_BEGIN_STRING ); \
rtems_printf( &rtems_test_printer, TEST_STATE_STRING ); \
} while (0)
#else
#define TEST_BEGIN() \
do { \
rtems_printf( &rtems_test_printer, "\n" ); \
rtems_printf( &rtems_test_printer, TEST_BEGIN_STRING ); \
} while (0)
#endif
#define TEST_END() \
do { \
rtems_printf( &rtems_test_printer, "\n" ); \
rtems_printf( &rtems_test_printer, TEST_END_STRING ); \
rtems_printf( &rtems_test_printer, "\n" ); \
} while (0)
#define TEST_BEGIN() rtems_test_begin(rtems_test_name, TEST_STATE)
#define TEST_END() rtems_test_end(rtems_test_name)
#ifdef __cplusplus
};