summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/spfatal10
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-01-27 14:02:50 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-02-12 09:31:27 +0100
commit68f36d144adfa1294f026bdf2d348c22365543fc (patch)
treecb0aa1bdd384583752af252b0c693fb0a4badc89 /testsuites/sptests/spfatal10
parentbsp/lpc32xx: Add BSP_USB_OTG_TRANSCEIVER_VBUS (diff)
downloadrtems-68f36d144adfa1294f026bdf2d348c22365543fc.tar.bz2
score: Add and use rtems_assert_context
Diffstat (limited to 'testsuites/sptests/spfatal10')
-rw-r--r--testsuites/sptests/spfatal10/testcase.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/testsuites/sptests/spfatal10/testcase.h b/testsuites/sptests/spfatal10/testcase.h
index 9af96d9637..895a0c21e5 100644
--- a/testsuites/sptests/spfatal10/testcase.h
+++ b/testsuites/sptests/spfatal10/testcase.h
@@ -9,18 +9,33 @@
*/
#include <assert.h>
-
-static const char func [] = "Init";
+#include <string.h>
#define FATAL_ERROR_TEST_NAME "10"
#define FATAL_ERROR_DESCRIPTION "asserting with non-NULL strings..."
#define FATAL_ERROR_EXPECTED_SOURCE RTEMS_FATAL_SOURCE_ASSERT
#define FATAL_ERROR_EXPECTED_IS_INTERNAL FALSE
-#define FATAL_ERROR_EXPECTED_ERROR ((rtems_fatal_code) func)
+#define FATAL_ERROR_EXPECTED_ERROR_CHECK spfatal10_is_expected_error
+
+#define ASSERT_FILE "testcase.h"
+#define ASSERT_LINE 38
+#define ASSERT_FUNC "Init"
+#define ASSERT_FEXP "forced"
+
+static inline bool spfatal10_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
+ && strcmp( assert_context->function, ASSERT_FUNC ) == 0
+ && strcmp( assert_context->failed_expression, ASSERT_FEXP ) == 0;
+}
void force_error()
{
- __assert_func( __FILE__, __LINE__, func, "forced" );
+ __assert_func( ASSERT_FILE, ASSERT_LINE, ASSERT_FUNC, ASSERT_FEXP );
/* we will not run this far */
}