From df367faddb9e927d18859692d1c0bbd613953328 Mon Sep 17 00:00:00 2001 From: Bjorn Larsson Date: Fri, 28 Mar 2014 13:05:57 -0500 Subject: sptests: New tests split from sp09 screen 1 and screen 2. Split sp09 screen 1 into new test sptask_err04. Split sp09 screen 2 into new tests sptask__err02 and spclock_err01, as well as moving one verification into sptimer_err01. --- testsuites/sptests/sptask_err04/init.c | 88 ++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 testsuites/sptests/sptask_err04/init.c (limited to 'testsuites/sptests/sptask_err04/init.c') diff --git a/testsuites/sptests/sptask_err04/init.c b/testsuites/sptests/sptask_err04/init.c new file mode 100644 index 0000000000..90cb2e1d5b --- /dev/null +++ b/testsuites/sptests/sptask_err04/init.c @@ -0,0 +1,88 @@ +/* + * 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.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#define CONFIGURE_INIT +#include "system.h" + +#include + +const char rtems_test_name[] = "TASK ERROR 04"; + +rtems_task Init( + rtems_task_argument argument +) +{ + rtems_status_code status; + + TEST_BEGIN(); + + Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' ); + + /* priority of 0 error */ + status = rtems_task_create( + Task_name[1], + 0, + RTEMS_MINIMUM_STACK_SIZE, + RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, + &Task_id[ 1 ] + ); + fatal_directive_status( + status, + RTEMS_INVALID_PRIORITY, + "rtems_task_create with illegal priority" + ); + puts( "INIT - rtems_task_create - priority of 0 - RTEMS_INVALID_PRIORITY" ); + + /* priority > 255 error */ + status = rtems_task_create( + Task_name[1], + 257, + RTEMS_MINIMUM_STACK_SIZE, + RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, + &Task_id[ 1 ] + ); + fatal_directive_status( + status, + RTEMS_INVALID_PRIORITY, + "rtems_task_create with illegal priority" + ); + puts( + "INIT - rtems_task_create - priority too high - RTEMS_INVALID_PRIORITY" + ); + + status = rtems_task_create( + Task_name[ 1 ], + 4, + RTEMS_MINIMUM_STACK_SIZE * 3, + RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, + &Task_id[ 1 ] + ); + directive_failed( status, "rtems_task_create of TA1" ); + + status = rtems_task_restart( Task_id[ 1 ], 0 ); + fatal_directive_status( + status, + RTEMS_INCORRECT_STATE, + "rtems_task_restart of DORMANT task" + ); + puts( "INIT - rtems_task_restart - RTEMS_INCORRECT_STATE" ); + + status = rtems_task_start( Task_id[ 1 ], Task_1, 0 ); + directive_failed( status, "rtems_task_start of TA1" ); + + status = rtems_task_delete( RTEMS_SELF ); + directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); +} -- cgit v1.2.3