RTEMS
Modules | Files | Macros | Enumerations | Functions | Variables
spec:/testsuites/validation-0

This general purpose validation test suite provides enough resources to run basic tests for all specified managers and functions. More...

Modules

 spec:/req/rtems/event/send-receive
 
 spec:/req/rtems/event/val/classic-send
 Test the rtems_event_send directive.
 
 spec:/req/rtems/event/val/event
 Tests an event constant and number of the Event Manager using the Classic and system event sets of the executing task.
 
 spec:/rtems/attr/val/attr
 Tests the attribute constants of the Classic API.
 
 spec:/rtems/barrier/val/ident
 Test the rtems_barrier_ident directive.
 
 spec:/rtems/event/req/event-constant
 Tests an event constant and number of the Event Manager using the Classic and system event sets of the executing task.
 
 spec:/rtems/event/req/events
 Tests the Event Manager API.
 
 spec:/rtems/event/req/send-receive
 
 spec:/rtems/event/val/send-receive
 Tests the rtems_event_send and rtems_event_receive directives.
 
 spec:/rtems/event/val/system-send-receive
 Tests the rtems_event_system_send and rtems_event_system_receive directives.
 
 spec:/rtems/message/req/construct-errors
 
 spec:/rtems/message/val/ident
 Test the rtems_message_queue_ident directive.
 
 spec:/rtems/mode/val/modes
 Tests the task mode constants and function-like macros of the Classic API.
 
 spec:/rtems/option/val/options
 Tests the option constants of the Classic API.
 
 spec:/rtems/part/req/create
 
 spec:/rtems/part/req/delete
 
 spec:/rtems/part/req/get-buffer
 
 spec:/rtems/part/req/return-buffer
 
 spec:/rtems/part/val/ident
 Test the rtems_partition_ident directive.
 
 spec:/rtems/ratemon/val/ident
 Test the rtems_rate_monotonic_ident directive.
 
 spec:/rtems/req/ident
 
 spec:/rtems/req/ident-local
 
 spec:/rtems/sem/val/ident
 Test the rtems_semaphore_ident directive.
 
 spec:/rtems/task/req/construct-errors
 
 spec:/rtems/task/req/ident
 
 spec:/rtems/timer/val/ident
 Test the rtems_timer_ident directive.
 
 spec:/rtems/userext/val/ident
 Test the rtems_extension_ident directive.
 

Files

file  ts-validation-0.c
 

Macros

#define MAX_TLS_SIZE   RTEMS_ALIGN_UP( 64, RTEMS_TASK_STORAGE_ALIGNMENT )
 
#define ATTRIBUTES   RTEMS_FLOATING_POINT
 
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
 
#define CONFIGURE_MAXIMUM_PROCESSORS   4
 
#define CONFIGURE_MAXIMUM_BARRIERS   3
 
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES   3
 
#define CONFIGURE_MAXIMUM_PARTITIONS   3
 
#define CONFIGURE_MAXIMUM_PERIODS   3
 
#define CONFIGURE_MAXIMUM_SEMAPHORES   3
 
#define CONFIGURE_MAXIMUM_TASKS   3
 
#define CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE   CONFIGURE_MAXIMUM_TASKS
 
#define CONFIGURE_MAXIMUM_TIMERS   3
 
#define CONFIGURE_MAXIMUM_USER_EXTENSIONS   3
 
#define CONFIGURE_MICROSECONDS_PER_TICK   1000
 
#define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS   0
 
#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY
 
#define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
 
#define CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
 
#define CONFIGURE_IDLE_TASK_BODY   _CPU_Thread_Idle_body
 
#define CONFIGURE_SCHEDULER_EDF_SMP
 
#define CONFIGURE_SCHEDULER_TABLE_ENTRIES
 
#define CONFIGURE_SCHEDULER_ASSIGNMENTS
 
#define CONFIGURE_INIT
 

Enumerations

enum  { _Sysinit_init_runner_task = 0x00290080 }
 

