Index: testsuites/sptests/ChangeLog
===================================================================
--- testsuites/sptests/ChangeLog	(revision c87593f0b01781996c466e340871f91d87a3d9d8)
+++ testsuites/sptests/ChangeLog	(revision 403c5077be7841a39d6f196cf118264d5edf0a94)
@@ -1,2 +1,10 @@
+2008-01-31	Joel Sherrill <joel.sherrill@OARcorp.com>
+
+	* sp09/screen01.c, sp09/sp09.scn: Add more bad thread Id cases.
+	* sp40/init.c, sp40/sp40.scn: Add message to say test is TBD.
+	* sp41/sp41.scn: Now has content.
+	* sp43/init.c, sp43/sp43.scn: Enhanced to increase coverage of
+	Object Services recently added to API.
+
 2008-01-29	Joel Sherrill <joel.sherrill@oarcorp.com>
 
Index: testsuites/sptests/sp09/screen01.c
===================================================================
--- testsuites/sptests/sp09/screen01.c	(revision c87593f0b01781996c466e340871f91d87a3d9d8)
+++ testsuites/sptests/sp09/screen01.c	(revision 403c5077be7841a39d6f196cf118264d5edf0a94)
@@ -7,5 +7,5 @@
  *  Output parameters:  NONE
  *
- *  COPYRIGHT (c) 1989-1999.
+ *  COPYRIGHT (c) 1989-2008.
  *  On-Line Applications Research Corporation (OAR).
  *
@@ -50,5 +50,9 @@
   puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" );
 
-  status = rtems_task_get_note( _RTEMS_tasks_Information.maximum_id, RTEMS_NOTEPAD_LAST, &notepad_value );
+  status = rtems_task_get_note(
+    _RTEMS_tasks_Information.maximum_id,
+    RTEMS_NOTEPAD_LAST,
+    &notepad_value
+  );
   fatal_directive_status(
     status,
@@ -68,6 +72,29 @@
     "rtems_task_get_note with illegal id"
   );
-  puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" );
-
+
+  status = rtems_task_get_note(
+    rtems_build_id( OBJECTS_CLASSIC_API, 2, 1, 1 ),
+    RTEMS_NOTEPAD_LAST,
+    &notepad_value
+  );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_task_get_note with non-task ID"
+  );
+
+  puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID (no tasks in API)" );
+  status = rtems_task_get_note(
+    rtems_build_id( OBJECTS_ITRON_API, OBJECTS_ITRON_TASKS, 1, 1 ),
+    RTEMS_NOTEPAD_LAST,
+    &notepad_value
+  );
+  #ifdef RTEMS_ITRON_API
+    directive_failed( status,
+  #else
+    fatal_directive_status( status, RTEMS_INVALID_ID,
+  #endif
+    "rtems_task_get_note with no tasks in API"
+  );
 
   status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &self_id );
Index: testsuites/sptests/sp09/sp09.scn
===================================================================
--- testsuites/sptests/sp09/sp09.scn	(revision c87593f0b01781996c466e340871f91d87a3d9d8)
+++ testsuites/sptests/sp09/sp09.scn	(revision 403c5077be7841a39d6f196cf118264d5edf0a94)
@@ -6,5 +6,5 @@
 TA1 - rtems_task_get_note - RTEMS_INVALID_ID
 TA1 - rtems_task_get_note - RTEMS_INVALID_ID
-TA1 - rtems_task_get_note - RTEMS_INVALID_ID
+TA1 - rtems_task_get_note - RTEMS_INVALID_ID (no tasks in API)
 TA1 - rtems_task_ident - current task RTEMS_SUCCESSFUL
 TA1 - rtems_task_ident - global RTEMS_INVALID_NAME
Index: testsuites/sptests/sp40/init.c
===================================================================
--- testsuites/sptests/sp40/init.c	(revision c87593f0b01781996c466e340871f91d87a3d9d8)
+++ testsuites/sptests/sp40/init.c	(revision 403c5077be7841a39d6f196cf118264d5edf0a94)
@@ -21,4 +21,6 @@
   puts( "\n\n*** TEST 40 ***" );
 
