From 920343eed752a059396eab7a8663fcde246c0948 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 31 Jan 2008 23:42:50 +0000 Subject: 2008-01-31 Joel Sherrill * 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. --- testsuites/psxtests/psxfatal01/.cvsignore | 2 ++ testsuites/psxtests/psxfatal01/Makefile.am | 27 ++++++++++++++++++++ testsuites/psxtests/psxfatal01/psxfatal01.scn | 1 + testsuites/psxtests/psxfatal01/testcase.h | 36 +++++++++++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 testsuites/psxtests/psxfatal01/.cvsignore create mode 100644 testsuites/psxtests/psxfatal01/Makefile.am create mode 100644 testsuites/psxtests/psxfatal01/psxfatal01.scn create mode 100644 testsuites/psxtests/psxfatal01/testcase.h (limited to 'testsuites/psxtests/psxfatal01') diff --git a/testsuites/psxtests/psxfatal01/.cvsignore b/testsuites/psxtests/psxfatal01/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/psxtests/psxfatal01/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/psxtests/psxfatal01/Makefile.am b/testsuites/psxtests/psxfatal01/Makefile.am new file mode 100644 index 0000000000..fc04980ea6 --- /dev/null +++ b/testsuites/psxtests/psxfatal01/Makefile.am @@ -0,0 +1,27 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = psxfatal01.exe +psxfatal01_exe_SOURCES = ../psxfatal_support/init.c ../psxfatal_support/system.h testcase.h + +dist_rtems_tests_DATA = psxfatal01.scn + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +psxfatal01_exe_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxfatal01_exe_OBJECTS) $(psxfatal01_exe_LDADD) +LINK_LIBS = $(psxfatal01_exe_LDLIBS) + +psxfatal01.exe$(EXEEXT): $(psxfatal01_exe_OBJECTS) $(psxfatal01_exe_DEPENDENCIES) + @rm -f psxfatal01.exe$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtests/psxfatal01/psxfatal01.scn b/testsuites/psxtests/psxfatal01/psxfatal01.scn new file mode 100644 index 0000000000..5314230233 --- /dev/null +++ b/testsuites/psxtests/psxfatal01/psxfatal01.scn @@ -0,0 +1 @@ +Fatal error (POSIX API Init thread create failure - NULL entry) hit diff --git a/testsuites/psxtests/psxfatal01/testcase.h b/testsuites/psxtests/psxfatal01/testcase.h new file mode 100644 index 0000000000..01ab0b6836 --- /dev/null +++ b/testsuites/psxtests/psxfatal01/testcase.h @@ -0,0 +1,36 @@ +/* + * Classic API Init task create failure + * + * $Id$ + */ + +#include + +/* + * 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[] = { + { NULL, /* bad thread entry */ + 0 + } +}; + +#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 - NULL entry" +#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_POSIX_API +#define FATAL_ERROR_EXPECTED_IS_INTERNAL TRUE +#define FATAL_ERROR_EXPECTED_ERROR EFAULT + +void force_error() +{ + /* we will not run this far */ +} -- cgit v1.2.3