52 #define RTEMS_TEST_INITIAL_EXTENSION \ 53 { NULL, NULL, NULL, NULL, NULL, NULL, NULL, rtems_test_fatal_extension } 73 static inline int rtems_test_begin(
void)
83 static inline int rtems_test_begink(
void)
106 static inline int rtems_test_end(
void)
116 static inline int rtems_test_endk(
void)
169 size_t active_workers
185 size_t active_workers,
203 size_t active_workers
229 static inline bool rtems_test_parallel_stop_job(
233 return _Atomic_Load_ulong(&ctx->stop, ATOMIC_ORDER_RELAXED) != 0;
246 static inline bool rtems_test_parallel_is_master_worker(
size_t worker_index)
248 return worker_index == 0;
259 static inline rtems_id rtems_test_parallel_get_task_id(
264 return ctx->worker_ids[worker_index];
int rtems_test_begin_with_plugin(rtems_printk_plugin_t printf_func, void *printf_arg)
Prints a begin of test message.
Definition: testbeginend.c:22
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
const char rtems_test_name[]
Each test must define a test name string.
SMP barrier control.
Definition: smpbarrier.h:51
void(* rtems_test_parallel_worker_setup)(rtems_test_parallel_context *ctx, size_t worker_index, rtems_id worker_id)
Worker task setup handler.
Definition: test.h:143
Basic parallel job description.
Definition: test.h:152
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:119
int printk_plugin(void *context, const char *fmt,...)
Reporting Methods printk() Plugin.
Definition: printk_plugin.c:24
void rtems_test_fatal_extension(rtems_fatal_source source, bool is_internal, rtems_fatal_code code)
Fatal extension for tests.
Definition: testextension.c:29
Internal context for parallel job execution.
Definition: test.h:125
int rtems_printf_plugin(void *context, const char *fmt,...)
Reporting Methods printf() Plugin.
Definition: printf_plugin.c:30
Interface to Kernel Print Methods.
Definition: inftrees.h:25
int(* rtems_printk_plugin_t)(void *, const char *format,...)
Type definition for function which can be plugged in to certain reporting routines to redirect the ou...
Definition: bspIo.h:129
int rtems_test_end_with_plugin(rtems_printk_plugin_t printf_func, void *printf_arg)
Prints an end of test message.
Definition: testbeginend.c:34
void rtems_test_parallel(rtems_test_parallel_context *ctx, rtems_test_parallel_worker_setup worker_setup, const rtems_test_parallel_job *jobs, size_t job_count)
Runs a bunch of jobs in parallel on all processors of the system.
Definition: testparallel.c:120
Internal_errors_Source
This type lists the possible sources from which an error can be reported.
Definition: interr.h:45