summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-02 16:13:40 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-02 16:13:40 +0000
commit5ab52fb40a594190edea5fbc0c0eb6e552257403 (patch)
treef501c0053c859d1c6b7ae66da539ab7cedae7b50
parent86458b0e9792d33c545aa699318c0780b21fd981 (diff)
2009-03-02 Joel Sherrill <joel.sherrill@OARcorp.com>
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.
-rw-r--r--testsuites/sptests/ChangeLog8
-rw-r--r--testsuites/sptests/sp09/screen05.c34
-rw-r--r--testsuites/sptests/sp09/screen09.c2
-rw-r--r--testsuites/sptests/sp09/sp09.scn4
4 files changed, 44 insertions, 4 deletions
diff --git a/testsuites/sptests/ChangeLog b/testsuites/sptests/ChangeLog
index fcfe0dbdf7..e3f8c36780 100644
--- a/testsuites/sptests/ChangeLog
+++ b/testsuites/sptests/ChangeLog
@@ -1,3 +1,11 @@
+2009-03-02 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ 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 <nbkolchin@gmail.com>
Joel Sherrill <joel.sherrill@oarcorp.com>
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