[rtems commit] sppartition_err01: Remove dead parts, reduce, and clean up.

Joel Sherrill joel at rtems.org
Sat Jan 4 17:02:45 UTC 2014


Module:    rtems
Branch:    master
Commit:    7132d3d4982b6bed5867055e6b860ab646749217
Changeset: http://git.rtems.org/rtems/commit/?id=7132d3d4982b6bed5867055e6b860ab646749217

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Sat Jan  4 11:04:51 2014 -0600

sppartition_err01: Remove dead parts, reduce, and clean up.

Also fix naming issues.

---

 testsuites/sptests/sppartition_err01/Makefile.am   |   18 +-
 testsuites/sptests/sppartition_err01/delay.c       |   29 --
 testsuites/sptests/sppartition_err01/init.c        |  356 ++++++++++++++++----
 testsuites/sptests/sppartition_err01/isr.c         |   28 --
 testsuites/sptests/sppartition_err01/screen11.c    |  323 ------------------
 testsuites/sptests/sppartition_err01/sp09.doc      |   30 --
 testsuites/sptests/sppartition_err01/sp09.scn      |  245 --------------
 .../sppartition_err01/sppartition_err01.doc        |   25 ++
 .../sppartition_err01/sppartition_err01.scn        |   25 ++
 testsuites/sptests/sppartition_err01/system.h      |  106 +------
 testsuites/sptests/sppartition_err01/task1.c       |   34 --
 testsuites/sptests/sppartition_err01/task2.c       |   49 ---
 testsuites/sptests/sppartition_err01/task3.c       |   54 ---
 testsuites/sptests/sppartition_err01/task4.c       |   51 ---
 14 files changed, 356 insertions(+), 1017 deletions(-)

diff --git a/testsuites/sptests/sppartition_err01/Makefile.am b/testsuites/sptests/sppartition_err01/Makefile.am
index ef581f4..0412aa7 100644
--- a/testsuites/sptests/sppartition_err01/Makefile.am
+++ b/testsuites/sptests/sppartition_err01/Makefile.am
@@ -1,11 +1,9 @@
 
-rtems_tests_PROGRAMS = sp09
-sp09_SOURCES = init.c delay.c \
-    screen11.c task1.c task2.c task3.c task4.c \
-    system.h
+rtems_tests_PROGRAMS = sppartition_err01
+sppartition_err01_SOURCES = init.c system.h
 
-dist_rtems_tests_DATA = sp09.scn
-dist_rtems_tests_DATA += sp09.doc
+dist_rtems_tests_DATA = sppartition_err01.scn
+dist_rtems_tests_DATA += sppartition_err01.doc
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
 include $(top_srcdir)/../automake/compile.am
@@ -14,11 +12,11 @@ include $(top_srcdir)/../automake/leaf.am
 
 AM_CPPFLAGS += -I$(top_srcdir)/../support/include
 
-LINK_OBJS = $(sp09_OBJECTS)
-LINK_LIBS = $(sp09_LDLIBS)
+LINK_OBJS = $(sppartition_err01_OBJECTS)
+LINK_LIBS = $(sppartition_err01_LDLIBS)
 
-sp09$(EXEEXT): $(sp09_OBJECTS) $(sp09_DEPENDENCIES)
-	@rm -f sp09$(EXEEXT)
+sppartition_err01$(EXEEXT): $(sppartition_err01_OBJECTS) $(sppartition_err01_DEPENDENCIES)
+	@rm -f sppartition_err01$(EXEEXT)
 	$(make-exe)
 
 include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/sppartition_err01/delay.c b/testsuites/sptests/sppartition_err01/delay.c
deleted file mode 100644
index 2469941..0000000
--- a/testsuites/sptests/sppartition_err01/delay.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*  Delayed_routine
- *
- *  This routine is used as the timer routine for Timer Manager tests.
- *
- *  Input parameters:
- *    ignored - this parameter is ignored
- *
- *  Output parameters:  NONE
- *
- *  COPYRIGHT (c) 1989-1999.
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-rtems_timer_service_routine Delayed_routine(
-  rtems_id  ignored_id,
-  void     *ignored_address
-)
-{
-}
diff --git a/testsuites/sptests/sppartition_err01/init.c b/testsuites/sptests/sppartition_err01/init.c
index 8af9baf..a5e85db 100644
--- a/testsuites/sptests/sppartition_err01/init.c
+++ b/testsuites/sptests/sppartition_err01/init.c
@@ -1,5 +1,5 @@
 /*
- *  COPYRIGHT (c) 1989-2009.
+ *  COPYRIGHT (c) 1989-2013.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -14,93 +14,327 @@
 #define CONFIGURE_INIT
 #include "system.h"
 
-rtems_task Init(
-  rtems_task_argument argument
-)
-{
-  rtems_status_code status;
+uint32_t Other_Memory;
 
-  puts( "\n\n*** TEST 9 ***" );
+TEST_EXTERN rtems_name Partition_name[ 2 ]; /* array of partition names */
+TEST_EXTERN rtems_id   Partition_id[ 2 ];   /* array of partition ids */
 
-  Task_name[ 1 ]       =  rtems_build_name( 'T', 'A', '1', ' ' );
-  Task_name[ 2 ]       =  rtems_build_name( 'T', 'A', '2', ' ' );
-  Task_name[ 3 ]       =  rtems_build_name( 'T', 'A', '3', ' ' );
-  Task_name[ 4 ]       =  rtems_build_name( 'T', 'A', '4', ' ' );
-  Task_name[ 5 ]       =  rtems_build_name( 'T', 'A', '5', ' ' );
-  Task_name[ 6 ]       =  rtems_build_name( 'T', 'A', '6', ' ' );
-  Task_name[ 7 ]       =  rtems_build_name( 'T', 'A', '7', ' ' );
-  Task_name[ 8 ]       =  rtems_build_name( 'T', 'A', '8', ' ' );
-  Task_name[ 9 ]       =  rtems_build_name( 'T', 'A', '9', ' ' );
-  Task_name[ 10 ]      =  rtems_build_name( 'T', 'A', 'A', ' ' );
+TEST_EXTERN uint8_t   Partition_good_area[256] CPU_STRUCTURE_ALIGNMENT;
+#define Partition_bad_area (void *) 0x00000005
 
-  Semaphore_name[ 1 ]  =  rtems_build_name( 'S', 'M', '1', ' ' );
-  Semaphore_name[ 2 ]  =  rtems_build_name( 'S', 'M', '2', ' ' );
-  Semaphore_name[ 3 ]  =  rtems_build_name( 'S', 'M', '3', ' ' );
+void test_partition_errors(void);
 
