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 #ifdef HAVE_CONFIG_H
0029 #include "config.h"
0030 #endif
0031
0032 #include "tmacros.h"
0033
0034 const char rtems_test_name[] = "SPTASKNOPREEMPT 1";
0035
0036 static bool did_run;
0037
0038 static void do_not_run(rtems_task_argument arg)
0039 {
0040 rtems_test_assert(0);
0041 }
0042
0043 static void test(void)
0044 {
0045 rtems_status_code sc;
0046 rtems_id task;
0047
0048 sc = rtems_task_create(
0049 rtems_build_name('T', 'E', 'S', 'T'),
0050 1,
0051 RTEMS_MINIMUM_STACK_SIZE,
0052 RTEMS_DEFAULT_MODES,
0053 RTEMS_DEFAULT_ATTRIBUTES,
0054 &task
0055 );
0056 rtems_test_assert(sc == RTEMS_SUCCESSFUL);
0057
0058 sc = rtems_task_start(task, do_not_run, 0);
0059 rtems_test_assert(sc == RTEMS_SUCCESSFUL);
0060
0061
0062
0063
0064
0065
0066 sc = rtems_timer_initiate_server(
0067 RTEMS_TIMER_SERVER_DEFAULT_PRIORITY,
0068 RTEMS_MINIMUM_STACK_SIZE,
0069 RTEMS_DEFAULT_ATTRIBUTES
0070 );
0071 rtems_test_assert(sc == RTEMS_SUCCESSFUL);
0072
0073 rtems_test_assert(!did_run);
0074
0075 sc = rtems_task_delete(task);
0076 rtems_test_assert(sc == RTEMS_SUCCESSFUL);
0077 }
0078
0079 static void Init(rtems_task_argument arg)
0080 {
0081 TEST_BEGIN();
0082
0083 test();
0084
0085 TEST_END();
0086 rtems_test_exit(0);
0087 }
0088
0089 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
0090 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
0091
0092 #define CONFIGURE_MAXIMUM_TASKS 3
0093
0094 #define CONFIGURE_INIT_TASK_PRIORITY 2
0095
0096 #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_NO_PREEMPT
0097
0098 #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
0099
0100 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
0101
0102 #define CONFIGURE_INIT
0103
0104 #include <rtems/confdefs.h>