summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/spfatal24/testcase.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-08-23 08:27:34 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-08-23 08:27:34 +0000
commit83636b5802c9ab50d1a19e2b186c864ad54f93b6 (patch)
treef73837fd155e88819ff0ddc1d4e8dfc9d8477086 /testsuites/sptests/spfatal24/testcase.h
parent2010-08-23 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-83636b5802c9ab50d1a19e2b186c864ad54f93b6.tar.bz2
2010-08-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
* spfatal24/.cvsignore, spfatal24/Makefile.am, spfatal24/spfatal24.doc, spfatal24/spfatal24.scn, spfatal24/testcase.h, spfatal25/.cvsignore, spfatal25/Makefile.am, spfatal25/spfatal25.doc, spfatal25/spfatal25.scn, spfatal25/testcase.h: New files. * Makefile.am, configure.ac: Reflect changes above.
Diffstat (limited to 'testsuites/sptests/spfatal24/testcase.h')
-rw-r--r--testsuites/sptests/spfatal24/testcase.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/testsuites/sptests/spfatal24/testcase.h b/testsuites/sptests/spfatal24/testcase.h
new file mode 100644
index 0000000000..883b87aa23
--- /dev/null
+++ b/testsuites/sptests/spfatal24/testcase.h
@@ -0,0 +1,34 @@
+/*
+ * COPYRIGHT (c) 1989-2010.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <rtems/gxx_wrappers.h>
+
+#define FATAL_ERROR_TEST_NAME "GXX KEY ADD FAILURE"
+#define FATAL_ERROR_DESCRIPTION "GXX KEY ADD FAILURE"
+#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_CORE
+#define FATAL_ERROR_EXPECTED_IS_INTERNAL TRUE
+#define FATAL_ERROR_EXPECTED_ERROR INTERNAL_ERROR_GXX_KEY_ADD_FAILED
+
+void force_error()
+{
+ void *alloc_ptr = NULL;
+ Heap_Information_block info;
+ __gthread_key_t key = 0;
+ bool ok = false;
+
+ ok = rtems_workspace_get_information( &info );
+ rtems_test_assert( ok );
+
+ ok = rtems_workspace_allocate( info.Free.largest - 4, &alloc_ptr );
+ rtems_test_assert( ok );
+
+ rtems_gxx_getspecific( key );
+}