summaryrefslogtreecommitdiffstats
path: root/spec/rtems/event/req/send-receive.yml
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/event/req/send-receive.yml')
-rw-r--r--spec/rtems/event/req/send-receive.yml76
1 files changed, 13 insertions, 63 deletions
diff --git a/spec/rtems/event/req/send-receive.yml b/spec/rtems/event/req/send-receive.yml
index 12b5f1d2..30c851df 100644
--- a/spec/rtems/event/req/send-receive.yml
+++ b/spec/rtems/event/req/send-receive.yml
@@ -285,20 +285,16 @@ test-action: |
if ( ctx->sender_type == SENDER_SELF_2 ) {
SendAction( ctx );
} else if ( ctx->sender_type == SENDER_WORKER ) {
- rtems_status_code sc;
rtems_task_priority prio;
Wait( ctx->runner_wakeup );
-
- prio = 0;
- sc = rtems_task_set_priority( ctx->worker_id, PRIO_LOW, &prio );
- T_rsc_success( sc );
+ prio = SetPriority( ctx->worker_id, PRIO_LOW );
T_eq_u32( prio, PRIO_HIGH );
}
test-brief: null
test-cleanup: |
rtems_status_code sc;
- rtems_event_set events;
+ rtems_event_set events;
events = 0;
sc = ( *ctx->receive )(
@@ -321,7 +317,7 @@ test-context:
- brief: |
This member defines the sender task priority.
description: null
- member: Priorities sender_prio
+ member: rtems_task_priority sender_prio
- brief: |
This member defines the receiver ID used for the event send action.
description: null
@@ -405,12 +401,7 @@ test-context:
description: null
member: T_thread_switch_log_4 thread_switch_log
test-context-support: |
- typedef enum {
- PRIO_HIGH = 1,
- PRIO_NORMAL,
- PRIO_LOW,
- PRIO_OTHER
- } Priorities;
+ #define PRIO_OTHER UINT32_MAX
typedef enum {
SENDER_NONE,
@@ -469,6 +460,7 @@ test-header:
test-includes:
- rtems/score/threadimpl.h
test-local-includes:
+- tc-support.h
- tr-event-send-receive.h
test-prepare: |
ctx->events_to_send = 0;
@@ -488,8 +480,7 @@ test-prepare: |
test-setup:
brief: null
code: |
- rtems_status_code sc;
- rtems_task_priority prio;
+ rtems_status_code sc;
memset( ctx, 0, sizeof( *ctx ) );
ctx->runner_thread = _Thread_Get_executing();
@@ -506,48 +497,20 @@ test-setup:
T_ne_u32( ctx->runner_sched, ctx->other_sched );
#endif
- prio = 0;
- sc = rtems_task_set_priority( RTEMS_SELF, PRIO_NORMAL, &prio );
- T_rsc_success( sc );
- T_eq_u32( prio, PRIO_HIGH );
-
- sc = rtems_task_construct( &WorkerConfig, &ctx->worker_id );
- T_assert_rsc_success( sc );
-
- sc = rtems_task_start( ctx->worker_id, Worker, (rtems_task_argument) ctx );
- T_assert_rsc_success( sc );
+ SetSelfPriority( PRIO_NORMAL );
+ ctx->worker_id = CreateTask( "WORK", PRIO_LOW );
+ StartTask( ctx->worker_id, Worker, ctx );
description: null
test-stop: null
test-support: |
#define INPUT_EVENTS ( RTEMS_EVENT_5 | RTEMS_EVENT_23 )
- #define WORKER_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES
-
- #define MAX_TLS_SIZE RTEMS_ALIGN_UP( 64, RTEMS_TASK_STORAGE_ALIGNMENT )
-
typedef RtemsEventReqSendReceive_Context Context;
- RTEMS_ALIGNED( RTEMS_TASK_STORAGE_ALIGNMENT ) static char WorkerStorage[
- RTEMS_TASK_STORAGE_SIZE(
- MAX_TLS_SIZE + RTEMS_MINIMUM_STACK_SIZE,
- WORKER_ATTRIBUTES
- )
- ];
-
- static const rtems_task_config WorkerConfig = {
- .name = rtems_build_name( 'W', 'O', 'R', 'K' ),
- .initial_priority = PRIO_LOW,
- .storage_area = WorkerStorage,
- .storage_size = sizeof( WorkerStorage ),
- .maximum_thread_local_storage_size = MAX_TLS_SIZE,
- .initial_modes = RTEMS_DEFAULT_MODES,
- .attributes = WORKER_ATTRIBUTES
- };
-
static rtems_id CreateWakeupSema( void )
{
rtems_status_code sc;
- rtems_id id;
+ rtems_id id;
sc = rtems_semaphore_create(
rtems_build_name( 'W', 'K', 'U', 'P' ),
@@ -670,9 +633,7 @@ test-support: |
switch ( ctx->sender_prio ) {
case PRIO_NORMAL:
case PRIO_HIGH:
- prio = 0;
- sc = rtems_task_set_priority( RTEMS_SELF, ctx->sender_prio, &prio );
- T_rsc_success( sc );
+ prio = SetSelfPriority( ctx->sender_prio );
T_eq_u32( prio, PRIO_LOW );
break;
case PRIO_OTHER:
@@ -803,21 +764,10 @@ test-target: testsuites/validation/tr-event-send-receive.c
test-teardown:
brief: null
code: |
- rtems_status_code sc;
- rtems_task_priority prio;
-
- prio = 0;
- sc = rtems_task_set_priority( RTEMS_SELF, PRIO_HIGH, &prio );
- T_rsc_success( sc );
- T_eq_u32( prio, PRIO_NORMAL );
-
- if ( ctx->worker_id != 0 ) {
- sc = rtems_task_delete( ctx->worker_id );
- T_rsc_success( sc );
- }
-
+ DeleteTask( ctx->worker_id );
DeleteWakeupSema( ctx->worker_wakeup );
DeleteWakeupSema( ctx->runner_wakeup );
+ RestoreRunnerPriority();
description: null
text: ${.:text-template}
transition-map: