summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/sp40
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-25 01:39:45 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-25 01:39:45 +0000
commit7467542e85d1a257199c1d9d80e28e9dcffe8685 (patch)
tree1ede8616cdeefce93ad82744a5301ed709799447 /testsuites/sptests/sp40
parent2009-07-24 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-7467542e85d1a257199c1d9d80e28e9dcffe8685.tar.bz2
2009-07-24 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac, sp40/Makefile.am, sp40/init.c, sp40/sp40.scn: Now verified to hit coverage cases. * sp40/sp40.doc: New file.
Diffstat (limited to 'testsuites/sptests/sp40')
-rw-r--r--testsuites/sptests/sp40/Makefile.am1
-rw-r--r--testsuites/sptests/sp40/init.c14
-rw-r--r--testsuites/sptests/sp40/sp40.doc25
-rw-r--r--testsuites/sptests/sp40/sp40.scn4
4 files changed, 41 insertions, 3 deletions
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, &registered_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, &registered );
+ sc = rtems_io_register_driver( registered, &test_driver, &registered );
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 ***