From d541ba8cc62aa1c9b3ba93999c595e50484510b1 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 23 Jul 2009 18:54:23 +0000 Subject: 2009-07-23 Joel Sherrill * Makefile.am, configure.ac: Add new tests to exercise cases where a timer is scheduled from an ISR while it is being scheduled at the task level. * spintrcritical13/.cvsignore, spintrcritical13/Makefile.am, spintrcritical13/init.c, spintrcritical13/spintrcritical13.doc, spintrcritical13/spintrcritical13.scn, spintrcritical14/.cvsignore, spintrcritical14/Makefile.am, spintrcritical14/spintrcritical14.doc, spintrcritical14/spintrcritical14.scn: New files. --- testsuites/sptests/spintrcritical14/.cvsignore | 2 ++ testsuites/sptests/spintrcritical14/Makefile.am | 31 ++++++++++++++++++++++ .../sptests/spintrcritical14/spintrcritical14.doc | 24 +++++++++++++++++ .../sptests/spintrcritical14/spintrcritical14.scn | 6 +++++ 4 files changed, 63 insertions(+) create mode 100644 testsuites/sptests/spintrcritical14/.cvsignore create mode 100644 testsuites/sptests/spintrcritical14/Makefile.am create mode 100644 testsuites/sptests/spintrcritical14/spintrcritical14.doc create mode 100644 testsuites/sptests/spintrcritical14/spintrcritical14.scn (limited to 'testsuites/sptests/spintrcritical14') diff --git a/testsuites/sptests/spintrcritical14/.cvsignore b/testsuites/sptests/spintrcritical14/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/testsuites/sptests/spintrcritical14/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/testsuites/sptests/spintrcritical14/Makefile.am b/testsuites/sptests/spintrcritical14/Makefile.am new file mode 100644 index 0000000000..2e5f897652 --- /dev/null +++ b/testsuites/sptests/spintrcritical14/Makefile.am @@ -0,0 +1,31 @@ +## +## $Id$ +## + +MANAGERS = all + +rtems_tests_PROGRAMS = spintrcritical14 +spintrcritical14_SOURCES = ../spintrcritical13/init.c \ + ../spintrcritical_support/intrcritical.c + +dist_rtems_tests_DATA = spintrcritical14.scn +dist_rtems_tests_DATA += spintrcritical14.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +spintrcritical14_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel) + +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -I$(top_srcdir)/spintrcritical_support +AM_CPPFLAGS += -DSERVER_FIRE_AFTER + +LINK_OBJS = $(spintrcritical14_OBJECTS) $(spintrcritical14_LDADD) +LINK_LIBS = $(spintrcritical14_LDLIBS) + +spintrcritical14$(EXEEXT): $(spintrcritical14_OBJECTS) $(spintrcritical14_DEPENDENCIES) + @rm -f spintrcritical14$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/sptests/spintrcritical14/spintrcritical14.doc b/testsuites/sptests/spintrcritical14/spintrcritical14.doc new file mode 100644 index 0000000000..0ba4bb765e --- /dev/null +++ b/testsuites/sptests/spintrcritical14/spintrcritical14.doc @@ -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: spintrcritical14 + +directives: + + rtems_timer_create + rtems_timer_server_fire_after + +concepts: + ++ Ensure that firing a timer from an ISR while it is being scheduled by + a thread using rtems_timer_server_fire_after works as expected. diff --git a/testsuites/sptests/spintrcritical14/spintrcritical14.scn b/testsuites/sptests/spintrcritical14/spintrcritical14.scn new file mode 100644 index 0000000000..5761303b17 --- /dev/null +++ b/testsuites/sptests/spintrcritical14/spintrcritical14.scn @@ -0,0 +1,6 @@ +*** TEST INTERRUPT CRITICAL SECTION 14 *** +Init - Trying to generate timer fire from ISR while firing +Init - Variation is: Timer Fire After +Init - There is no way for the test to know if it hits the case +Init - rtems_timer_create - OK +Support - rtems_timer_create - creating timer 1 -- cgit v1.2.3