Functions

static void runner_task (rtems_task_argument arg)
 
static void init_runner_task (void)
 
 RTEMS_SCHEDULER_EDF_SMP (a)
 
 RTEMS_SCHEDULER_EDF_SMP (b)
 
 RTEMS_SCHEDULER_EDF_SMP (c)
 

Variables

const char rtems_test_name [] = "Validation0"
 Each test must define a test name string.
 
static char buffer [512]
 
static const T_action actions []
 
static const T_config test_config
 
static char runner_task_storage [RTEMS_TASK_STORAGE_SIZE(MAX_TLS_SIZE+RTEMS_MINIMUM_STACK_SIZE, ATTRIBUTES)]
 
static const rtems_task_config runner_task_config
 
rtems_sysinit_item const _Linker_set__Sysinit_init_runner_task = { init_runner_task }
 

Detailed Description

This general purpose validation test suite provides enough resources to run basic tests for all specified managers and functions.

In SMP configurations, up to three scheduler instances using the SMP EDF scheduler are provided using up to four processors.

Macro Definition Documentation

◆ CONFIGURE_SCHEDULER_ASSIGNMENTS

#define CONFIGURE_SCHEDULER_ASSIGNMENTS
Value:
RTEMS_SCHEDULER_ASSIGN(0, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY), \
RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL), \
RTEMS_SCHEDULER_ASSIGN(2, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL), \
RTEMS_SCHEDULER_ASSIGN(2, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL)

Definition at line 216 of file ts-validation-0.c.

◆ CONFIGURE_SCHEDULER_TABLE_ENTRIES

#define CONFIGURE_SCHEDULER_TABLE_ENTRIES
Value:
RTEMS_SCHEDULER_TABLE_EDF_SMP(a, rtems_build_name('A', ' ', ' ', ' ')), \
RTEMS_SCHEDULER_TABLE_EDF_SMP(b, rtems_build_name('B', ' ', ' ', ' ')), \
RTEMS_SCHEDULER_TABLE_EDF_SMP(c, rtems_build_name('C', ' ', ' ', ' '))
#define rtems_build_name(_C1, _C2, _C3, _C4)
%
Definition: object.h:179

Definition at line 211 of file ts-validation-0.c.

Variable Documentation

◆ actions

const T_action actions[]
static
Initial value:
= {
T_report_hash_sha256,
T_check_task_context,
T_check_rtems_barriers,
T_check_rtems_extensions,
T_check_rtems_message_queues,
T_check_rtems_partitions,
T_check_rtems_periods,
T_check_rtems_semaphores,
T_check_rtems_tasks,
T_check_rtems_timers
}

Definition at line 79 of file ts-validation-0.c.

◆ runner_task_config

const rtems_task_config runner_task_config
static
Initial value:
= {
.name = rtems_build_name( 'R', 'U', 'N', ' ' ),
.initial_priority = 1,
.storage_area = runner_task_storage,
.storage_size = sizeof( runner_task_storage ),
.maximum_thread_local_storage_size = MAX_TLS_SIZE,
.initial_modes = RTEMS_DEFAULT_MODES,
.attributes = ATTRIBUTES
}
#define rtems_build_name(_C1, _C2, _C3, _C4)
%
Definition: object.h:179
#define RTEMS_DEFAULT_MODES
This task mode constant represents the default mode set.
Definition: modes.h:137

Definition at line 132 of file ts-validation-0.c.

◆ test_config

const T_config test_config
static
Initial value:
= {
.name = rtems_test_name,
.buf = buffer,
.buf_size = sizeof( buffer ),
.putchar = rtems_put_char,
.verbosity = RTEMS_TEST_VERBOSITY,
.now = T_now_clock,
.action_count = T_ARRAY_SIZE( actions ),
.actions = actions
}
const char rtems_test_name[]
Each test must define a test name string.
void rtems_put_char(int c, void *arg)
Puts the character via rtems_putc().

Definition at line 92 of file ts-validation-0.c.