From 03f6250ece1b22599b98cc6a67134d49e0d199cf Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 2 Mar 2009 16:14:04 +0000 Subject: 2009-03-02 Joel Sherrill PR 1388/cpukit * sp09/screen05.c, sp09/screen09.c, sp09/sp09.scn: Classic Semaphores allow both priority inherit and ceiling attributes to be set on semaphore create. These attributes are mutually exclusive and this should be an error. --- testsuites/sptests/ChangeLog | 8 ++++++++ testsuites/sptests/sp09/screen05.c | 34 ++++++++++++++++++++++++++++++++-- testsuites/sptests/sp09/screen09.c | 2 +- testsuites/sptests/sp09/sp09.scn | 4 +++- 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/testsuites/sptests/ChangeLog b/testsuites/sptests/ChangeLog index 340905c8c2..08e3015e0b 100644 --- a/testsuites/sptests/ChangeLog +++ b/testsuites/sptests/ChangeLog @@ -1,3 +1,11 @@ +2009-03-02 Joel Sherrill + + PR 1388/cpukit + * sp09/screen05.c, sp09/screen09.c, sp09/sp09.scn: Classic Semaphores + allow both priority inherit and ceiling attributes to be set on + semaphore create. These attributes are mutually exclusive and this + should be an error. + 2009-01-21 Nickolay Kolchin Joel Sherrill diff --git a/testsuites/sptests/sp09/screen05.c b/testsuites/sptests/sp09/screen05.c index 7b27bc6cf4..87f9dcc6e3 100644 --- a/testsuites/sptests/sp09/screen05.c +++ b/testsuites/sptests/sp09/screen05.c @@ -6,7 +6,7 @@ * * Output parameters: NONE * - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -85,7 +85,37 @@ void Screen5() RTEMS_NOT_DEFINED, "rtems_semaphore_create of RTEMS_FIFO RTEMS_INHERIT_PRIORITY" ); - puts( "TA1 - rtems_semaphore_create - RTEMS_NOT_DEFINED" ); + puts( "TA1 - rtems_semaphore_create - FIFO and inherit - RTEMS_NOT_DEFINED" ); + + status = rtems_semaphore_create( + Semaphore_name[ 1 ], + 1, + RTEMS_PRIORITY_CEILING | RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO, + RTEMS_NO_PRIORITY, + &Junk_id + ); + fatal_directive_status( + status, + RTEMS_NOT_DEFINED, + "rtems_semaphore_create of RTEMS_FIFO RTEMS_CEILING_PRIORITY" + ); + puts( "TA1 - rtems_semaphore_create - FIFO and ceiling - RTEMS_NOT_DEFINED" ); + + status = rtems_semaphore_create( + Semaphore_name[ 1 ], + 1, + RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY_CEILING | + RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY, + 10, + &Junk_id + ); + fatal_directive_status( + status, + RTEMS_NOT_DEFINED, + "rtems_semaphore_create of binary with ceiling and inherit" + ); + puts( + "TA1 - rtems_semaphore_create - ceiling and inherit - RTEMS_NOT_DEFINED" ); status = rtems_semaphore_create( Semaphore_name[ 1 ], diff --git a/testsuites/sptests/sp09/screen09.c b/testsuites/sptests/sp09/screen09.c index 0e01acb3ef..6ce6dc687b 100644 --- a/testsuites/sptests/sp09/screen09.c +++ b/testsuites/sptests/sp09/screen09.c @@ -6,7 +6,7 @@ * * Output parameters: NONE * - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be diff --git a/testsuites/sptests/sp09/sp09.scn b/testsuites/sptests/sp09/sp09.scn index 1f00519188..231e43340c 100644 --- a/testsuites/sptests/sp09/sp09.scn +++ b/testsuites/sptests/sp09/sp09.scn @@ -67,7 +67,9 @@ TA1 - rtems_semaphore_create - RTEMS_INVALID_NAME TA1 - rtems_semaphore_create - 1 - RTEMS_SUCCESSFUL TA1 - rtems_semaphore_create - 2 - RTEMS_SUCCESSFUL TA1 - rtems_semaphore_create - 3 - RTEMS_TOO_MANY -TA1 - rtems_semaphore_create - RTEMS_NOT_DEFINED +TA1 - rtems_semaphore_create - FIFO and inherit - RTEMS_NOT_DEFINED +TA1 - rtems_semaphore_create - FIFO and ceiling - RTEMS_NOT_DEFINED +TA1 - rtems_semaphore_create - ceiling and inherit - RTEMS_NOT_DEFINED TA1 - rtems_semaphore_create - RTEMS_NOT_DEFINED TA1 - rtems_semaphore_create - RTEMS_INVALID_NUMBER TA1 - rtems_semaphore_create - RTEMS_MP_NOT_CONFIGURED -- cgit v1.2.3