diff options
author | Bjorn Larsson <bjornlarsson@oarcorp.com> | 2014-03-26 09:56:43 -0500 |
---|---|---|
committer | Jennifer Averett <jennifer.averett@oarcorp.com> | 2014-03-28 13:08:57 -0500 |
commit | d6f65e40eaee24f67fdd26fbc64fad7b7271932d (patch) | |
tree | 0330ef8fcdef4040d6f63203a6056a46bcaf1c51 /testsuites/sptests/sp09/screen06.c | |
parent | sptests: Split sp09 screens 7,8 into spmsg1_err01 and spmsgq_err02. (diff) | |
download | rtems-d6f65e40eaee24f67fdd26fbc64fad7b7271932d.tar.bz2 |
sptests: split sp09 screen 5,6 into spsem_err01, spsem_err02, and sptask_err01.
sp09 screen 5 split into spsem_err01, sp09 screen 6 split into
spsem_err02, and sptask_err01.
Diffstat (limited to '')
-rw-r--r-- | testsuites/sptests/spsem_err02/init.c (renamed from testsuites/sptests/sp09/screen06.c) | 78 |
1 files changed, 54 insertions, 24 deletions
diff --git a/testsuites/sptests/sp09/screen06.c b/testsuites/sptests/spsem_err02/init.c index da1ab11ae9..bd76a72118 100644 --- a/testsuites/sptests/sp09/screen06.c +++ b/testsuites/sptests/spsem_err02/init.c @@ -1,28 +1,68 @@ -/* Screen6 - * - * This routine generates error screen 6 for test 9. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * COPYRIGHT (c) 1989-2009. +/* + * COPYRIGHT (c) 2014. * 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.org/license/LICENSE. + * http://www.rtems.com/license/LICENSE. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif +#define CONFIGURE_INIT #include "system.h" -void Screen6() +const char rtems_test_name[] = "SP SEMAPHORE ERROR 02"; + +rtems_task Init( + rtems_task_argument argument +) { rtems_status_code status; + + TEST_BEGIN(); + + Semaphore_name[ 1 ] = rtems_build_name( 'S', 'M', '1', ' ' ); + Semaphore_name[ 2 ] = rtems_build_name( 'S', 'M', '2', ' ' ); + Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' ); + + status = rtems_task_create( + Task_name[ 2 ], + 1, + RTEMS_MINIMUM_STACK_SIZE, + RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, + &Task_id[ 2 ] + ); + directive_failed( status, "rtems_task_create of TA2" ); + puts( "TA1 - rtems_task_create - TA2 created - RTEMS_SUCCESSFUL" ); + + puts( "TA1 - rtems_task_start - start TA2 - RTEMS_SUCCESSFUL" ); + status = rtems_task_start( Task_id[ 2 ], Task_2, 0 ); + directive_failed( status, "rtems_task_start of TA2" ); + + /* OK */ + status = rtems_semaphore_create( + Semaphore_name[ 1 ], + 1, + RTEMS_DEFAULT_ATTRIBUTES, + RTEMS_NO_PRIORITY, + &Semaphore_id[ 1 ] + ); + directive_failed( status, "rtems_semaphore_create" ); + puts( "TA1 - rtems_semaphore_create - 1 - RTEMS_SUCCESSFUL" ); + + status = rtems_semaphore_create( + Semaphore_name[ 2 ], + 1, + RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | RTEMS_INHERIT_PRIORITY, + RTEMS_NO_PRIORITY, + &Semaphore_id[ 2 ] + ); + directive_failed( status, "rtems_semaphore_create" ); + puts( "TA1 - rtems_semaphore_create - 2 - RTEMS_SUCCESSFUL" ); status = rtems_semaphore_obtain( 100, @@ -85,10 +125,6 @@ void Screen6() ); puts( "TA1 - rtems_semaphore_release - RTEMS_INVALID_ID" ); - puts( "TA1 - rtems_task_start - start TA2 - RTEMS_SUCCESSFUL" ); - status = rtems_task_start( Task_id[ 2 ], Task_2, 0 ); - directive_failed( status, "rtems_task_start of TA2" ); - puts( "TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL" ); status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR ); directive_failed( status, "rtems_task_wake_after (yield)" ); @@ -106,6 +142,7 @@ void Screen6() directive_failed( status, "rtems_semaphore_obtain"); puts( "TA1 - rtems_semaphore_delete - delete sem 2 - RTEMS_RESOURCE_IN_USE" ); + status = rtems_semaphore_delete( Semaphore_id[ 2 ] ); fatal_directive_status( status, @@ -116,13 +153,6 @@ void Screen6() puts( "TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL" ); status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR ); directive_failed( status, "rtems_task_wake_after (yield)" ); - - status = rtems_task_delete( Task_id[ 2 ] ); - fatal_directive_status( - status, - RTEMS_INVALID_ID, - "rtems_task_delete after the task has been deleted" - ); - - puts( "TA1 - rtems_task_delete TA2 - already deleted RTEMS_INVALID_ID" ); + + TEST_END(); } |