summaryrefslogtreecommitdiffstats
path: root/testsuites/validation/tc-barrier-release.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-24 17:59:32 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-03-01 10:12:10 +0100
commit34f279aa19b27745edfadc29d84da4113b876f12 (patch)
treec6f6228e0825f1ef6a94b2bb084c9d8d0b200046 /testsuites/validation/tc-barrier-release.c
parentscore: Fix _Stack_Extend_size() (diff)
downloadrtems-34f279aa19b27745edfadc29d84da4113b876f12.tar.bz2
validation: Add comments to barrier tests
Unify code sections across tests.
Diffstat (limited to 'testsuites/validation/tc-barrier-release.c')
-rw-r--r--testsuites/validation/tc-barrier-release.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/testsuites/validation/tc-barrier-release.c b/testsuites/validation/tc-barrier-release.c
index 7b1064c247..3fcf8f13e9 100644
--- a/testsuites/validation/tc-barrier-release.c
+++ b/testsuites/validation/tc-barrier-release.c
@@ -213,16 +213,27 @@ static void RtemsBarrierReqRelease_Pre_Barrier_Prepare(
{
switch ( state ) {
case RtemsBarrierReqRelease_Pre_Barrier_NoObj: {
+ /*
+ * The ``id`` parameter shall be invalid.
+ */
ctx->id = 0xffffffff;
break;
}
case RtemsBarrierReqRelease_Pre_Barrier_Manual: {
+ /*
+ * The ``id`` parameter shall be associated with a
+ * manual release barrier.
+ */
ctx->id = ctx->manual_release_id;
break;
}
case RtemsBarrierReqRelease_Pre_Barrier_Auto: {
+ /*
+ * The ``id`` parameter shall be associated with an
+ * automatic release barrier.
+ */
ctx->id = ctx->auto_release_id;
break;
}
@@ -241,11 +252,18 @@ static void RtemsBarrierReqRelease_Pre_Released_Prepare(
switch ( state ) {
case RtemsBarrierReqRelease_Pre_Released_Valid: {
+ /*
+ * The ``released`` parameter shall reference an integer variable.
+ */
ctx->released = &ctx->released_value;
break;
}
case RtemsBarrierReqRelease_Pre_Released_Null: {
+ /*
+ * The ``released`` parameter shall be
+ * NULL.
+ */
ctx->released = NULL;
break;
}
@@ -262,11 +280,17 @@ static void RtemsBarrierReqRelease_Pre_Waiting_Prepare(
{
switch ( state ) {
case RtemsBarrierReqRelease_Pre_Waiting_Zero: {
+ /*
+ * The number of tasks waiting at the barrier shall be zero.
+ */
ctx->waiting_tasks = 0;
break;
}
case RtemsBarrierReqRelease_Pre_Waiting_Positive: {
+ /*
+ * The number of tasks waiting at the barrier shall be positive.
+ */
ctx->waiting_tasks = 1;
SendEvents( ctx->worker_id, EVENT_WAIT );
break;
@@ -284,16 +308,28 @@ static void RtemsBarrierReqRelease_Post_Status_Check(
{
switch ( state ) {
case RtemsBarrierReqRelease_Post_Status_Ok: {
+ /*
+ * The return status of rtems_barrier_release() shall be
+ * RTEMS_SUCCESSFUL.
+ */
T_rsc_success( ctx->status );
break;
}
case RtemsBarrierReqRelease_Post_Status_InvId: {
+ /*
+ * The return status of rtems_barrier_release() shall be
+ * RTEMS_INVALID_ID.
+ */
T_rsc( ctx->status, RTEMS_INVALID_ID );
break;
}
case RtemsBarrierReqRelease_Post_Status_InvAddr: {
+ /*
+ * The return status of rtems_barrier_release() shall be
+ * RTEMS_INVALID_ADDRESS.
+ */
T_rsc( ctx->status, RTEMS_INVALID_ADDRESS );
break;
}
@@ -310,11 +346,19 @@ static void RtemsBarrierReqRelease_Post_Released_Check(
{
switch ( state ) {
case RtemsBarrierReqRelease_Post_Released_Valid: {
+ /*
+ * The value of the variable for the number of released tasks shall equal
+ * the number of tasks released by the rtems_barrier_release() call.
+ */
T_eq_u32( ctx->released_value, ctx->waiting_tasks );
break;
}
case RtemsBarrierReqRelease_Post_Released_Unchanged: {
+ /*
+ * The value of variable for the number of released tasks shall be unchanged
+ * by the rtems_barrier_release() call.
+ */
T_eq_u32( ctx->released_value, RELEASED_INVALID_VALUE );
break;
}