File indexing completed on 2025-05-11 08:24:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifdef HAVE_CONFIG_H
0030 #include "config.h"
0031 #endif
0032
0033 #define CONFIGURE_INIT
0034 #include "system.h"
0035
0036 #include <rtems/rtems/tasksimpl.h>
0037
0038 const char rtems_test_name[] = "TASK ERROR 04";
0039
0040 rtems_task Init(
0041 rtems_task_argument argument
0042 )
0043 {
0044 rtems_status_code status;
0045
0046 TEST_BEGIN();
0047
0048 Task_id[ 0 ] = rtems_task_self();
0049
0050 Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
0051
0052
0053 status = rtems_task_create(
0054 Task_name[1],
0055 0,
0056 RTEMS_MINIMUM_STACK_SIZE,
0057 RTEMS_DEFAULT_MODES,
0058 RTEMS_DEFAULT_ATTRIBUTES,
0059 &Task_id[ 1 ]
0060 );
0061 fatal_directive_status(
0062 status,
0063 RTEMS_INVALID_PRIORITY,
0064 "rtems_task_create with illegal priority"
0065 );
0066 puts( "INIT - rtems_task_create - priority of 0 - RTEMS_INVALID_PRIORITY" );
0067
0068
0069 status = rtems_task_create(
0070 Task_name[1],
0071 UINT32_C(0x80000000),
0072 RTEMS_MINIMUM_STACK_SIZE,
0073 RTEMS_DEFAULT_MODES,
0074 RTEMS_DEFAULT_ATTRIBUTES,
0075 &Task_id[ 1 ]
0076 );
0077 fatal_directive_status(
0078 status,
0079 RTEMS_INVALID_PRIORITY,
0080 "rtems_task_create with illegal priority"
0081 );
0082 puts(
0083 "INIT - rtems_task_create - priority too high - RTEMS_INVALID_PRIORITY"
0084 );
0085
0086 status = rtems_task_create(
0087 Task_name[ 1 ],
0088 4,
0089 RTEMS_MINIMUM_STACK_SIZE,
0090 RTEMS_DEFAULT_MODES,
0091 RTEMS_DEFAULT_ATTRIBUTES,
0092 &Task_id[ 1 ]
0093 );
0094 directive_failed( status, "rtems_task_create of TA1" );
0095
0096 status = rtems_task_restart( Task_id[ 1 ], 0 );
0097 fatal_directive_status(
0098 status,
0099 RTEMS_INCORRECT_STATE,
0100 "rtems_task_restart of DORMANT task"
0101 );
0102 puts( "INIT - rtems_task_restart - RTEMS_INCORRECT_STATE" );
0103
0104 status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
0105 directive_failed( status, "rtems_task_start of TA1" );
0106
0107 rtems_task_exit();
0108 }