From 39bcf7417ea39806e4817a9ce72cfc20c060c4bf Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 25 May 2016 14:23:48 +0200 Subject: Fix semaphore post overflow status Close #2720. --- testsuites/sptests/spsem_err01/init.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'testsuites/sptests/spsem_err01/init.c') diff --git a/testsuites/sptests/spsem_err01/init.c b/testsuites/sptests/spsem_err01/init.c index 897581ac94..39a366b41a 100644 --- a/testsuites/sptests/spsem_err01/init.c +++ b/testsuites/sptests/spsem_err01/init.c @@ -30,6 +30,35 @@ rtems_task Init( Semaphore_name[ 2 ] = rtems_build_name( 'S', 'M', '2', ' ' ); Semaphore_name[ 3 ] = rtems_build_name( 'S', 'M', '3', ' ' ); + /* release overflow */ + status = rtems_semaphore_create( + Semaphore_name[ 1 ], + UINT32_MAX, + RTEMS_COUNTING_SEMAPHORE, + 0, + &Semaphore_id[ 1 ] + ); + fatal_directive_status( + status, + RTEMS_SUCCESSFUL, + "rtems_semaphore_create" + ); + puts( "TA1 - rtems_semaphore_create - RTEMS_SUCCESSFUL" ); + status = rtems_semaphore_release( Semaphore_id[ 1 ] ); + fatal_directive_status( + status, + RTEMS_UNSATISFIED, + "rtems_semaphore_release" + ); + puts( "TA1 - rtems_semaphore_release - RTEMS_UNSATISFIED" ); + status = rtems_semaphore_delete( Semaphore_id[ 1 ] ); + fatal_directive_status( + status, + RTEMS_SUCCESSFUL, + "rtems_semaphore_delete" + ); + puts( "TA1 - rtems_semaphore_delete - RTEMS_SUCCESSFUL" ); + /* invalid name */ status = rtems_semaphore_create( 0, -- cgit v1.2.3