From 8b54251dcb007487b3e2a93863dc93e270d9c785 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 9 Mar 2011 17:23:36 +0000 Subject: 2011-03-09 Joel Sherrill * sp43/init.c, sp43/sp43.scn: Improve coverage of _Thread_Get. --- testsuites/sptests/ChangeLog | 4 ++++ testsuites/sptests/sp43/init.c | 33 +++++++++++++++++++++++++++++---- testsuites/sptests/sp43/sp43.scn | 21 +++++++++++++-------- 3 files changed, 46 insertions(+), 12 deletions(-) (limited to 'testsuites/sptests') diff --git a/testsuites/sptests/ChangeLog b/testsuites/sptests/ChangeLog index a5f05f254d..b275062084 100644 --- a/testsuites/sptests/ChangeLog +++ b/testsuites/sptests/ChangeLog @@ -1,3 +1,7 @@ +2011-03-09 Joel Sherrill + + * sp43/init.c, sp43/sp43.scn: Improve coverage of _Thread_Get. + 2011-03-08 Joel Sherrill * spchain/init.c: Improve coverage testing. diff --git a/testsuites/sptests/sp43/init.c b/testsuites/sptests/sp43/init.c index 39fff36208..18a3164b3d 100644 --- a/testsuites/sptests/sp43/init.c +++ b/testsuites/sptests/sp43/init.c @@ -440,10 +440,35 @@ rtems_task Init( ); directive_failed( sc, "rtems_task_set_priority" ); - /* destroy class pointer */ + /* destroy internal API pointer */ + puts( "rtems_task_set_priority - clobber internal API info" ); + tmp = _Objects_Information_table[ api ]; + _Objects_Information_table[ api ] = NULL; + + puts( "rtems_task_set_priority - use valid Idle thread id again" ); + sc = rtems_task_set_priority( + rtems_build_id( class, api, 1, 1 ), + RTEMS_CURRENT_PRIORITY, + &old_priority + ); + fatal_directive_status( sc, RTEMS_INVALID_ID, "rtems_task_set_priority" ); + + /* restore pointer */ + puts( "rtems_task_set_priority - restore internal api info" ); + _Objects_Information_table[ api ] = tmp; + + /* destroy internal API thread class pointer */ puts( "rtems_task_set_priority - clobber internal thread class info" ); - tmp = _Objects_Information_table[ class ][ api ]; - _Objects_Information_table[ class ][ api ] = NULL; + tmp = _Objects_Information_table[ api ][ class ]; + _Objects_Information_table[ api ][ class ] = NULL; + + puts( "rtems_task_set_priority - use valid Idle thread id again" ); + sc = rtems_task_set_priority( + rtems_build_id( class, api, 1, 1 ), + RTEMS_CURRENT_PRIORITY, + &old_priority + ); + fatal_directive_status( sc, RTEMS_INVALID_ID, "rtems_task_set_priority" ); puts( "rtems_task_set_priority - use valid Idle thread id again" ); sc = rtems_task_set_priority( @@ -455,7 +480,7 @@ rtems_task Init( /* restore pointer */ puts( "rtems_task_set_priority - restore internal thread class info" ); - _Objects_Information_table[ class ][ api ] = tmp; + _Objects_Information_table[ api ][ class ] = tmp; } /* diff --git a/testsuites/sptests/sp43/sp43.scn b/testsuites/sptests/sp43/sp43.scn index 37c38026e1..f34fc33a78 100644 --- a/testsuites/sptests/sp43/sp43.scn +++ b/testsuites/sptests/sp43/sp43.scn @@ -1,5 +1,5 @@ *** TEST 43 *** -RTEMS Version: rtems-4.9.99.0(SPARC/w/FPU/erc32) +RTEMS Version: rtems-4.10.99.0(SPARC/w/FPU/sis) rtems_object_get_classic_name - INVALID_ADDRESS rtems_object_get_classic_name - INVALID_ID (bad index) rtems_object_get_classic_name - INVALID_ID (unallocated index) @@ -13,20 +13,21 @@ rtems_object_get_name - bad length rtems_object_get_name - bad pointer rtems_object_get_name returned (UI1 ) for init task id rtems_object_get_name returned (UI1 ) for RTEMS_SELF +rtems_object_set_name - INVALID_ADDRESS 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 to (New1) 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 to (Ne1) -Ne1 - name returned by rtems_object_get_classic_name -rtems_object_get_name returned (Ne1) for 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 to (N1) -N1 - name returned by rtems_object_get_classic_name -rtems_object_get_name returned (N1) for 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 to (N) -N - name returned by rtems_object_get_classic_name -rtems_object_get_name returned (N) for 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 to () * - name returned by rtems_object_get_classic_name rtems_object_get_name returned () for init task @@ -44,7 +45,7 @@ rtems_object_id_get_node - OK rtems_object_id_get_index - OK rtems_object_id_api_minimum returned 1 -rtems_object_id_api_maximum returned 4 +rtems_object_id_api_maximum returned 3 rtems_object_api_minimum_class(0) returned -1 rtems_object_api_maximum_class(0) returned 0 rtems_object_api_minimum_class(0) returned -1 @@ -81,8 +82,12 @@ Classic API Timer Information maximum : 1 available : 1 auto_extend : no rtems_task_set_priority - use valid Idle thread id +rtems_task_set_priority - clobber internal API info +rtems_task_set_priority - use valid Idle thread id again +rtems_task_set_priority - restore internal api info rtems_task_set_priority - clobber internal thread class info rtems_task_set_priority - use valid Idle thread id again +rtems_task_set_priority - use valid Idle thread id again rtems_task_set_priority - restore internal thread class info rtems_semaphore_obtain - good but uncreated ID - INVALID_ID - OK rtems_object_get_classic_name - bad API pointer - INVALID_ID -- cgit v1.2.3