From 28fda6279b82c07a673a8ebf875b77bb69695f1a Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Mon, 5 Dec 2016 14:53:54 +1100 Subject: testsuite: Add test states to the testsuit configuration files. Change the testsuite configuration files to hold state information about a test. The states are: exclude - Do not build the test expected-fail - The test is expected to fail indeterminate - The test may pass or may fail A message is printed just after the test's BEGIN message to indicate there is a special state for the test. No state message means the test is expected to pass. This support requires tests are correctly written to the use standard support to begin and end a test. --- testsuites/support/include/buffer_test_io.h | 32 ++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'testsuites/support/include') diff --git a/testsuites/support/include/buffer_test_io.h b/testsuites/support/include/buffer_test_io.h index ac73352768..1e396b7dcf 100644 --- a/testsuites/support/include/buffer_test_io.h +++ b/testsuites/support/include/buffer_test_io.h @@ -20,6 +20,20 @@ extern "C" { /* #define TESTS_BUFFER_OUTPUT */ /* #define TESTS_USE_PRINTK */ +/* + * Test states. No state string is an expected pass. + */ +#if TEST_STATE_EXPECTED_FAIL && \ + TEST_INDETERMINATE_FAIL + #error Test states must be unique +#endif + +#if TEST_STATE_EXPECTED_FAIL + #define TEST_STATE_STRING "*** TEST STATE: EXPECTED-FAIL\n" +#elif TEST_INDETERMINATE_FAIL + #define TEST_STATE_STRING "*** TEST STATE: INDETERMINATE\n" +#endif + /* * USE PRINTK TO MINIMIZE SIZE */ @@ -55,7 +69,11 @@ extern "C" { do { \ } while (0) - #define TEST_BEGIN() printk(TEST_BEGIN_STRING) + #if defined(TEST_STATE_STRING) + #define TEST_BEGIN() printk(TEST_BEGIN_STRING); printk(TEST_STATE_STRING); + #else + #define TEST_BEGIN() printk(TEST_BEGIN_STRING) + #endif #define TEST_END() printk(TEST_END_STRING) @@ -157,7 +175,11 @@ extern "C" { fflush(stdout); \ } while (0) - #define TEST_BEGIN() printf(TEST_BEGIN_STRING) + #if defined(TEST_STATE_STRING) + #define TEST_BEGIN() printf(TEST_BEGIN_STRING); printf(TEST_STATE_STRING) + #else + #define TEST_BEGIN() printf(TEST_BEGIN_STRING) + #endif #define TEST_END() printf(TEST_END_STRING) @@ -206,7 +228,11 @@ extern "C" { fflush(stdout); \ } while (0) - #define TEST_BEGIN() fiprintf( stderr, TEST_BEGIN_STRING) + #if defined(TEST_STATE_STRING) + #define TEST_BEGIN() fiprintf(stderr, TEST_BEGIN_STRING); fiprintf(stderr, TEST_STATE_STRING) + #else + #define TEST_BEGIN() fiprintf(stderr, TEST_BEGIN_STRING) + #endif #define TEST_END() fiprintf( stderr, TEST_END_STRING) -- cgit v1.2.3