summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-25 14:23:48 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-26 21:44:30 +0200
commit39bcf7417ea39806e4817a9ce72cfc20c060c4bf (patch)
treedc05ee9c4d99d8eb98adae586c462e5e84227a1b /testsuites/sptests
parenttestsuites: Fix locked_printf() test printer (diff)
downloadrtems-39bcf7417ea39806e4817a9ce72cfc20c060c4bf.tar.bz2
Fix semaphore post overflow status
Close #2720.
Diffstat (limited to 'testsuites/sptests')
-rw-r--r--testsuites/sptests/spsem_err01/init.c29
-rw-r--r--testsuites/sptests/spsem_err01/spsem_err01.scn7
2 files changed, 34 insertions, 2 deletions
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,
diff --git a/testsuites/sptests/spsem_err01/spsem_err01.scn b/testsuites/sptests/spsem_err01/spsem_err01.scn
index 00d363d15f..b6172196b0 100644
--- a/testsuites/sptests/spsem_err01/spsem_err01.scn
+++ b/testsuites/sptests/spsem_err01/spsem_err01.scn
@@ -1,4 +1,7 @@
-*** TEST SEMAPHORE ERROR 01 ***
+*** BEGIN OF TEST SP SEMAPHORE ERROR 01 ***
+TA1 - rtems_semaphore_create - RTEMS_SUCCESSFUL
+TA1 - rtems_semaphore_release - RTEMS_UNSATISFIED
+TA1 - rtems_semaphore_delete - RTEMS_SUCCESSFUL
TA1 - rtems_semaphore_create - RTEMS_INVALID_NAME
TA1 - rtems_semaphore_create - RTEMS_INVALID_ADDRESS
TA1 - rtems_semaphore_create - 1 - RTEMS_SUCCESSFUL
@@ -16,4 +19,4 @@ 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
-*** END TEST SEMAPHORE ERROR 01 ***
+*** END OF TEST SP SEMAPHORE ERROR 01 ***