summaryrefslogtreecommitdiffstats
path: root/spec/rtems/barrier/req/release.yml
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/barrier/req/release.yml')
-rw-r--r--spec/rtems/barrier/req/release.yml73
1 files changed, 14 insertions, 59 deletions
diff --git a/spec/rtems/barrier/req/release.yml b/spec/rtems/barrier/req/release.yml
index 7c04606a..aec50a38 100644
--- a/spec/rtems/barrier/req/release.yml
+++ b/spec/rtems/barrier/req/release.yml
@@ -149,37 +149,18 @@ test-header: null
test-includes:
- rtems.h
- string.h
-test-local-includes: []
+test-local-includes:
+- tc-support.h
test-prepare: null
test-setup:
brief: null
code: |
- rtems_status_code sc;
- rtems_task_priority prio;
+ rtems_status_code sc;
memset( ctx, 0, sizeof( *ctx ) );
-
- 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_create(
- rtems_build_name( 'W', 'O', 'R', 'K' ),
- PRIO_HIGH,
- RTEMS_MINIMUM_STACK_SIZE,
- RTEMS_DEFAULT_MODES,
- RTEMS_DEFAULT_ATTRIBUTES,
- &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_HIGH );
+ StartTask( ctx->worker_id, Worker, ctx );
sc = rtems_barrier_create(
NAME,
@@ -207,19 +188,6 @@ test-support: |
typedef RtemsBarrierReqRelease_Context Context;
- typedef enum {
- PRIO_HIGH = 1,
- PRIO_NORMAL
- } Priorities;
-
- static void SendEvents( rtems_id id, rtems_event_set events )
- {
- rtems_status_code sc;
-
- sc = rtems_event_send( id, events );
- T_rsc_success( sc );
- }
-
static void Worker( rtems_task_argument arg )
{
Context *ctx;
@@ -227,19 +195,13 @@ test-support: |
ctx = (Context *) arg;
while ( true ) {
- rtems_status_code sc;
- rtems_event_set events;
+ rtems_event_set events;
- events = 0;
- sc = rtems_event_receive(
- RTEMS_ALL_EVENTS,
- RTEMS_EVENT_ANY | RTEMS_WAIT,
- RTEMS_NO_TIMEOUT,
- &events
- );
- T_rsc_success( sc );
+ events = ReceiveAnyEvents();
if ( ( events & EVENT_WAIT ) != 0 ) {
+ rtems_status_code sc;
+
sc = rtems_barrier_wait( ctx->id, RTEMS_NO_TIMEOUT );
T_rsc_success( sc );
}
@@ -249,18 +211,9 @@ test-target: testsuites/validation/tc-barrier-release.c
test-teardown:
brief: null
code: |
- rtems_status_code sc;
- rtems_task_priority prio;
+ rtems_status_code sc;
- 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 );
if ( ctx->manual_release_id != 0 ) {
sc = rtems_barrier_delete( ctx->manual_release_id );
@@ -271,6 +224,8 @@ test-teardown:
sc = rtems_barrier_delete( ctx->auto_release_id );
T_rsc_success( sc );
}
+
+ RestoreRunnerPriority();
description: null
text: ${.:text-template}
transition-map: