From 8c324aa64740c2480c664ffa680711a1d7371ca0 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 2 Mar 2009 16:12:49 +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 | 8 +------- testsuites/sptests/sp09/sp09.scn | 4 +++- 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/testsuites/sptests/ChangeLog b/testsuites/sptests/ChangeLog index 8adb8f4a7a..e8ed4e8906 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-30 Joel Sherrill * Makefile.am, configure.ac: Add sp48 which tests that configuring for diff --git a/testsuites/sptests/sp09/screen05.c b/testsuites/sptests/sp09/screen05.c index 9b3faa7c01..3747de44af 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 d02c929fb1..8eba69a4b2 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 @@ -24,12 +24,6 @@ void Screen9() rtems_status_code status; rtems_isr_entry old_service_routine; -#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE) - puts( "TRUE" ); -#else - puts( "FALSE" ); -#endif - #if ((CPU_SIMPLE_VECTORED_INTERRUPTS == FALSE) || \ defined(_C3x) || defined(_C4x)) puts( diff --git a/testsuites/sptests/sp09/sp09.scn b/testsuites/sptests/sp09/sp09.scn index fa92e4889c..e334f5b74d 100644 --- a/testsuites/sptests/sp09/sp09.scn +++ b/testsuites/sptests/sp09/sp09.scn @@ -72,7 +72,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