-  Queue_name[ 1 ]      =  rtems_build_name( 'M', 'Q', '1', ' ' );
-  Queue_name[ 2 ]      =  rtems_build_name( 'M', 'Q', '2', ' ' );
+void test_partition_errors(void)
+{
+  void              *buffer_address_1;
+  void              *buffer_address_2;
+  void              *buffer_address_3;
+  rtems_status_code  status;
+  size_t             size;
+  rtems_id           junk_id;
 
   Partition_name[ 1 ]  =  rtems_build_name( 'P', 'T', '1', ' ' );
 
-  Port_name[ 1 ]       =  rtems_build_name( 'D', 'P', '1', ' ' );
+  status = rtems_partition_create(
+    0,
+    Partition_good_area,
+    128,
+    40,
+    RTEMS_DEFAULT_ATTRIBUTES,
+    &junk_id
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_NAME,
+    "rtems_partition_create with illegal name"
+  );
+  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_NAME" );
 
-  Period_name[ 1 ]     =  rtems_build_name( 'T', 'M', '1', ' ' );
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    Partition_good_area,
+    0,
+    71,
+    RTEMS_DEFAULT_ATTRIBUTES,
+    &junk_id
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_SIZE,
+    "rtems_partition_create with illegal length"
+  );
+  puts( "TA1 - rtems_partition_create - length - RTEMS_INVALID_SIZE" );
 
-  /* priority of 0 error */
-  status = rtems_task_create(
-     Task_name[1],
-     0,
-     RTEMS_MINIMUM_STACK_SIZE,
-     RTEMS_DEFAULT_MODES,
-     RTEMS_DEFAULT_ATTRIBUTES,
-     &Task_id[ 1 ]
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    Partition_good_area,
+    128,
+    0,
+    RTEMS_DEFAULT_ATTRIBUTES,
+    &junk_id
   );
   fatal_directive_status(
     status,
-    RTEMS_INVALID_PRIORITY,
-    "rtems_task_create with illegal priority"
+    RTEMS_INVALID_SIZE,
+    "rtems_partition_create with illegal buffer size"
   );
-  puts( "INIT - rtems_task_create - priority of 0 - RTEMS_INVALID_PRIORITY" );
+  puts( "TA1 - rtems_partition_create - buffer size - RTEMS_INVALID_SIZE" );
 
-  /* priority > 255 error */
-  status = rtems_task_create(
-     Task_name[1],
-     257,
-     RTEMS_MINIMUM_STACK_SIZE,
-     RTEMS_DEFAULT_MODES,
-     RTEMS_DEFAULT_ATTRIBUTES,
-     &Task_id[ 1 ]
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    Partition_good_area,
+    128,
+    256,
+    RTEMS_DEFAULT_ATTRIBUTES,
+    &junk_id
   );
   fatal_directive_status(
     status,
-    RTEMS_INVALID_PRIORITY,
-    "rtems_task_create with illegal priority"
+    RTEMS_INVALID_SIZE,
+    "rtems_partition_create with buffer_size > length"
   );
   puts(
-    "INIT - rtems_task_create - priority too high - RTEMS_INVALID_PRIORITY"
+    "TA1 - rtems_partition_create - length < buffer size - RTEMS_INVALID_SIZE"
+  );
+
+  /*
+   * Attempt to create a partition with a buffer size that is not large
+   * enough to account for the overhead.
+   */
+  puts(
+    "TA1 - rtems_partition_create - buffer size < overhead - RTEMS_INVALID_SIZE"
   );
+#define SIZEOF_CHAIN_NODE 2 * sizeof(void *)
+  for ( size=0 ; size < SIZEOF_CHAIN_NODE ; size++) {
+    status = rtems_partition_create(
+      Partition_name[ 1 ],
+      Partition_good_area,
+      size,
+      256,
+      RTEMS_DEFAULT_ATTRIBUTES,
+      &junk_id
+    );
+    if ( status != RTEMS_INVALID_SIZE )
+      printf( "ERROR when size == %zu\n", size );
 
-  status = rtems_task_create(
-    Task_name[ 1 ],
-    4,
-    RTEMS_MINIMUM_STACK_SIZE * 3,
-    RTEMS_DEFAULT_MODES,
+    fatal_directive_status(
+      status,
+      RTEMS_INVALID_SIZE,
+      "rtems_partition_create with buffer_size > length"
+    );
+  }
+
+  /*
+   *  The check for an object being global is only made if
+   *  multiprocessing is enabled.
+   */
+
+#if defined(RTEMS_MULTIPROCESSING)
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    Partition_good_area,
+    128,
+    64,
+    RTEMS_GLOBAL,
+    &junk_id
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_MP_NOT_CONFIGURED,
+    "rtems_partition_create of global"
+  );
+#endif
+  puts( "TA1 - rtems_partition_create - RTEMS_MP_NOT_CONFIGURED" );
+
+#if defined(_C3x) || defined(_C4x)
+  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS - SKIPPED" );
+#else
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    Partition_bad_area,
+    128,
+    64,
+    RTEMS_GLOBAL,
+    &junk_id
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ADDRESS,
+    "rtems_partition_create with bad address"
+  );
+  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS" );
+#endif
+
+#if defined(_C3x) || defined(_C4x)
+  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_SIZE - SKIPPED" );
+#else
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    Partition_good_area,
+    128,
+    35,
     RTEMS_DEFAULT_ATTRIBUTES,
-    &Task_id[ 1 ]
+    &junk_id
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_SIZE,
+    "rtems_partition_create with unaligned buffer_size"
   );
-  directive_failed( status, "rtems_task_create of TA1" );
+  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_SIZE" );
+#endif
 
-  status = rtems_task_restart( Task_id[ 1 ], 0 );
+  status = rtems_partition_delete( 100 );
   fatal_directive_status(
     status,
-    RTEMS_INCORRECT_STATE,
-    "rtems_task_restart of DORMANT task"
+    RTEMS_INVALID_ID,
+    "rtems_partition_delete with illegal id"
   );
