diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-31 23:42:50 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-31 23:42:50 +0000 |
commit | 920343eed752a059396eab7a8663fcde246c0948 (patch) | |
tree | f7da5226808d719a554e0cabfb77917a5d400435 /testsuites/psxtests/psxfatal02 | |
parent | 2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-920343eed752a059396eab7a8663fcde246c0948.tar.bz2 |
2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac: New tests.
* psxfatal01/.cvsignore, psxfatal01/Makefile.am,
psxfatal01/psxfatal01.scn, psxfatal01/testcase.h,
psxfatal02/.cvsignore, psxfatal02/Makefile.am,
psxfatal02/psxfatal02.scn, psxfatal02/testcase.h,
psxfatal_support/init.c, psxfatal_support/system.h: New files.
Diffstat (limited to 'testsuites/psxtests/psxfatal02')
-rw-r--r-- | testsuites/psxtests/psxfatal02/.cvsignore | 2 | ||||
-rw-r--r-- | testsuites/psxtests/psxfatal02/Makefile.am | 27 | ||||
-rw-r--r-- | testsuites/psxtests/psxfatal02/psxfatal02.scn | 1 | ||||
-rw-r--r-- | testsuites/psxtests/psxfatal02/testcase.h | 36 |
4 files changed, 66 insertions, 0 deletions
diff --git a/testsuites/psxtests/psxfatal02/.cvsignore b/testsuites/psxtests/psxfatal02/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/psxtests/psxfatal02/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/psxtests/psxfatal02/Makefile.am b/testsuites/psxtests/psxfatal02/Makefile.am new file mode 100644 index 0000000000..c1b5008552 --- /dev/null +++ b/testsuites/psxtests/psxfatal02/Makefile.am @@ -0,0 +1,27 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = psxfatal02.exe +psxfatal02_exe_SOURCES = ../psxfatal_support/init.c ../psxfatal_support/system.h testcase.h + +dist_rtems_tests_DATA = psxfatal02.scn + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +psxfatal02_exe_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxfatal02_exe_OBJECTS) $(psxfatal02_exe_LDADD) +LINK_LIBS = $(psxfatal02_exe_LDLIBS) + +psxfatal02.exe$(EXEEXT): $(psxfatal02_exe_OBJECTS) $(psxfatal02_exe_DEPENDENCIES) + @rm -f psxfatal02.exe$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtests/psxfatal02/psxfatal02.scn b/testsuites/psxtests/psxfatal02/psxfatal02.scn new file mode 100644 index 0000000000..c6a0cea99d --- /dev/null +++ b/testsuites/psxtests/psxfatal02/psxfatal02.scn @@ -0,0 +1 @@ +Fatal error (POSIX API Init thread create failure -- no memory for stack) hit diff --git a/testsuites/psxtests/psxfatal02/testcase.h b/testsuites/psxtests/psxfatal02/testcase.h new file mode 100644 index 0000000000..09dd5b80f8 --- /dev/null +++ b/testsuites/psxtests/psxfatal02/testcase.h @@ -0,0 +1,36 @@ +/* + * Classic API Init task create failure + * + * $Id$ + */ + +#include <errno.h> + +/* + * Way too much stack space. Should generate a fatal error + * on the init task create. + */ +#define CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE +#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE 0 +posix_initialization_threads_table POSIX_Initialization_threads[] = { + { POSIX_Init, + 12 * 1024 * 1024 /* too much stack */ + } +}; + +#define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME POSIX_Initialization_threads + +#define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE \ + sizeof(CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME) / \ + sizeof(posix_initialization_threads_table) + +#define FATAL_ERROR_DESCRIPTION \ + "POSIX API Init thread create failure -- no memory for stack" +#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_POSIX_API +#define FATAL_ERROR_EXPECTED_IS_INTERNAL TRUE +#define FATAL_ERROR_EXPECTED_ERROR EAGAIN + +void force_error() +{ + /* we will not run this far */ +} |