summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/sp09/screen06.c
diff options
context:
space:
mode:
authorBjorn Larsson <bjornlarsson@oarcorp.com>2014-03-26 09:56:43 -0500
committerJennifer Averett <jennifer.averett@oarcorp.com>2014-03-28 13:08:57 -0500
commitd6f65e40eaee24f67fdd26fbc64fad7b7271932d (patch)
tree0330ef8fcdef4040d6f63203a6056a46bcaf1c51 /testsuites/sptests/sp09/screen06.c
parentsptests: Split sp09 screens 7,8 into spmsg1_err01 and spmsgq_err02. (diff)
downloadrtems-d6f65e40eaee24f67fdd26fbc64fad7b7271932d.tar.bz2
sptests: split sp09 screen 5,6 into spsem_err01, spsem_err02, and sptask_err01.
sp09 screen 5 split into spsem_err01, sp09 screen 6 split into spsem_err02, and sptask_err01.
Diffstat (limited to '')
-rw-r--r--testsuites/sptests/spsem_err02/init.c (renamed from testsuites/sptests/sp09/screen06.c)78
1 files changed, 54 insertions, 24 deletions
diff --git a/testsuites/sptests/sp09/screen06.c b/testsuites/sptests/spsem_err02/init.c
index da1ab11ae9..bd76a72118 100644
--- a/testsuites/sptests/sp09/screen06.c
+++ b/testsuites/sptests/spsem_err02/init.c
@@ -1,28 +1,68 @@
-/* Screen6
- *
- * This routine generates error screen 6 for test 9.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-2009.
+/*
+ * COPYRIGHT (c) 2014.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * http://www.rtems.com/license/LICENSE.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
+#define CONFIGURE_INIT
#include "system.h"
-void Screen6()
+const char rtems_test_name[] = "SP SEMAPHORE ERROR 02";
+
+rtems_task Init(
+ rtems_task_argument argument
+)
{
rtems_status_code status;
+
+ TEST_BEGIN();
+
+ Semaphore_name[ 1 ] = rtems_build_name( 'S', 'M', '1', ' ' );
+ Semaphore_name[ 2 ] = rtems_build_name( 'S', 'M', '2', ' ' );
+ Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
+
+ status = rtems_task_create(
+ Task_name[ 2 ],
+ 1,
+ RTEMS_MINIMUM_STACK_SIZE,
+ RTEMS_DEFAULT_MODES,
+ RTEMS_DEFAULT_ATTRIBUTES,
+ &Task_id[ 2 ]
+ );
+ directive_failed( status, "rtems_task_create of TA2" );
+ puts( "TA1 - rtems_task_create - TA2 created - RTEMS_SUCCESSFUL" );
+
+ puts( "TA1 - rtems_task_start - start TA2 - RTEMS_SUCCESSFUL" );
+ status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
+ directive_failed( status, "rtems_task_start of TA2" );
+
+ /* OK */
+ status = rtems_semaphore_create(
+ Semaphore_name[ 1 ],
+ 1,
+ RTEMS_DEFAULT_ATTRIBUTES,
+ RTEMS_NO_PRIORITY,
+ &Semaphore_id[ 1 ]
+ );
+ directive_failed( status, "rtems_semaphore_create" );
+ puts( "TA1 - rtems_semaphore_create - 1 - RTEMS_SUCCESSFUL" );
+
+ status = rtems_semaphore_create(
+ Semaphore_name[ 2 ],
+ 1,
+ RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | RTEMS_INHERIT_PRIORITY,
+ RTEMS_NO_PRIORITY,
+ &Semaphore_id[ 2 ]
+ );
+ directive_failed( status, "rtems_semaphore_create" );
+ puts( "TA1 - rtems_semaphore_create - 2 - RTEMS_SUCCESSFUL" );
status = rtems_semaphore_obtain(
100,
@@ -85,10 +125,6 @@ void Screen6()
);
puts( "TA1 - rtems_semaphore_release - RTEMS_INVALID_ID" );
- puts( "TA1 - rtems_task_start - start TA2 - RTEMS_SUCCESSFUL" );
- status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
- directive_failed( status, "rtems_task_start of TA2" );
-
puts( "TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL" );
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
directive_failed( status, "rtems_task_wake_after (yield)" );
@@ -106,6 +142,7 @@ void Screen6()
directive_failed( status, "rtems_semaphore_obtain");
puts( "TA1 - rtems_semaphore_delete - delete sem 2 - RTEMS_RESOURCE_IN_USE" );
+
status = rtems_semaphore_delete( Semaphore_id[ 2 ] );
fatal_directive_status(
status,
@@ -116,13 +153,6 @@ void Screen6()
puts( "TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL" );
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
directive_failed( status, "rtems_task_wake_after (yield)" );
-
- status = rtems_task_delete( Task_id[ 2 ] );
- fatal_directive_status(
- status,
- RTEMS_INVALID_ID,
- "rtems_task_delete after the task has been deleted"
- );
-
- puts( "TA1 - rtems_task_delete TA2 - already deleted RTEMS_INVALID_ID" );
+
+ TEST_END();
}