+  puts( "TBD - Write test case matching this description" );
+
   /*
    *  Register two drivers to fill up the table
Index: testsuites/sptests/sp40/sp40.scn
===================================================================
--- testsuites/sptests/sp40/sp40.scn	(revision c87593f0b01781996c466e340871f91d87a3d9d8)
+++ testsuites/sptests/sp40/sp40.scn	(revision 403c5077be7841a39d6f196cf118264d5edf0a94)
@@ -0,0 +1,3 @@
+*** TEST 40 ***
+TBD - Write test case matching this description
+*** END OF TEST 40 ***
Index: testsuites/sptests/sp41/sp41.scn
===================================================================
--- testsuites/sptests/sp41/sp41.scn	(revision c87593f0b01781996c466e340871f91d87a3d9d8)
+++ testsuites/sptests/sp41/sp41.scn	(revision 403c5077be7841a39d6f196cf118264d5edf0a94)
@@ -0,0 +1,4 @@
+*** TEST 41 ***
+Release from ISR hitting synchronization point has occurred
+Release from ISR (with timeout) hitting synchronization point has occurred
+Run multiple times in attempt to hit threadq timeout synchronization point
Index: testsuites/sptests/sp43/init.c
===================================================================
--- testsuites/sptests/sp43/init.c	(revision c87593f0b01781996c466e340871f91d87a3d9d8)
+++ testsuites/sptests/sp43/init.c	(revision 403c5077be7841a39d6f196cf118264d5edf0a94)
@@ -23,4 +23,7 @@
 #undef rtems_object_id_get_index
 #undef rtems_object_id_get_node
+
+rtems_id         main_task;
+rtems_name       main_name;
 
 void print_class_info(
@@ -45,4 +48,26 @@
 }
 
+void change_name(
+  const char *newName
+)
+{
+  rtems_status_code    status;
+  char                 name[ 5 ];
+  char                *ptr;
+
+  puts( "rtems_object_set_name - change name of init task" );
+  status = rtems_object_set_name( main_task, newName );
+  directive_failed( status, "rtems_object_set_name" );
+
+  status = rtems_object_get_classic_name( main_task, &main_name );
+  directive_failed( status, "rtems_object_get_classic_name" );
+  put_name( main_name, FALSE );
+  puts( " - name returned by rtems_object_get_classic_name" );
+
+  ptr = rtems_object_get_name( main_task, 5, name );
+  rtems_test_assert(ptr != NULL);
+  printf( "rtems_object_get_name returned (%s) for init task\n", ptr );
+}
+
 rtems_task Init(
   rtems_task_argument argument
@@ -50,6 +75,4 @@
 {
   rtems_status_code                   status;
-  rtems_id                            main_task;
-  rtems_name                          main_name;
   rtems_id                            tmpId;
   rtems_name                          tmpName;
@@ -60,5 +83,4 @@
   rtems_object_api_class_information  info;
 
-
   puts( "\n\n*** TEST 43 ***" );
 
@@ -70,13 +92,30 @@
     status,
     RTEMS_INVALID_ADDRESS,
-    "rtems_object_get_classic_name"
-  );
-
-  puts( "rtems_object_get_classic_name - INVALID_ID" );
-  status = rtems_object_get_classic_name( main_task + 5, &tmpId );
-  fatal_directive_status(
-    status,
-    RTEMS_INVALID_ID,
-    "rtems_object_get_classic_name"
+    "rtems_object_get_classic_name #1"
+  );
+
+  puts( "rtems_object_get_classic_name - INVALID_ID (bad index)" );
+  status = rtems_object_get_classic_name( main_task + 5, &main_name );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_object_get_classic_name #2"
+  );
+
+  puts( "rtems_object_get_classic_name - INVALID_ID (unallocated index)" );
+  status = rtems_object_get_classic_name( main_task + 1, &main_name );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_object_get_classic_name #4"
+  );
+
+  puts( "rtems_object_get_classic_name - INVALID_ID (bad API)" );
+  tmpId = rtems_build_id( 0xff, OBJECTS_RTEMS_TASKS, 1, 1 ),
+  status = rtems_object_get_classic_name( tmpId, &main_name );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_object_get_classic_name #5"
   );
 
@@ -119,19 +158,35 @@
 
   /*
-   * rtems_object_set_name - change name of init task
-   */
-
-  puts( "rtems_object_set_name - change name of init task" );
-  status = rtems_object_set_name( main_task, newName );
-  directive_failed( status, "rtems_object_set_name" );
-
-  status = rtems_object_get_classic_name( main_task, &main_name );
-  directive_failed( status, "rtems_object_get_classic_name" );
-  put_name( main_name, FALSE );
-  puts( " - name returned by rtems_object_get_classic_name" );
-
-  ptr = rtems_object_get_name( main_task, 5, name );
-  rtems_test_assert(ptr != NULL);
-  printf( "rtems_object_get_name returned (%s) for init task\n", ptr );
+   * rtems_object_set_name - errors
+   */
+
+  puts( "rtems_object_set_name - INVALID_ID (bad API)" );
+  tmpId = rtems_build_id( 0xff, OBJECTS_RTEMS_TASKS, 1, 1 ),
+  status = rtems_object_set_name( tmpId, newName );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_object_set_name #1"
+  );
+
+  puts( "rtems_object_set_name - INVALID_ID (bad index)" );
+  status = rtems_object_set_name( main_task + 10, newName );
+  fatal_directive_status(
+    status,
+    RTEMS_INVALID_ID,
+    "rtems_object_set_name #2"
+  );
+
+  /*
+   * rtems_object_set_name - change name of init task in various ways.
+   *
+   * This is strange but pushes the SuperCore code to do different things.
+   */
+
+  change_name( "New1" );
+  change_name( "Ne1" );
+  change_name( "N1" );
+  change_name( "N" );
+  change_name( "" );
 
   /*
@@ -178,4 +233,8 @@
   printf( "rtems_object_api_maximum_class(0) returned %d\n",
           rtems_object_api_maximum_class(0) );
+  printf( "rtems_object_api_minimum_class(255) returned %d\n",
+          rtems_object_api_minimum_class(255) );
+  printf( "rtems_object_api_maximum_class(255) returned %d\n",
+          rtems_object_api_maximum_class(255) );
 
   printf( "rtems_object_api_minimum_class(OBJECTS_INTERNAL_API) returned %d\n",
@@ -189,9 +248,4 @@
           rtems_object_api_maximum_class(OBJECTS_CLASSIC_API) );
 
-  printf( "rtems_object_api_minimum_class(OBJECTS_POSIX_API) returned %d\n",
-          rtems_object_api_minimum_class(OBJECTS_POSIX_API) );
-  printf( "rtems_object_api_maximum_class(OBJECTS_POSIX_API) returned %d\n",
-          rtems_object_api_maximum_class(OBJECTS_POSIX_API) );
-
   printf( "rtems_object_api_minimum_class(OBJECTS_ITRON_API) returned %d\n",
           rtems_object_api_minimum_class(OBJECTS_ITRON_API) );
@@ -199,5 +253,4 @@
           rtems_object_api_maximum_class(OBJECTS_ITRON_API) );
 
-
   /*
    *  Another screen break for the API and class name tests
@@ -206,5 +259,6 @@
  
   printf( "rtems_object_get_api_name(0) = %s\n", rtems_object_get_api_name(0) );
-  printf( "rtems_object_get_api_name(255) = %s\n", rtems_object_get_api_name(255));
+  printf( "rtems_object_get_api_name(255) = %s\n",
+    rtems_object_get_api_name(255));
 
   printf( "rtems_object_get_api_name(INTERNAL_API) = %s\n",
@@ -212,6 +266,4 @@
   printf( "rtems_object_get_api_name(CLASSIC_API) = %s\n",
      rtems_object_get_api_name(OBJECTS_CLASSIC_API) );
-  printf( "rtems_object_get_api_name(POSIX_API) = %s\n",
-     rtems_object_get_api_name(OBJECTS_POSIX_API) );
   printf( "rtems_object_get_api_name(ITRON_API) = %s\n",
      rtems_object_get_api_name(OBJECTS_ITRON_API) );
@@ -221,6 +273,10 @@
   printf( "rtems_object_get_api_class_name(CLASSIC_API, 0) = %s\n", 
     rtems_object_get_api_class_name( OBJECTS_CLASSIC_API, 0 ) );
-  printf( "rtems_object_get_api_class_name(CLASSIC_API, RTEMS_BARRIERS) = %s\n", 
-    rtems_object_get_api_class_name(OBJECTS_CLASSIC_API, OBJECTS_RTEMS_BARRIERS));
+  printf("rtems_object_get_api_class_name(INTERNAL_API, MUTEXES) = %s\n", 
+    rtems_object_get_api_class_name(
+       OBJECTS_INTERNAL_API, OBJECTS_INTERNAL_MUTEXES));
+  printf("rtems_object_get_api_class_name(CLASSIC_API, RTEMS_BARRIERS) = %s\n", 
+    rtems_object_get_api_class_name(
+       OBJECTS_CLASSIC_API, OBJECTS_RTEMS_BARRIERS));
 
   /*
@@ -240,5 +296,6 @@
 
   puts( "rtems_object_get_class_information - INVALID_NUMBER (bad API)" );
-  status = rtems_object_get_class_information(0, OBJECTS_INTERNAL_THREADS, &info);
+  status =
+    rtems_object_get_class_information(0, OBJECTS_INTERNAL_THREADS, &info);
   fatal_directive_status(
     status,
@@ -248,5 +305,6 @@
 
   puts( "rtems_object_get_class_information - INVALID_NUMBER (bad class)" );
-  status = rtems_object_get_class_information( OBJECTS_INTERNAL_API, 0, &info );
+  status =
+    rtems_object_get_class_information( OBJECTS_INTERNAL_API, 0, &info );
   fatal_directive_status(
     status,
Index: testsuites/sptests/sp43/sp43.scn
===================================================================
--- testsuites/sptests/sp43/sp43.scn	(revision c87593f0b01781996c466e340871f91d87a3d9d8)
+++ testsuites/sptests/sp43/sp43.scn	(revision 403c5077be7841a39d6f196cf118264d5edf0a94)
@@ -1,5 +1,7 @@
 *** TEST 43 ***
 rtems_object_get_classic_name - INVALID_ADDRESS
-rtems_object_get_classic_name - INVALID_ID
+rtems_object_get_classic_name - INVALID_ID (bad index)
+rtems_object_get_classic_name - INVALID_ID (unallocated index)
+rtems_object_get_classic_name - INVALID_ID (bad API)
 UI1  - name returned by rtems_object_get_classic_name
 TEMP - rtems_build_name for TEMP
@@ -9,7 +11,21 @@
 rtems_object_get_name - bad pointer
 rtems_object_get_name returned (UI1 ) for init task
+rtems_object_set_name - INVALID_ID (bad API)
+rtems_object_set_name - INVALID_ID (bad index)
 rtems_object_set_name - change name of init task
 New1 - name returned by rtems_object_get_classic_name
 rtems_object_get_name returned (New1) for init task
+rtems_object_set_name - change name of init task
+Ne1 - name returned by rtems_object_get_classic_name
+rtems_object_get_name returned (Ne1) for init task
+rtems_object_set_name - change name of init task
+N1  - name returned by rtems_object_get_classic_name
+rtems_object_get_name returned (N1) for init task
+rtems_object_set_name - change name of init task
+N   - name returned by rtems_object_get_classic_name
+rtems_object_get_name returned (N) for init task
+rtems_object_set_name - change name of init task
+    - name returned by rtems_object_get_classic_name
+rtems_object_get_name returned () for init task
 rtems_build_id - build an id to match init task
 rtems_object_id_get_api - OK
@@ -24,10 +40,10 @@
 rtems_object_api_minimum_class(0) returned -1
 rtems_object_api_maximum_class(0) returned -1
+rtems_object_api_minimum_class(255) returned -1
+rtems_object_api_maximum_class(255) returned -1
 rtems_object_api_minimum_class(OBJECTS_INTERNAL_API) returned 1
 rtems_object_api_maximum_class(OBJECTS_INTERNAL_API) returned 2
 rtems_object_api_minimum_class(OBJECTS_CLASSIC_API) returned 1
 rtems_object_api_maximum_class(OBJECTS_CLASSIC_API) returned 10
-rtems_object_api_minimum_class(OBJECTS_POSIX_API) returned 1
-rtems_object_api_maximum_class(OBJECTS_POSIX_API) returned 12
 rtems_object_api_minimum_class(OBJECTS_ITRON_API) returned 1
 rtems_object_api_maximum_class(OBJECTS_ITRON_API) returned 8
@@ -37,8 +53,8 @@
 rtems_object_get_api_name(INTERNAL_API) = Internal
 rtems_object_get_api_name(CLASSIC_API) = Classic
-rtems_object_get_api_name(POSIX_API) = POSIX
 rtems_object_get_api_name(ITRON_API) = ITRON
 rtems_object_get_api_class_name(0, RTEMS_TASKS) = BAD API
 rtems_object_get_api_class_name(CLASSIC_API, 0) = BAD CLASS
+rtems_object_get_api_class_name(INTERNAL_API, MUTEXES) = Mutex
 rtems_object_get_api_class_name(CLASSIC_API, RTEMS_BARRIERS) = Barrier
 <pause>