-  puts( "INIT - rtems_task_restart - RTEMS_INCORRECT_STATE" );
+  puts( "TA1 - rtems_partition_delete - unknown RTEMS_INVALID_ID" );
+
+  status = rtems_partition_delete( rtems_build_id( 1, 1, 1, 256 ) );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_partition_delete with illegal id"
+  );
+  puts( "TA1 - rtems_partition_delete - local RTEMS_INVALID_ID" );
+
+  /* get bad address */
+  status = rtems_partition_get_buffer( 100, NULL );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ADDRESS,
+    "rtems_partition_get_buffer with NULL param"
+  );
+  puts( "TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ADDRESS" );
+
+  /* get bad Id */
+  status = rtems_partition_get_buffer( 100, &buffer_address_1 );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_partition_get_buffer with illegal id"
+  );
+  puts( "TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ID" );
+
+  status = rtems_partition_ident( 0, RTEMS_SEARCH_ALL_NODES, &junk_id );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_NAME,
+    "rtems_partition_ident with illegal name"
+  );
+  puts( "TA1 - rtems_partition_ident - RTEMS_INVALID_NAME" );
+
+  status = rtems_partition_return_buffer( 100, buffer_address_1 );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_partition_return_buffer with illegal id"
+  );
+  puts( "TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ID" );
+
+  /* create bad area */
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    NULL,
+    128,
+    64,
+    RTEMS_DEFAULT_ATTRIBUTES,
+    &junk_id
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ADDRESS,
+    "rtems_partition_return_buffer with NULL area"
+  );
+  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS" );
+
+  /* create OK */
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    Partition_good_area,
+    128,
+    64,
+    RTEMS_DEFAULT_ATTRIBUTES,
+    &Partition_id[ 1 ]
+  );
+  directive_failed( status, "rtems_partition_create" );
+  puts( "TA1 - rtems_partition_create - RTEMS_SUCCESSFUL" );
+
+  status = rtems_partition_create(
+    Partition_name[ 1 ],
+    Partition_good_area,
+    128,
+    32,
+    RTEMS_DEFAULT_ATTRIBUTES,
+    &junk_id
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_TOO_MANY,
+    "rtems_partition_create of too many"
+  );
+  puts( "TA1 - rtems_partition_create - RTEMS_TOO_MANY" );
+
+  status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_1 );
+  directive_failed( status, "rtems_partition_get_buffer");
+  puts( "TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL" );
+
+  status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_2 );
+  directive_failed( status, "rtems_partition_get_buffer" );
+  puts( "TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL" );
+
+  status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_3 );
+  fatal_directive_status(
+    status,
+    RTEMS_UNSATISFIED,
+    "rtems_partition_get_buffer unsatisfied"
+  );
+  puts( "TA1 - rtems_partition_get_buffer - RTEMS_UNSATISFIED" );
+
+  status = rtems_partition_delete( Partition_id[ 1 ] );
+  fatal_directive_status(
+    status,
+    RTEMS_RESOURCE_IN_USE,
+    "rtems_partition_delete with buffers in use"
+  );
+  puts( "TA1 - rtems_partition_delete - RTEMS_RESOURCE_IN_USE" );
+
+  status = rtems_partition_return_buffer(
+    Partition_id[ 1 ],
+    &Other_Memory
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ADDRESS,
+    "rtems_partition_return_buffer with buffer address out of partition"
+  );
+  puts(
+    "TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ADDRESS - out of range"
+  );
+
+  status = rtems_partition_return_buffer(
+    Partition_id[ 1 ],
+    &Partition_good_area[ 7 ]
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ADDRESS,
+    "rtems_partition_return_buffer with buffer address not on boundary"
+  );
+  puts_nocr( "TA1 - rtems_partition_return_buffer - " );
+  puts     ( "RTEMS_INVALID_ADDRESS - not on boundary");
+}
+
+rtems_task Init(
+  rtems_task_argument argument
+)
+{
+  puts( "\n\n*** TEST PARTITION ERROR 01 ***" );
 
-  status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
-  directive_failed( status, "rtems_task_start of TA1" );
+  test_partition_errors();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  puts( "*** END OF TEST PARTITION ERROR 01 ***" );
+  rtems_test_exit( 0 );
 }
