2009-07-21 Joel Sherrill <joel.sherrill@OARcorp.com>

* spintrcritical10/.cvsignore, spintrcritical10/Makefile.am,
	spintrcritical10/init.c, spintrcritical10/spintrcritical10.doc,
	spintrcritical10/spintrcritical10.scn: New files.
This commit is contained in:
Joel Sherrill
2009-07-21 23:06:46 +00:00
parent 75a5abaf4a
commit 7fbe4fa1bf
6 changed files with 127 additions and 0 deletions
+6
View File
@@ -1,3 +1,9 @@
2009-07-21 Joel Sherrill <joel.sherrill@OARcorp.com>
* spintrcritical10/.cvsignore, spintrcritical10/Makefile.am,
spintrcritical10/init.c, spintrcritical10/spintrcritical10.doc,
spintrcritical10/spintrcritical10.scn: New files.
2009-07-21 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac, sp39/init.c, sp39/sp39.scn: Move
@@ -0,0 +1,2 @@
Makefile
Makefile.in
@@ -0,0 +1,29 @@
##
## $Id$
##
MANAGERS = all
rtems_tests_PROGRAMS = spintrcritical10
spintrcritical10_SOURCES = init.c ../spintrcritical_support/intrcritical.c
dist_rtems_tests_DATA = spintrcritical10.scn
dist_rtems_tests_DATA += spintrcritical10.doc
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
spintrcritical10_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
AM_CPPFLAGS += -I$(top_srcdir)/spintrcritical_support
LINK_OBJS = $(spintrcritical10_OBJECTS) $(spintrcritical10_LDADD)
LINK_LIBS = $(spintrcritical10_LDLIBS)
spintrcritical10$(EXEEXT): $(spintrcritical10_OBJECTS) $(spintrcritical10_DEPENDENCIES)
@rm -f spintrcritical10$(EXEEXT)
$(make-exe)
include $(top_srcdir)/../automake/local.am
@@ -0,0 +1,62 @@
/*
* COPYRIGHT (c) 1989-2009.
* 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$
*/
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ 1
#include <tmacros.h>
#include <intrcritical.h>
rtems_id Main_task;
rtems_task Init(
rtems_task_argument ignored
)
{
rtems_status_code sc;
rtems_event_set out;
int resets;
puts( "\n\n*** TEST INTERRUPT CRITICAL SECTION 10 ***" );
puts( "Init - Test may not be able to detect case is hit reliably" );
puts( "Init - Trying to generate timeout while blocking on event" );
Main_task = rtems_task_self();
interrupt_critical_section_test_support_initialize( NULL );
for (resets=0 ; resets< 2 ;) {
if ( interrupt_critical_section_test_support_delay() )
resets++;
interrupt_critical_section_test_support_delay();
sc = rtems_event_receive( 0x01, RTEMS_DEFAULT_OPTIONS, 1, &out );
fatal_directive_status( sc, RTEMS_TIMEOUT, "event_receive timeout" );
}
puts( "*** END OF TEST INTERRUPT CRITICAL SECTION 10 ***" );
rtems_test_exit(0);
}
/* configuration information */
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_MAXIMUM_TASKS 1
#define CONFIGURE_MAXIMUM_TIMERS 1
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_MICROSECONDS_PER_TICK 1000
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
/* global variables */
@@ -0,0 +1,24 @@
#
# $Id$
#
# COPYRIGHT (c) 1989-2009.
# 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.
#
This file describes the directives and concepts tested by this test set.
test set name: spintrcritical10
directives:
rtems_event_receive
rtems_event_send
concepts:
+ Ensure that timing out while while the task is in the process
of blocking on a thread queue works as expected.
@@ -0,0 +1,4 @@
*** TEST INTERRUPT CRITICAL SECTION 10 ***
Init - Test may not be able to detect case is hit reliably
Init - Trying to generate timeout while blocking on event
*** END OF TEST INTERRUPT CRITICAL SECTION 10 ***