2008-01-28 Jennifer Averett <jennifer.averett@OARcorp.com>

* Makefile.am, configure.ac: Added fatal error tests
	* spfatal01/Makefile.am, spfatal01/spfatal01.scn, spfatal01/testcase.h,
	spfatal02/Makefile.am, spfatal02/spfatal02.scn, spfatal02/testcase.h,
	spfatal03/Makefile.am, spfatal03/spfatal03.scn, spfatal03/testcase.h,
	spfatal04/Makefile.am, spfatal04/spfatal04.scn, spfatal04/testcase.h,
	spfatal05/Makefile.am, spfatal05/spfatal05.scn, spfatal05/testcase.h,
	spfatal06/Makefile.am, spfatal06/spfatal06.scn, spfatal06/testcase.h,
	spfatal07/Makefile.am, spfatal07/spfatal07.scn, spfatal07/testcase.h,
	spfatal08/Makefile.am, spfatal08/spfatal08.scn, spfatal08/testcase.h,
	spfatal09/Makefile.am, spfatal09/spfatal09.scn, spfatal09/testcase.h,
	spfatal10/Makefile.am, spfatal10/spfatal10.scn, spfatal10/testcase.h,
	spfatal_support/init.c, spfatal_support/system.h: New files.
This commit is contained in:
Jennifer Averett
2008-01-28 19:19:35 +00:00
parent def9eef5f7
commit 5fdb1e7bc0
35 changed files with 995 additions and 2 deletions

View File

@@ -0,0 +1,27 @@
##
## $Id$
##
MANAGERS = all
rtems_tests_PROGRAMS = spfatal01.exe
spfatal01_exe_SOURCES = ../spfatal_support/init.c ../spfatal_support/system.h testcase.h
dist_rtems_tests_DATA = spfatal01.scn
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
spfatal01_exe_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(spfatal01_exe_OBJECTS) $(spfatal01_exe_LDADD)
LINK_LIBS = $(spfatal01_exe_LDLIBS)
spfatal01.exe$(EXEEXT): $(spfatal01_exe_OBJECTS) $(spfatal01_exe_DEPENDENCIES)
@rm -f spfatal01.exe$(EXEEXT)
$(make-exe)
include $(top_srcdir)/../automake/local.am

View File

@@ -0,0 +1 @@
Fatal error (Classic API Init task create failure) hit

View File

@@ -0,0 +1,42 @@
/*
* Classic API Init task create failure
*
* $Id$
*/
/*
* Way too much stack space. Should generate a fatal error
* on the init task create.
*/
#define CONFIGURE_HAS_OWN_INIT_TASK_TABLE
#define CONFIGURE_INIT_TASK_STACK_SIZE 0
rtems_initialization_tasks_table Initialization_tasks[] = {
{ rtems_build_name('I', 'N', 'I', ' '),
64 * 1024 * 1024,
1,
RTEMS_DEFAULT_ATTRIBUTES,
Init,
RTEMS_DEFAULT_MODES,
0
}
};
#define CONFIGURE_INIT_TASK_TABLE Initialization_tasks
#define CONFIGURE_INIT_TASK_TABLE_SIZE \
sizeof(CONFIGURE_INIT_TASK_TABLE) / sizeof(rtems_initialization_tasks_table)
#define FATAL_ERROR_DESCRIPTION "Classic API Init task create failure"
#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_RTEMS_API
#define FATAL_ERROR_EXPECTED_IS_INTERNAL TRUE
#define FATAL_ERROR_EXPECTED_ERROR RTEMS_UNSATISFIED
void force_error()
{
/*
* Case 2: Null entry
* Case 3: semaphore_create
* _Thread_Disable_dispatch
* semaphore_obtain
*/
/* we will not run this far */
}