diff --git a/testsuites/sptests/sppartition_err01/isr.c b/testsuites/sptests/sppartition_err01/isr.c
deleted file mode 100644
index 31c7ab4..0000000
--- a/testsuites/sptests/sppartition_err01/isr.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*  Service_routine
- *
- *  This routine is used as the timer routine for Interrupt Manager tests.
- *
- *  Input parameters:
- *    ignored - this parameter is ignored
- *
- *  Output parameters:  NONE
- *
- *  COPYRIGHT (c) 1989-1999.
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-rtems_isr Service_routine(
-  rtems_vector_number ignored
-)
-{
-}
diff --git a/testsuites/sptests/sppartition_err01/screen11.c b/testsuites/sptests/sppartition_err01/screen11.c
deleted file mode 100644
index 29309ee..0000000
--- a/testsuites/sptests/sppartition_err01/screen11.c
+++ /dev/null
@@ -1,323 +0,0 @@
-/*  Screen11
- *
- *  This routine generates error screen 11 for test 9.
- *
- *  Input parameters:  NONE
- *
- *  Output parameters:  NONE
- *
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-uint32_t Other_Memory;
-
-void Screen11()
-{
-  void              *buffer_address_1;
-  void              *buffer_address_2;
-  void              *buffer_address_3;
-  rtems_status_code  status;
-  size_t             size;
-
-  status = rtems_partition_create(
-    0,
-    Partition_good_area,
-    128,
-    40,
-    RTEMS_DEFAULT_ATTRIBUTES,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_NAME,
-    "rtems_partition_create with illegal name"
-  );
-  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_NAME" );
-
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    Partition_good_area,
-    0,
-    71,
-    RTEMS_DEFAULT_ATTRIBUTES,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_SIZE,
-    "rtems_partition_create with illegal length"
-  );
-  puts( "TA1 - rtems_partition_create - length - RTEMS_INVALID_SIZE" );
-
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    Partition_good_area,
-    128,
-    0,
-    RTEMS_DEFAULT_ATTRIBUTES,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_SIZE,
-    "rtems_partition_create with illegal buffer size"
-  );
-  puts( "TA1 - rtems_partition_create - buffer size - RTEMS_INVALID_SIZE" );
-
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    Partition_good_area,
-    128,
-    256,
-    RTEMS_DEFAULT_ATTRIBUTES,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_SIZE,
-    "rtems_partition_create with buffer_size > length"
-  );
-  puts(
-    "TA1 - rtems_partition_create - length < buffer size - RTEMS_INVALID_SIZE"
-  );
-
-  /*
-   * Attempt to create a partition with a buffer size that is not large
-   * enough to account for the overhead.
-   */
-  puts(
-    "TA1 - rtems_partition_create - buffer size < overhead - RTEMS_INVALID_SIZE"
-  );
-#define SIZEOF_CHAIN_NODE 2 * sizeof(void *)
-  for ( size=0 ; size < SIZEOF_CHAIN_NODE ; size++) {
-    status = rtems_partition_create(
-      Partition_name[ 1 ],
-      Partition_good_area,
-      size,
-      256,
-      RTEMS_DEFAULT_ATTRIBUTES,
-      &Junk_id
-    );
-    if ( status != RTEMS_INVALID_SIZE )
-      printf( "ERROR when size == %zu\n", size );
-
-    fatal_directive_status(
-      status,
-      RTEMS_INVALID_SIZE,
-      "rtems_partition_create with buffer_size > length"
-    );
-  }
-
-  /*
-   *  The check for an object being global is only made if
-   *  multiprocessing is enabled.
-   */
-
-#if defined(RTEMS_MULTIPROCESSING)
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    Partition_good_area,
-    128,
-    64,
-    RTEMS_GLOBAL,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_MP_NOT_CONFIGURED,
-    "rtems_partition_create of global"
-  );
-#endif
-  puts( "TA1 - rtems_partition_create - RTEMS_MP_NOT_CONFIGURED" );
-
-#if defined(_C3x) || defined(_C4x)
-  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS - SKIPPED" );
-#else
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    Partition_bad_area,
-    128,
-    64,
-    RTEMS_GLOBAL,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ADDRESS,
-    "rtems_partition_create with bad address"
-  );
-  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS" );
-#endif
-
-#if defined(_C3x) || defined(_C4x)
-  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_SIZE - SKIPPED" );
-#else
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    Partition_good_area,
-    128,
-    35,
-    RTEMS_DEFAULT_ATTRIBUTES,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_SIZE,
-    "rtems_partition_create with unaligned buffer_size"
-  );
-  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_SIZE" );
-#endif
-
-  status = rtems_partition_delete( 100 );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ID,
-    "rtems_partition_delete with illegal id"
-  );
-  puts( "TA1 - rtems_partition_delete - unknown RTEMS_INVALID_ID" );
-
-  status = rtems_partition_delete( rtems_build_id( 1, 1, 1, 256 ) );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ID,
-    "rtems_partition_delete with illegal id"
-  );
-  puts( "TA1 - rtems_partition_delete - local RTEMS_INVALID_ID" );
-
-  /* get bad address */
-  status = rtems_partition_get_buffer( 100, NULL );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ADDRESS,
-    "rtems_partition_get_buffer with NULL param"
-  );
-  puts( "TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ADDRESS" );
-
-  /* get bad Id */
-  status = rtems_partition_get_buffer( 100, &buffer_address_1 );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ID,
-    "rtems_partition_get_buffer with illegal id"
-  );
-  puts( "TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ID" );
-
-  status = rtems_partition_ident( 0, RTEMS_SEARCH_ALL_NODES, &Junk_id );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_NAME,
-    "rtems_partition_ident with illegal name"
-  );
-  puts( "TA1 - rtems_partition_ident - RTEMS_INVALID_NAME" );
-
-  status = rtems_partition_return_buffer( 100, buffer_address_1 );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ID,
-    "rtems_partition_return_buffer with illegal id"
-  );
-  puts( "TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ID" );
-
-  /* create bad area */
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    NULL,
-    128,
-    64,
-    RTEMS_DEFAULT_ATTRIBUTES,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ADDRESS,
-    "rtems_partition_return_buffer with NULL area"
-  );
-  puts( "TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS" );
-
-  /* create OK */
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    Partition_good_area,
-    128,
-    64,
-    RTEMS_DEFAULT_ATTRIBUTES,
-    &Partition_id[ 1 ]
-  );
-  directive_failed( status, "rtems_partition_create" );
-  puts( "TA1 - rtems_partition_create - RTEMS_SUCCESSFUL" );
-
-  status = rtems_partition_create(
-    Partition_name[ 1 ],
-    Partition_good_area,
-    128,
-    32,
-    RTEMS_DEFAULT_ATTRIBUTES,
-    &Junk_id
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_TOO_MANY,
-    "rtems_partition_create of too many"
-  );
-  puts( "TA1 - rtems_partition_create - RTEMS_TOO_MANY" );
-
-  status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_1 );
-  directive_failed( status, "rtems_partition_get_buffer");
-  puts( "TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL" );
-
-  status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_2 );
-  directive_failed( status, "rtems_partition_get_buffer" );
-  puts( "TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL" );
-
-  status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_3 );
-  fatal_directive_status(
-    status,
-    RTEMS_UNSATISFIED,
-    "rtems_partition_get_buffer unsatisfied"
-  );
-  puts( "TA1 - rtems_partition_get_buffer - RTEMS_UNSATISFIED" );
-
-  status = rtems_partition_delete( Partition_id[ 1 ] );
-  fatal_directive_status(
-    status,
-    RTEMS_RESOURCE_IN_USE,
-    "rtems_partition_delete with buffers in use"
-  );
-  puts( "TA1 - rtems_partition_delete - RTEMS_RESOURCE_IN_USE" );
-
-  status = rtems_partition_return_buffer(
-    Partition_id[ 1 ],
-    &Other_Memory
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ADDRESS,
-    "rtems_partition_return_buffer with buffer address out of partition"
-  );
-  puts(
-    "TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ADDRESS - out of range"
-  );
-
-  status = rtems_partition_return_buffer(
-    Partition_id[ 1 ],
-    &Partition_good_area[ 7 ]
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ADDRESS,
-    "rtems_partition_return_buffer with buffer address not on boundary"
-  );
-  puts_nocr( "TA1 - rtems_partition_return_buffer - " );
-  puts     ( "RTEMS_INVALID_ADDRESS - not on boundary");
-}
diff --git a/testsuites/sptests/sppartition_err01/sp09.doc b/testsuites/sptests/sppartition_err01/sp09.doc
deleted file mode 100644
index 31e7620..0000000
--- a/testsuites/sptests/sppartition_err01/sp09.doc
+++ /dev/null
@@ -1,30 +0,0 @@
-#  COPYRIGHT (c) 1989-1999.
-#  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:  test9
-
-directives:
-  tm_tick, t_resume, t_setpri, t_setreg, t_start, t_suspend, tm_wkafter,
-  tm_wkwhen, ev_receive, ev_send, sm_create, sm_delete, sm_ident,
-  sm_p, sm_v, q_broadcast, q_create, q_delete, q_ident, q_receive,
-  q_send, q_urgent, as_catch, as_send, as_return, pt_create, pt_delete,
-  pt_getbug, pt_ident, pt_retbuf, de_close, de_cntrl, de_init, de_open,
-  de_read, de_write
-
-concepts:
-
-  a.  Verifies all error codes returned by the executive in single
-      processor configurations.
-
-  b.  Verifies error conditions in the following kernel routines or macros:
-        _Ck_date_time, _Expired, _Q_submit, _Get_mnodes, _Get_node,
-        _Free_mem, _Get_mem, _Valid_block, _Set_tcb, _Set_resource,
-        _In_range, _On_boundary
diff --git a/testsuites/sptests/sppartition_err01/sp09.scn b/testsuites/sptests/sppartition_err01/sp09.scn
deleted file mode 100644
index ce1512c..0000000
--- a/testsuites/sptests/sppartition_err01/sp09.scn
+++ /dev/null
@@ -1,245 +0,0 @@
-*** TEST 9 ***
-INIT - rtems_task_create - priority of 0 - RTEMS_INVALID_PRIORITY
-INIT - rtems_task_create - priority too high - RTEMS_INVALID_PRIORITY
-INIT - rtems_task_restart - RTEMS_INCORRECT_STATE
-TA1 - rtems_task_is_suspended - RTEMS_INVALID_ID
-TA1 - rtems_task_delete - RTEMS_INVALID_ID
-TA1 - rtems_task_get_note - RTEMS_INVALID_ADDRESS
-TA1 - rtems_task_get_note - RTEMS_INVALID_NUMBER
-TA1 - rtems_task_get_note - RTEMS_INVALID_ID
-TA1 - rtems_task_get_note - RTEMS_INVALID_ID
-TA1 - rtems_task_ident - RTEMS_INVALID_ADDRESS
-TA1 - rtems_task_ident - current task RTEMS_SUCCESSFUL
-TA1 - rtems_task_ident - global RTEMS_INVALID_NAME
-TA1 - rtems_task_ident - local RTEMS_INVALID_NAME
-TA1 - rtems_task_ident - RTEMS_INVALID_NODE
-TA1 - rtems_task_restart - RTEMS_INVALID_ID
-TA1 - rtems_task_resume - RTEMS_INVALID_ID
-TA1 - rtems_task_resume - RTEMS_INCORRECT_STATE
-TA1 - rtems_task_set_priority - RTEMS_INVALID_ADDRESS
-TA1 - rtems_task_set_priority - RTEMS_INVALID_PRIORITY
-TA1 - rtems_task_set_priority - RTEMS_INVALID_ID
-TA1 - rtems_task_set_note - RTEMS_INVALID_NUMBER
-TA1 - rtems_task_set_note - RTEMS_INVALID_ID
-TA1 - rtems_task_start - RTEMS_INVALID_ID
-TA1 - rtems_task_start - RTEMS_INCORRECT_STATE
-TA1 - rtems_task_suspend - RTEMS_INVALID_ID
-TA1 - rtems_task_mode - RTEMS_INVALID_ADDRESS
-<pause - screen 2>
-TA1 - rtems_clock_get_tod - RTEMS_INVALID_ADDRESS
-TA1 - rtems_clock_get_tod - RTEMS_NOT_DEFINED
-TA1 - rtems_clock_get_seconds_since_epoch - RTEMS_INVALID_ADDRESS
-TA1 - rtems_clock_get_seconds_since_epoch - RTEMS_NOT_DEFINED
-TA1 - rtems_clock_get_uptime - RTEMS_INVALID_ADDRESS
-TA1 - rtems_clock_get_uptime_timeval
-TA1 - rtems_clock_get_uptime_seconds
-TA1 - rtems_clock_get_uptime_nanoseconds
-TA1 - rtems_clock_get_tod_timeval - RTEMS_INVALID_ADDRESS
-TA1 - rtems_clock_get_tod_timeval - RTEMS_NOT_DEFINED
-TA1 - rtems_clock_set_nanoseconds_extension - RTEMS_INVALID_ADDRESS
-TA1 - rtems_clock_set - RTEMS_INVALID_ADDRESS
-TA1 - rtems_task_wake_when - RTEMS_INVALID_ADDRESS
-TA1 - rtems_task_wake_when - RTEMS_NOT_DEFINED
-TA1 - rtems_timer_fire_when - RTEMS_NOT_DEFINED
-TA1 - rtems_clock_set - 08:30:45   02/05/1987 - RTEMS_INVALID_CLOCK
-TA1 - rtems_clock_set - 08:30:45   15/05/1988 - RTEMS_INVALID_CLOCK
-TA1 - rtems_clock_set - 08:30:45   02/32/1988 - RTEMS_INVALID_CLOCK
-TA1 - rtems_clock_set - 25:30:45   02/05/1988 - RTEMS_INVALID_CLOCK
-TA1 - rtems_clock_set - 08:61:45   02/05/1988 - RTEMS_INVALID_CLOCK
-TA1 - rtems_clock_set - 08:30:61   02/05/1988 - RTEMS_INVALID_CLOCK
-TA1 - rtems_clock_set - 08:30:45   02/05/1988 - RTEMS_INVALID_CLOCK
-TA1 - rtems_clock_set - 08:30:45   02/05/1988 - RTEMS_SUCCESSFUL
-TA1 - rtems_task_wake_when - TICKINVALID - sleep about 3 seconds
-TA1 - rtems_task_wake_when - RTEMS_INVALID_ADDRESS
-TA1 - rtems_task_wake_when - TICKINVALID - woke up RTEMS_SUCCESSFUL
-TA1 - rtems_task_wake_when - 08:30:48   02/05/1961 - RTEMS_INVALID_CLOCK
-TA1 - rtems_task_wake_when - 25:30:48   02/05/1988 - RTEMS_INVALID_CLOCK
-TA1 - current time - 08:30:51   02/05/1988
-TA1 - rtems_task_wake_when - 08:30:51   01/05/1988 - RTEMS_INVALID_CLOCK
-<pause - screen 3>
-TA1 - rtems_task_create - RTEMS_INVALID_NAME
-TA1 - rtems_task_create - RTEMS_INVALID_ADDRESS
-TA1 - rtems_task_create - stack size - RTEMS_UNSATISFIED  -- SKIPPED
-TA1 - rtems_task_create - TA2 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_suspend - suspend TA2 - RTEMS_SUCCESSFUL
-TA1 - rtems_task_suspend - suspend TA2 - RTEMS_ALREADY_SUSPENDED
-TA1 - rtems_task_resume - TA2 resumed - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - TA3 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - 4 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - 5 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - 6 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - 7 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - 8 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - 9 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - 10 created - RTEMS_SUCCESSFUL
-TA1 - rtems_task_create - 11 - RTEMS_TOO_MANY
-TA1 - rtems_task_create - RTEMS_MP_NOT_CONFIGURED
-<pause - screen 4>
-TA1 - rtems_event_receive - NULL param - RTEMS_INVALID_ADDRESS
-TA1 - rtems_event_receive - RTEMS_UNSATISFIED ( all conditions )
-TA1 - rtems_event_receive - RTEMS_UNSATISFIED ( any condition )
-TA1 - rtems_event_receive - timeout in 3 seconds
-TA1 - rtems_event_receive - woke up with RTEMS_TIMEOUT
-TA1 - rtems_event_send - RTEMS_INVALID_ID
-TA1 - rtems_task_wake_after - sleep 1 second - RTEMS_SUCCESSFUL
-TA1 - rtems_clock_set - 08:30:45   02/05/1988 - RTEMS_SUCCESSFUL
-TA1 - current time - Fri Feb  5 08:30:45 1988
-
-<pause - screen 5>
-TA1 - rtems_semaphore_create - RTEMS_INVALID_NAME
-TA1 - rtems_semaphore_create - RTEMS_INVALID_ADDRESS
-TA1 - rtems_semaphore_create - 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_semaphore_create - 2 - RTEMS_SUCCESSFUL
-TA1 - rtems_semaphore_create - 3 - RTEMS_TOO_MANY
-TA1 - rtems_semaphore_create - FIFO and inherit - RTEMS_NOT_DEFINED
-TA1 - rtems_semaphore_create - FIFO and ceiling - RTEMS_NOT_DEFINED
-TA1 - rtems_semaphore_create - ceiling and inherit - RTEMS_NOT_DEFINED
-TA1 - rtems_semaphore_create - RTEMS_NOT_DEFINED
-TA1 - rtems_semaphore_create - RTEMS_INVALID_NUMBER
-TA1 - rtems_semaphore_create - RTEMS_MP_NOT_CONFIGURED
-TA1 - rtems_semaphore_delete - RTEMS_INVALID_ID
-TA1 - rtems_semaphore_delete - local RTEMS_INVALID_ID
-TA1 - rtems_semaphore_ident - global RTEMS_INVALID_NAME
-TA1 - rtems_semaphore_ident - local RTEMS_INVALID_NAME
-TA1 - rtems_semaphore_release - RTEMS_INVALID_ID
-TA1 - rtems_semaphore_flush - RTEMS_INVALID_ID
-<pause - screen 6>
-TA1 - rtems_semaphore_obtain - RTEMS_INVALID_ID
-TA1 - rtems_semaphore_obtain - got sem 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_semaphore_obtain - RTEMS_UNSATISFIED
-TA1 - rtems_semaphore_obtain - timeout in 3 seconds
-TA1 - rtems_semaphore_obtain - woke up with RTEMS_TIMEOUT
-TA1 - rtems_semaphore_release - RTEMS_NOT_OWNER_OF_RESOURCE
-TA1 - rtems_semaphore_release - RTEMS_INVALID_ID
-TA1 - rtems_task_start - start TA2 - RTEMS_SUCCESSFUL
-TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL
-TA2 - rtems_semaphore_obtain - sem 1 - RTEMS_WAIT FOREVER
-TA1 - rtems_semaphore_delete - delete sem 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_semaphore_obtain - binary semaphore
-TA1 - rtems_semaphore_delete - delete sem 2 - RTEMS_RESOURCE_IN_USE
-TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL
-TA2 - rtems_semaphore_obtain - woke up with RTEMS_OBJECT_WAS_DELETED
-TA2 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL
-TA1 - rtems_task_delete TA2 - already deleted RTEMS_INVALID_ID
-<pause - screen 7>
-TA1 - rtems_message_queue_broadcast - RTEMS_INVALID_ID
-TA1 - rtems_message_queue_create - NULL Id - RTEMS_INVALID_ADDRESS
-TA1 - rtems_message_queue_create - count = 0 - RTEMS_INVALID_NUMBER
-TA1 - rtems_message_queue_create - size = 0 - RTEMS_INVALID_SIZE
-TA1 - rtems_message_queue_create - Q 1 - RTEMS_INVALID_NAME
-TA1 - rtems_message_queue_create - Q 1 - RTEMS_MP_NOT_CONFIGURED
-TA1 - rtems_message_queue_create - Q 2 - RTEMS_UNSATISFIED
-TA1 - rtems_message_queue_create - Q 2 - RTEMS_UNSATISFIED #2
-TA1 - rtems_message_queue_create - Q 1 - 2 DEEP - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_create - Q 2 - RTEMS_TOO_MANY
-TA1 - rtems_message_queue_delete - unknown RTEMS_INVALID_ID
-TA1 - rtems_message_queue_delete - local RTEMS_INVALID_ID
-TA1 - rtems_message_queue_ident - RTEMS_INVALID_NAME
-TA1 - rtems_message_queue_get_number_pending - RTEMS_INVALID_ADDRESS
-TA1 - rtems_message_queue_get_number_pending - RTEMS_INVALID_ID
-TA1 - rtems_message_queue_flush - RTEMS_INVALID_ADDRESS
-TA1 - rtems_message_queue_flush - RTEMS_INVALID_ID
-TA1 - rtems_message_queue_receive - RTEMS_INVALID_ID
-TA1 - rtems_message_queue_receive - Q 1 - RTEMS_INVALID_ADDRESS NULL buffer
-TA1 - rtems_message_queue_receive - Q 1 - RTEMS_INVALID_ADDRESS NULL size
-TA1 - rtems_message_queue_receive - Q 1 - RTEMS_UNSATISFIED
-TA1 - rtems_message_queue_receive - Q 1 - timeout in 3 seconds
-TA1 - rtems_message_queue_receive - Q 1 - woke up with RTEMS_TIMEOUT
-TA1 - rtems_message_queue_send - NULL buffer - RTEMS_INVALID_ADDRESS
-TA1 - rtems_message_queue_send - RTEMS_INVALID_ID
-TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_TOO_MANY
-TA1 - rtems_message_queue_urgent - NULL buffer - RTEMS_INVALID_ADDRESS
-TA1 - rtems_message_queue_urgent - RTEMS_INVALID_ID
-TA1 - rtems_message_queue_broadcast - NULL buffer - RTEMS_INVALID_ADDRESS
-TA1 - rtems_message_queue_broadcast - too large - RTEMS_INVALID_SIZE
-TA1 - rtems_message_queue_broadcast - NULL count - RTEMS_INVALID_ADDRESS
-<pause - screen 8>
-TA1 - rtems_message_queue_delete - Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_create - Q 1 - 2 DEEP - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_TOO_MANY
-TA1 - rtems_message_queue_delete - Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_create - Q 1 - 3 DEEP - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_send - BUFFER 4 TO Q 1 - RTEMS_TOO_MANY
-TA1 - rtems_message_queue_delete - Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_message_queue_create - Q 1 - 3 DEEP - RTEMS_SUCCESSFUL
-TA1 - rtems_task_start - start TA3 - RTEMS_SUCCESSFUL
-TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL
-TA3 - rtems_message_queue_receive - Q 1 - RTEMS_WAIT FOREVER
-TA1 - rtems_message_queue_delete - delete Q 1 - RTEMS_SUCCESSFUL
-TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL
-TA3 - rtems_message_queue_receive - woke up with RTEMS_OBJECT_WAS_DELETED
-TA3 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL
-<pause - screen 9>
-TA1 - rtems_interrupt_catch - RTEMS_INVALID_NUMBER
-TA1 - rtems_interrupt_catch - bad handler RTEMS_INVALID_ADDRESS
-TA1 - rtems_interrupt_catch - old isr RTEMS_INVALID_ADDRESS
-TA1 - rtems_signal_send - RTEMS_INVALID_ID
-TA1 - rtems_signal_send - RTEMS_INVALID_NUMBER
-TA1 - rtems_signal_send - RTEMS_NOT_DEFINED
-TA1 - rtems_port_create - RTEMS_INVALID_NAME
-TA1 - rtems_port_create - bad range - RTEMS_INVALID_ADDRESS
-TA1 - rtems_port_create - null id - RTEMS_INVALID_ADDRESS
-TA1 - rtems_port_create - RTEMS_TOO_MANY
-TA1 - rtems_port_delete - RTEMS_INVALID_ID
-TA1 - rtems_port_ident - RTEMS_INVALID_NAME
-TA1 - rtems_port_external_to_internal - RTEMS_INVALID_ADDRESS
-TA1 - rtems_port_internal_to_external - RTEMS_INVALID_ID
-TA1 - rtems_port_external_to_internal - RTEMS_INVALID_ADDRESS
-<pause - screen 10>
-TA1 - rtems_rate_monotonic_create - RTEMS_INVALID_ADDRESS
-TA1 - rtems_rate_monotonic_create - RTEMS_INVALID_NAME
-TA1 - rtems_rate_monotonic_create - RTEMS_SUCCESSFUL
-TA1 - rtems_rate_monotonic_create - RTEMS_TOO_MANY
-TA1 - rtems_rate_monotonic_ident - RTEMS_INVALID_NAME
-TA1 - rtems_rate_monotonic_period - RTEMS_INVALID_ID
-TA1 - rtems_rate_monotonic_period - local RTEMS_INVALID_ID
-TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_NOT_DEFINED
-TA1 - rtems_rate_monotonic_period - 100 ticks - RTEMS_SUCCESSFUL
-TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_SUCCESSFUL
-TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_TIMEOUT
-TA1 - rtems_rate_monotonic_get_statistics - RTEMS_INVALID_ADDRESS
-TA1 - rtems_rate_monotonic_get_status - RTEMS_INVALID_ADDRESS
-TA1 - rtems_rate_monotonic_get_status - RTEMS_INVALID_ID
-TA1 - rtems_rate_monotonic_cancel - RTEMS_INVALID_ID
-TA1 - rtems_rate_monotonic_cancel - local RTEMS_INVALID_ID
-TA1 - rtems_rate_monotonic_cancel - RTEMS_SUCCESSFUL
-TA1 - rtems_rate_monotonic_period - 5 ticks - RTEMS_TIMEOUT
-TA1 - yielding to TA4
-TA4 - rtems_rate_monotonic_cancel - RTEMS_NOT_OWNER_OF_RESOURCE
-TA4 - rtems_rate_monotonic_period - RTEMS_NOT_OWNER_OF_RESOURCE
-TA4 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL
-TA1 - rtems_rate_monotonic_delete - RTEMS_INVALID_ID
-TA1 - rtems_rate_monotonic_delete - local RTEMS_INVALID_ID
-TA1 - rtems_rate_monotonic_delete - RTEMS_SUCCESSFUL
-<pause - screen 11>
-TA1 - rtems_partition_create - RTEMS_INVALID_NAME
-TA1 - rtems_partition_create - length - RTEMS_INVALID_SIZE
-TA1 - rtems_partition_create - buffer size - RTEMS_INVALID_SIZE
-TA1 - rtems_partition_create - length < buffer size - RTEMS_INVALID_SIZE
-TA1 - rtems_partition_create - buffer size < overhead - RTEMS_INVALID_SIZE
-TA1 - rtems_partition_create - RTEMS_MP_NOT_CONFIGURED
-TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS
-TA1 - rtems_partition_create - RTEMS_INVALID_SIZE
-TA1 - rtems_partition_delete - unknown RTEMS_INVALID_ID
-TA1 - rtems_partition_delete - local RTEMS_INVALID_ID
-TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ADDRESS
-TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ID
-TA1 - rtems_partition_ident - RTEMS_INVALID_NAME
-TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ID
-TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS
-TA1 - rtems_partition_create - RTEMS_SUCCESSFUL
-TA1 - rtems_partition_create - RTEMS_TOO_MANY
-TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL
-TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL
-TA1 - rtems_partition_get_buffer - RTEMS_UNSATISFIED
-TA1 - rtems_partition_delete - RTEMS_RESOURCE_IN_USE
-TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ADDRESS - out of range
-TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ADDRESS - not on boundary
-*** END OF TEST 9 ***
diff --git a/testsuites/sptests/sppartition_err01/sppartition_err01.doc b/testsuites/sptests/sppartition_err01/sppartition_err01.doc
new file mode 100644
index 0000000..c9fd20b
--- /dev/null
+++ b/testsuites/sptests/sppartition_err01/sppartition_err01.doc
@@ -0,0 +1,25 @@
+#  COPYRIGHT (c) 1989-2013.
+#  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:  partition error #1 
+
+directives:
+  rtems_partition_create
+  rtems_partition_delete
+  rtems_partition_get_buffer
+  rtems_partition_ident
+  rtems_partition_ret_buffer
+
+concepts:
+
++ Verifies all partition manager error codes returned in single
+  processor configurations.
+
diff --git a/testsuites/sptests/sppartition_err01/sppartition_err01.scn b/testsuites/sptests/sppartition_err01/sppartition_err01.scn
new file mode 100644
index 0000000..2b010ee
--- /dev/null
+++ b/testsuites/sptests/sppartition_err01/sppartition_err01.scn
@@ -0,0 +1,25 @@
+*** TEST PARTITION ERROR 01 ***
+TA1 - rtems_partition_create - RTEMS_INVALID_NAME
+TA1 - rtems_partition_create - length - RTEMS_INVALID_SIZE
+TA1 - rtems_partition_create - buffer size - RTEMS_INVALID_SIZE
+TA1 - rtems_partition_create - length < buffer size - RTEMS_INVALID_SIZE
+TA1 - rtems_partition_create - buffer size < overhead - RTEMS_INVALID_SIZE
+TA1 - rtems_partition_create - RTEMS_MP_NOT_CONFIGURED
+TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS
+TA1 - rtems_partition_create - RTEMS_INVALID_SIZE
+TA1 - rtems_partition_delete - unknown RTEMS_INVALID_ID
+TA1 - rtems_partition_delete - local RTEMS_INVALID_ID
+TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ADDRESS
+TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ID
+TA1 - rtems_partition_ident - RTEMS_INVALID_NAME
+TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ID
+TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS
+TA1 - rtems_partition_create - RTEMS_SUCCESSFUL
+TA1 - rtems_partition_create - RTEMS_TOO_MANY
+TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL
+TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL
+TA1 - rtems_partition_get_buffer - RTEMS_UNSATISFIED
+TA1 - rtems_partition_delete - RTEMS_RESOURCE_IN_USE
+TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ADDRESS - out of range
+TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ADDRESS - not on boundary
+*** END OF TEST PARTITION ERROR 01 ***
diff --git a/testsuites/sptests/sppartition_err01/system.h b/testsuites/sptests/sppartition_err01/system.h
index 15ea9e9..b835d27 100644
--- a/testsuites/sptests/sppartition_err01/system.h
+++ b/testsuites/sptests/sppartition_err01/system.h
@@ -1,9 +1,5 @@
-/*  system.h
- *
- *  This include file contains information that is included in every
- *  function in the test set.
- *
- *  COPYRIGHT (c) 1989-1999.
+/*
+ *  COPYRIGHT (c) 1989-2013.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -13,111 +9,15 @@
 
 #include <tmacros.h>
 
-/* functions */
-
-rtems_task Init(
-  rtems_task_argument argument
-);
-
-rtems_timer_service_routine Delayed_routine(
-  rtems_id  ignored_id,
-  void     *ignored_address
-);
-
-rtems_task Task_1(
-  rtems_task_argument argument
-);
-
-rtems_task Task_2(
-  rtems_task_argument argument
-);
-
-rtems_task Task_3(
-  rtems_task_argument argument
-);
-
-rtems_task Task_4(
-  rtems_task_argument argument
-);
-
-rtems_isr Service_routine(
-  rtems_vector_number ignored
-);
-
-rtems_timer_service_routine Io_during_interrupt(
-  rtems_id ignored
-);
-
-/*void Screen1( void );
-
-void Screen2( void );
-
-void Screen3( void );
-
-void Screen4( void );
-
-void Screen5( void );
-
-void Screen6( void );
-
-void Screen7( void );
-
-void Screen8( void );
-
-void Screen9( void );
-
-void Screen10( void );*/
-
-void Screen11( void );
-
-//void Screen12( void );
-
 /* configuration information */
 
 #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
 
