From 7467542e85d1a257199c1d9d80e28e9dcffe8685 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Sat, 25 Jul 2009 01:39:45 +0000 Subject: 2009-07-24 Joel Sherrill * Makefile.am, configure.ac, sp40/Makefile.am, sp40/init.c, sp40/sp40.scn: Now verified to hit coverage cases. * sp40/sp40.doc: New file. --- testsuites/sptests/ChangeLog | 6 ++++++ testsuites/sptests/Makefile.am | 2 +- testsuites/sptests/configure.ac | 1 + testsuites/sptests/sp40/Makefile.am | 1 + testsuites/sptests/sp40/init.c | 14 ++++++++++++-- testsuites/sptests/sp40/sp40.doc | 25 +++++++++++++++++++++++++ testsuites/sptests/sp40/sp40.scn | 4 +++- 7 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 testsuites/sptests/sp40/sp40.doc diff --git a/testsuites/sptests/ChangeLog b/testsuites/sptests/ChangeLog index a2977e2d51..626f0671ff 100644 --- a/testsuites/sptests/ChangeLog +++ b/testsuites/sptests/ChangeLog @@ -1,3 +1,9 @@ +2009-07-24 Joel Sherrill + + * Makefile.am, configure.ac, sp40/Makefile.am, sp40/init.c, + sp40/sp40.scn: Now verified to hit coverage cases. + * sp40/sp40.doc: New file. + 2009-07-24 Joel Sherrill * sp40/Makefile.am, sp40/init.c, sp40/sp40.scn: Attempt to write test diff --git a/testsuites/sptests/Makefile.am b/testsuites/sptests/Makefile.am index c0355d0f9f..5b978c17d7 100644 --- a/testsuites/sptests/Makefile.am +++ b/testsuites/sptests/Makefile.am @@ -21,7 +21,7 @@ SUBDIRS = \ spintrcritical01 spintrcritical02 spintrcritical03 spintrcritical04 \ spintrcritical05 spintrcritical06 spintrcritical07 spintrcritical08 \ spintrcritical09 spintrcritical10 spintrcritical11 spintrcritical12 \ - spintrcritical13 spintrcritical14 + spintrcritical13 spintrcritical14 spintrcritical15 DIST_SUBDIRS = $(SUBDIRS) spfatal_support spintrcritical_support EXTRA_DIST = spfatal_support/init.c spfatal_support/system.h diff --git a/testsuites/sptests/configure.ac b/testsuites/sptests/configure.ac index 9b6c2a1490..7636753175 100644 --- a/testsuites/sptests/configure.ac +++ b/testsuites/sptests/configure.ac @@ -114,6 +114,7 @@ spintrcritical11/Makefile spintrcritical12/Makefile spintrcritical13/Makefile spintrcritical14/Makefile +spintrcritical15/Makefile spobjgetnext/Makefile spprintk/Makefile spsize/Makefile diff --git a/testsuites/sptests/sp40/Makefile.am b/testsuites/sptests/sp40/Makefile.am index 23fa7b120c..57c5679872 100644 --- a/testsuites/sptests/sp40/Makefile.am +++ b/testsuites/sptests/sp40/Makefile.am @@ -8,6 +8,7 @@ rtems_tests_PROGRAMS = sp40 sp40_SOURCES = init.c dist_rtems_tests_DATA = sp40.scn +dist_rtems_tests_DATA += sp40.doc include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg include $(top_srcdir)/../automake/compile.am diff --git a/testsuites/sptests/sp40/init.c b/testsuites/sptests/sp40/init.c index be0f0c87f4..e85437f188 100644 --- a/testsuites/sptests/sp40/init.c +++ b/testsuites/sptests/sp40/init.c @@ -35,6 +35,7 @@ rtems_task Init( { rtems_status_code sc; rtems_device_major_number registered; + rtems_device_major_number registered_not; puts( "\n\n*** TEST 40 ***" ); @@ -47,8 +48,17 @@ rtems_task Init( printf( "Init - Major slot returned = %d\n", (int) registered ); directive_failed( sc, "rtems_io_register_driver" ); + puts( "Init - rtems_io_register_driver - init == NULL, open != NULL OK" ); + sc = rtems_io_register_driver( 0, &test_driver, ®istered_not ); + printf( "Init - Major slot returned = %d\n", (int) registered_not ); + fatal_directive_status( + sc, + RTEMS_TOO_MANY, + "rtems_io_register_driver too many" + ); + puts( "Init - rtems_io_register_driver - used slot" ); - sc = rtems_io_register_driver( 1, &test_driver, ®istered ); + sc = rtems_io_register_driver( registered, &test_driver, ®istered ); fatal_directive_status( sc, RTEMS_RESOURCE_IN_USE, @@ -72,7 +82,7 @@ rtems_task Init( #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER /* more one more driver slot than are statically configured */ -#define CONFIGURE_MAXIMUM_DRIVERS 4 +#define CONFIGURE_MAXIMUM_DRIVERS 3 #define CONFIGURE_MAXIMUM_TASKS 1 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE diff --git a/testsuites/sptests/sp40/sp40.doc b/testsuites/sptests/sp40/sp40.doc new file mode 100644 index 0000000000..4fe3640aad --- /dev/null +++ b/testsuites/sptests/sp40/sp40.doc @@ -0,0 +1,25 @@ +# +# $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: sp40 + +directives: + + rtems_io_register_driver + +concepts: + ++ Exercise dynamic insertion of drivers until there are too many and + when inserting into a slot that is already in use. + ++ Focus on case where initialization entry is NULL and open entry is NOT NULL. diff --git a/testsuites/sptests/sp40/sp40.scn b/testsuites/sptests/sp40/sp40.scn index 365a154b29..04fe9a98d8 100644 --- a/testsuites/sptests/sp40/sp40.scn +++ b/testsuites/sptests/sp40/sp40.scn @@ -1,5 +1,7 @@ *** TEST 40 *** Init - rtems_io_register_driver - init == NULL, open != NULL OK -Init - Major slot returned = 3 +Init - Major slot returned = 2 +Init - rtems_io_register_driver - init == NULL, open != NULL OK +Init - Major slot returned = 0 Init - rtems_io_register_driver - used slot *** END OF TEST 40 *** -- cgit v1.2.3