42#include <rtems/testopts.h>
49static char buffer[ 512 ];
51static const T_action actions[] = {
58 .buf_size =
sizeof( buffer ),
60 .verbosity = RTEMS_TEST_VERBOSITY,
61#
if defined(CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER)
66 .allocate = T_memory_allocate,
67 .deallocate = T_memory_deallocate,
68 .action_count = T_ARRAY_SIZE( actions ),
72static Atomic_Uint counter;
74static void TestSuiteFatalExtension(
76 bool always_set_to_false,
82 (void) always_set_to_false;
88 if ( _Atomic_Fetch_add_uint( &counter, 1, ATOMIC_ORDER_RELAXED ) != 0 ) {
93 FATAL_SYSINIT_RUN( source,
code );
95 if ( T_run_finalize() ) {
102#if defined(FATAL_SYSINIT_EXIT)
103 FATAL_SYSINIT_EXIT( exit_code );
109static void TestRunInitialize(
void )
112 T_run_initialize( &test_config );
117 RTEMS_SYSINIT_BSP_EARLY,
118 RTEMS_SYSINIT_ORDER_FIRST
121#define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0
123#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY
125#define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
127#ifdef FATAL_SYSINIT_INITIAL_EXTENSION
128#define OPTIONAL_FATAL_SYSINIT_INITIAL_EXTENSION FATAL_SYSINIT_INITIAL_EXTENSION,
130#define OPTIONAL_FATAL_SYSINIT_INITIAL_EXTENSION
133#define CONFIGURE_INITIAL_EXTENSIONS \
134 OPTIONAL_FATAL_SYSINIT_INITIAL_EXTENSION \
135 { .fatal = FatalInitialExtension }, \
136 { .fatal = TestSuiteFatalExtension }
138#define CONFIGURE_IDLE_TASK_STORAGE_SIZE RTEMS_MINIMUM_STACK_SIZE
140#if !defined(CONFIGURE_RTEMS_INIT_TASKS_TABLE)
142#define CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
144#if !defined(CONFIGURE_IDLE_TASK_BODY)
146#define CONFIGURE_IDLE_TASK_BODY IdleBody
148void *IdleBody( uintptr_t ignored )
159#define CONFIGURE_INIT
This header file provides the kernel character input/output support API.
This header file evaluates the application configuration options defined by the application.
Internal_errors_t rtems_fatal_code
This integer type represents system termination codes.
Definition: extension.h:162
void rtems_put_char(int c, void *unused)
Puts the character using rtems_putc()
Definition: rtems_put_char.c:42
#define RTEMS_SYSINIT_ITEM(handler, module, order)
Creates the system initialization item associated with the handler, module, and order.
Definition: sysinit.h:204
Internal_errors_Source
This type lists the possible sources from which an error can be reported.
Definition: interr.h:63
@ RTEMS_FATAL_SOURCE_EXIT
Fatal source of exit().
Definition: interr.h:100
const char rtems_test_name[]
Each test must define a test name string.
Definition: init.c:6899
int rtems_test_begin(const char *name, const RTEMS_TEST_STATE state)
Prints a begin of test message using printf().
Definition: testbeginend.c:56
int rtems_test_end(const char *name)
Prints an end of test message using printf().
Definition: testbeginend.c:93
This header file provides the interfaces of the Atomic Operations.
This header file defines the RTEMS Classic API.
Definition: inftrees.h:24
This header file provides the API of the System Initialization Support.
This header file provides interfaces of the RTEMS Test Support.
This header file provides interfaces of the RTEMS Test Framework.
This header file provides the support functions for the validation test cases.