-#define CONFIGURE_MAXIMUM_TASKS              10
-#define CONFIGURE_MAXIMUM_TIMERS              1
-#define CONFIGURE_MAXIMUM_SEMAPHORES          2
-#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES      1
+#define CONFIGURE_MAXIMUM_TASKS               1
 #define CONFIGURE_MAXIMUM_PARTITIONS          1
-#define CONFIGURE_MAXIMUM_PERIODS             1
-#define CONFIGURE_MAXIMUM_USER_EXTENSIONS     0
-#define CONFIGURE_TICKS_PER_TIMESLICE       100
 
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
 
-#define CONFIGURE_EXTRA_TASK_STACKS         (20 * RTEMS_MINIMUM_STACK_SIZE)
-
 #include <rtems/confdefs.h>
-
-/* global variables */
-
-TEST_EXTERN rtems_id   Task_id[ 11 ];       /* array of task ids */
-TEST_EXTERN rtems_name Task_name[ 11 ];     /* array of task names */
-
-TEST_EXTERN rtems_name Semaphore_name[ 4 ]; /* array of semaphore names */
-TEST_EXTERN rtems_id   Semaphore_id[ 4 ];   /* array of semaphore ids */
-
-TEST_EXTERN rtems_name Queue_name[ 3 ];     /* array of queue names */
-TEST_EXTERN rtems_id   Queue_id[ 3 ];       /* array of queue ids */
-
-TEST_EXTERN rtems_name Partition_name[ 2 ]; /* array of partition names */
-TEST_EXTERN rtems_id   Partition_id[ 2 ];   /* array of partition ids */
-
-TEST_EXTERN rtems_name Port_name[ 2 ];      /* array of port names */
-TEST_EXTERN rtems_id   Port_id[ 2 ];        /* array of port ids */
-
-TEST_EXTERN rtems_name Period_name[ 2 ];    /* array of period names */
-TEST_EXTERN rtems_id   Period_id[ 2 ];      /* array of period ids */
-
-TEST_EXTERN rtems_id   Junk_id;             /* id used to return errors */
-
-#define Internal_port_area (void *) 0x00001000
-#define External_port_area (void *) 0x00002000
-
-TEST_EXTERN uint8_t   Partition_good_area[256] CPU_STRUCTURE_ALIGNMENT;
-#define Partition_bad_area (void *) 0x00000005
-
 /* end of include file */
