diff options
Diffstat (limited to 'testsuites/sptests/spfatal11/testcase.h')
-rw-r--r-- | testsuites/sptests/spfatal11/testcase.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/testsuites/sptests/spfatal11/testcase.h b/testsuites/sptests/spfatal11/testcase.h index 055b95cc73..320d958714 100644 --- a/testsuites/sptests/spfatal11/testcase.h +++ b/testsuites/sptests/spfatal11/testcase.h @@ -9,16 +9,33 @@ */ #include <assert.h> +#include <string.h> #define FATAL_ERROR_TEST_NAME "11" -#define FATAL_ERROR_DESCRIPTION "asserting with non-NULL strings..." +#define FATAL_ERROR_DESCRIPTION "asserting with NULL strings..." #define FATAL_ERROR_EXPECTED_SOURCE RTEMS_FATAL_SOURCE_ASSERT #define FATAL_ERROR_EXPECTED_IS_INTERNAL FALSE -#define FATAL_ERROR_EXPECTED_ERROR 0 +#define FATAL_ERROR_EXPECTED_ERROR_CHECK spfatal11_is_expected_error + +#define ASSERT_FILE "testcase.h" +#define ASSERT_LINE 38 +#define ASSERT_FUNC NULL +#define ASSERT_FEXP "forced" + +static inline bool spfatal11_is_expected_error( rtems_fatal_code error ) +{ + const rtems_assert_context *assert_context = + (const rtems_assert_context *) error; + + return strcmp( assert_context->file, ASSERT_FILE ) == 0 + && assert_context->line == ASSERT_LINE + && assert_context->function == ASSERT_FUNC + && strcmp( assert_context->failed_expression, ASSERT_FEXP ) == 0; +} void force_error() { - __assert_func( __FILE__, __LINE__, NULL, "forced" ); + __assert_func( ASSERT_FILE, ASSERT_LINE, ASSERT_FUNC, ASSERT_FEXP ); /* we will not run this far */ } |