diff --git a/testsuites/sptests/sppartition_err01/task1.c b/testsuites/sptests/sppartition_err01/task1.c
deleted file mode 100644
index 98a0692..0000000
--- a/testsuites/sptests/sppartition_err01/task1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*  Task_1
- *
- *  This task generates all possible errors for the RTEMS executive.
- *
- *  Input parameters:
- *    argument - task argument
- *
- *  Output parameters:  NONE
- *
- *  COPYRIGHT (c) 1989-1999.
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-rtems_task Task_1(
-  rtems_task_argument argument
-)
-{
-  rtems_test_pause_and_screen_number( 11 );
-
-  Screen11();
-
-  puts( "*** END OF TEST 9 ***" );
-  rtems_test_exit( 0 );
-}
diff --git a/testsuites/sptests/sppartition_err01/task2.c b/testsuites/sptests/sppartition_err01/task2.c
deleted file mode 100644
index e863081..0000000
--- a/testsuites/sptests/sppartition_err01/task2.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*  Task_2
- *
- *  This routine serves as a test task.  Its only purpose is to generate the
- *  error where a semaphore is deleted while a task is waiting for it.
- *
- *  Input parameters:
- *    argument - task argument
- *
- *  Output parameters:  NONE
- *
- *  COPYRIGHT (c) 1989-1999.
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-rtems_task Task_2(
-  rtems_task_argument argument
-)
-{
-  rtems_status_code status;
-
-  puts( "TA2 - rtems_semaphore_obtain - sem 1 - RTEMS_WAIT FOREVER" );
-  status = rtems_semaphore_obtain(
-    Semaphore_id[ 1 ],
-    RTEMS_DEFAULT_OPTIONS,
-    RTEMS_NO_TIMEOUT
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_OBJECT_WAS_DELETED,
-    "rtems_semaphore_obtain waiting to be deleted"
-  );
-  puts(
-    "TA2 - rtems_semaphore_obtain - woke up with RTEMS_OBJECT_WAS_DELETED"
-  );
-
-  puts( "TA2 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA2" );
-}
diff --git a/testsuites/sptests/sppartition_err01/task3.c b/testsuites/sptests/sppartition_err01/task3.c
deleted file mode 100644
index 1298b09..0000000
--- a/testsuites/sptests/sppartition_err01/task3.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*  Task_3
- *
- *  This routine serves as a test task.  Its only purpose in life is to
- *  generate the error where a message queue is deleted while a task
- *  is waiting there for a message.
- *
- *  Input parameters:
- *    argument - task argument
- *
- *  Output parameters:  NONE
- *
- *  COPYRIGHT (c) 1989-2007.
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-rtems_task Task_3(
-  rtems_task_argument argument
-)
-{
-  rtems_status_code status;
-  long              buffer[ 4 ];
-  size_t            size;
-
-  puts( "TA3 - rtems_message_queue_receive - Q 1 - RTEMS_WAIT FOREVER" );
-  status = rtems_message_queue_receive(
-    Queue_id[ 1 ],
-    (long (*)[4])buffer,
-    &size,
-    RTEMS_DEFAULT_OPTIONS,
-    RTEMS_NO_TIMEOUT
-  );
-  fatal_directive_status(
-    status,
-    RTEMS_OBJECT_WAS_DELETED,
-    "rtems_message_queue_receive waiting to be deleted"
-  );
-  puts(
-    "TA3 - rtems_message_queue_receive - woke up with RTEMS_OBJECT_WAS_DELETED"
-  );
-
-  puts( "TA3 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA3" );
-}
diff --git a/testsuites/sptests/sppartition_err01/task4.c b/testsuites/sptests/sppartition_err01/task4.c
deleted file mode 100644
index 73a52ea..0000000
--- a/testsuites/sptests/sppartition_err01/task4.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*  Task_4
- *
- *  This routine serves as a test task.  Its only purpose in life is to
- *  generate the error where a rate monotonic period is accessed by a
- *  task other than its creator.
- *
- *  Input parameters:
- *    argument - task argument
- *
- *  Output parameters:  NONE
- *
- *  COPYRIGHT (c) 1989-1999.
- *  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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "system.h"
-
-rtems_task Task_4(
-  rtems_task_argument argument
-)
-{
-  rtems_status_code status;
-
-  status = rtems_rate_monotonic_cancel( Period_id[ 1 ] );
-  fatal_directive_status(
-    status,
-    RTEMS_NOT_OWNER_OF_RESOURCE,
-    "rtems_rate_monotonic_cancel not the owner"
-  );
-  puts( "TA4 - rtems_rate_monotonic_cancel - RTEMS_NOT_OWNER_OF_RESOURCE" );
-
-  status = rtems_rate_monotonic_period( Period_id[ 1 ], 5 );
-  fatal_directive_status(
-    status,
-    RTEMS_NOT_OWNER_OF_RESOURCE,
-    "rtems_rate_monotonic_period not the owner"
-  );
-  puts( "TA4 - rtems_rate_monotonic_period - RTEMS_NOT_OWNER_OF_RESOURCE" );
-
-  puts( "TA4 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA4" );
-}




More information about the vc mailing list