summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-05-08 17:16:18 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-05-19 08:08:45 +0200
commitee748932678b0fedea3399b3bc9f1b124fb7bbaa (patch)
treed2c39de9b930c7754f150e4e25c6e33f3dfcd3dd /testsuites
parentvalidation: Use spec:* references (diff)
downloadrtems-ee748932678b0fedea3399b3bc9f1b124fb7bbaa.tar.bz2
validation: Add group for runtime measurements
Update #3716.
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/validation/tc-barrier-performance.c36
-rw-r--r--testsuites/validation/tc-event-performance.c42
-rw-r--r--testsuites/validation/tc-message-performance.c62
-rw-r--r--testsuites/validation/tc-part-performance.c26
-rw-r--r--testsuites/validation/tc-sem-performance.c70
-rw-r--r--testsuites/validation/tc-task-performance.c86
6 files changed, 322 insertions, 0 deletions
diff --git a/testsuites/validation/tc-barrier-performance.c b/testsuites/validation/tc-barrier-performance.c
index 5b6b4a24bb..051aaa0f66 100644
--- a/testsuites/validation/tc-barrier-performance.c
+++ b/testsuites/validation/tc-barrier-performance.c
@@ -160,6 +160,13 @@ static T_fixture RtemsBarrierValPerf_Fixture = {
};
/**
+ * @defgroup RtemsBarrierReqPerfReleaseAuto \
+ * spec:/rtems/barrier/req/perf-release-auto
+ *
+ * @{
+ */
+
+/**
* @brief Create an automatic release barrier.
*/
static void RtemsBarrierReqPerfReleaseAuto_Prepare(
@@ -244,8 +251,17 @@ static void RtemsBarrierReqPerfReleaseAuto_Cleanup(
T_rsc_success( sc );
}
+/** @} */
+
#if defined(RTEMS_SMP)
/**
+ * @defgroup RtemsBarrierReqPerfReleaseAutoOtherCpu \
+ * spec:/rtems/barrier/req/perf-release-auto-other-cpu
+ *
+ * @{
+ */
+
+/**
* @brief Create an automatic release barrier. Create and start a worker task.
*/
static void RtemsBarrierReqPerfReleaseAutoOtherCpu_Prepare(
@@ -341,9 +357,18 @@ static void RtemsBarrierReqPerfReleaseAutoOtherCpu_Cleanup(
sc = rtems_barrier_delete( ctx->barrier_id );
T_rsc_success( sc );
}
+
+/** @} */
#endif
/**
+ * @defgroup RtemsBarrierReqPerfReleaseManual \
+ * spec:/rtems/barrier/req/perf-release-manual
+ *
+ * @{
+ */
+
+/**
* @brief Create a manual release barrier. Create and start a worker task.
*/
static void RtemsBarrierReqPerfReleaseManual_Prepare(
@@ -456,6 +481,15 @@ static void RtemsBarrierReqPerfReleaseManual_Cleanup(
RestoreRunnerPriority();
}
+/** @} */
+
+/**
+ * @defgroup RtemsBarrierReqPerfReleaseManualPreempt \
+ * spec:/rtems/barrier/req/perf-release-manual-preempt
+ *
+ * @{
+ */
+
/**
* @brief Create a manual release barrier. Create and start a worker task.
*/
@@ -555,6 +589,8 @@ static void RtemsBarrierReqPerfReleaseManualPreempt_Cleanup(
RestoreRunnerPriority();
}
+/** @} */
+
/**
* @fn void T_case_body_RtemsBarrierValPerf( void )
*/
diff --git a/testsuites/validation/tc-event-performance.c b/testsuites/validation/tc-event-performance.c
index de29cdd1b5..052eee3894 100644
--- a/testsuites/validation/tc-event-performance.c
+++ b/testsuites/validation/tc-event-performance.c
@@ -210,6 +210,12 @@ static T_fixture RtemsEventValPerf_Fixture = {
};
/**
+ * @defgroup RtemsEventReqPerfIsrPreempt spec:/rtems/event/req/perf-isr-preempt
+ *
+ * @{
+ */
+
+/**
* @brief Send two events from with interrupt context. Satisfy the event
* condition.
*/
@@ -259,6 +265,14 @@ static bool RtemsEventReqPerfIsrPreempt_Teardown_Wrap(
return RtemsEventReqPerfIsrPreempt_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
+/**
+ * @defgroup RtemsEventReqPerfOther spec:/rtems/event/req/perf-other
+ *
+ * @{
+ */
+
/**
* @brief Lower the worker priority.
*/
@@ -324,8 +338,16 @@ static bool RtemsEventReqPerfOther_Teardown_Wrap(
return RtemsEventReqPerfOther_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
#if defined(RTEMS_SMP)
/**
+ * @defgroup RtemsEventReqPerfOtherCpu spec:/rtems/event/req/perf-other-cpu
+ *
+ * @{
+ */
+
+/**
* @brief Move worker to scheduler B.
*/
static void RtemsEventReqPerfOtherCpu_Prepare( RtemsEventValPerf_Context *ctx )
@@ -391,9 +413,18 @@ static void RtemsEventReqPerfOtherCpu_Cleanup( RtemsEventValPerf_Context *ctx )
{
SetScheduler( ctx->worker_id, SCHEDULER_A_ID, PRIO_HIGH );
}
+
+/** @} */
#endif
/**
+ * @defgroup RtemsEventReqPerfOtherNotSatisfied \
+ * spec:/rtems/event/req/perf-other-not-satisfied
+ *
+ * @{
+ */
+
+/**
* @brief Send an event. Do not satisfy the event condition.
*/
static void RtemsEventReqPerfOtherNotSatisfied_Body(
@@ -450,6 +481,15 @@ static bool RtemsEventReqPerfOtherNotSatisfied_Teardown_Wrap(
);
}
+/** @} */
+
+/**
+ * @defgroup RtemsEventReqPerfOtherPreempt \
+ * spec:/rtems/event/req/perf-other-preempt
+ *
+ * @{
+ */
+
/**
* @brief Send two events. Satisfy the event condition.
*/
@@ -502,6 +542,8 @@ static bool RtemsEventReqPerfOtherPreempt_Teardown_Wrap(
return RtemsEventReqPerfOtherPreempt_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
/**
* @fn void T_case_body_RtemsEventValPerf( void )
*/
diff --git a/testsuites/validation/tc-message-performance.c b/testsuites/validation/tc-message-performance.c
index 5d3e0527e0..35f4622bae 100644
--- a/testsuites/validation/tc-message-performance.c
+++ b/testsuites/validation/tc-message-performance.c
@@ -279,6 +279,13 @@ static T_fixture RtemsMessageValPerf_Fixture = {
};
/**
+ * @defgroup RtemsMessageReqPerfReceiveTry \
+ * spec:/rtems/message/req/perf-receive-try
+ *
+ * @{
+ */
+
+/**
* @brief Try to receive a message.
*/
static void RtemsMessageReqPerfReceiveTry_Body(
@@ -335,6 +342,15 @@ static bool RtemsMessageReqPerfReceiveTry_Teardown_Wrap(
return RtemsMessageReqPerfReceiveTry_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
+/**
+ * @defgroup RtemsMessageReqPerfReceiveWaitForever \
+ * spec:/rtems/message/req/perf-receive-wait-forever
+ *
+ * @{
+ */
+
/**
* @brief Schedule a message send.
*/
@@ -422,6 +438,15 @@ static bool RtemsMessageReqPerfReceiveWaitForever_Teardown_Wrap(
);
}
+/** @} */
+
+/**
+ * @defgroup RtemsMessageReqPerfReceiveWaitTimed \
+ * spec:/rtems/message/req/perf-receive-wait-timed
+ *
+ * @{
+ */
+
/**
* @brief Schedule a message send.
*/
@@ -509,6 +534,14 @@ static bool RtemsMessageReqPerfReceiveWaitTimed_Teardown_Wrap(
);
}
+/** @} */
+
+/**
+ * @defgroup RtemsMessageReqPerfSend spec:/rtems/message/req/perf-send
+ *
+ * @{
+ */
+
/**
* @brief Send a message.
*/
@@ -567,6 +600,15 @@ static bool RtemsMessageReqPerfSend_Teardown_Wrap(
return RtemsMessageReqPerfSend_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
+/**
+ * @defgroup RtemsMessageReqPerfSendOther \
+ * spec:/rtems/message/req/perf-send-other
+ *
+ * @{
+ */
+
/**
* @brief Let the worker wait on the message queue.
*/
@@ -641,8 +683,17 @@ static bool RtemsMessageReqPerfSendOther_Teardown_Wrap(
return RtemsMessageReqPerfSendOther_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
#if defined(RTEMS_SMP)
/**
+ * @defgroup RtemsMessageReqPerfSendOtherCpu \
+ * spec:/rtems/message/req/perf-send-other-cpu
+ *
+ * @{
+ */
+
+/**
* @brief Move worker to scheduler B.
*/
static void RtemsMessageReqPerfSendOtherCpu_Prepare(
@@ -743,9 +794,18 @@ static void RtemsMessageReqPerfSendOtherCpu_Cleanup(
{
SetScheduler( ctx->worker_id, SCHEDULER_A_ID, PRIO_HIGH );
}
+
+/** @} */
#endif
/**
+ * @defgroup RtemsMessageReqPerfSendPreempt \
+ * spec:/rtems/message/req/perf-send-preempt
+ *
+ * @{
+ */
+
+/**
* @brief Let the worker wait on the message queue.
*/
static void RtemsMessageReqPerfSendPreempt_Setup(
@@ -825,6 +885,8 @@ static bool RtemsMessageReqPerfSendPreempt_Teardown_Wrap(
);
}
+/** @} */
+
/**
* @fn void T_case_body_RtemsMessageValPerf( void )
*/
diff --git a/testsuites/validation/tc-part-performance.c b/testsuites/validation/tc-part-performance.c
index 7acc713816..151d323f1c 100644
--- a/testsuites/validation/tc-part-performance.c
+++ b/testsuites/validation/tc-part-performance.c
@@ -213,6 +213,12 @@ static T_fixture RtemsPartValPerf_Fixture = {
};
/**
+ * @defgroup RtemsPartReqPerfGetBuffer spec:/rtems/part/req/perf-get-buffer
+ *
+ * @{
+ */
+
+/**
* @brief Get a buffer.
*/
static void RtemsPartReqPerfGetBuffer_Body( RtemsPartValPerf_Context *ctx )
@@ -263,6 +269,15 @@ static bool RtemsPartReqPerfGetBuffer_Teardown_Wrap(
return RtemsPartReqPerfGetBuffer_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
+/**
+ * @defgroup RtemsPartReqPerfGetNoBuffer \
+ * spec:/rtems/part/req/perf-get-no-buffer
+ *
+ * @{
+ */
+
/**
* @brief Get the buffer.
*/
@@ -335,6 +350,15 @@ static void RtemsPartReqPerfGetNoBuffer_Cleanup(
T_rsc_success( sc );
}
+/** @} */
+
+/**
+ * @defgroup RtemsPartReqPerfReturnBuffer \
+ * spec:/rtems/part/req/perf-return-buffer
+ *
+ * @{
+ */
+
/**
* @brief Get the buffer.
*/
@@ -400,6 +424,8 @@ static bool RtemsPartReqPerfReturnBuffer_Teardown_Wrap(
return RtemsPartReqPerfReturnBuffer_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
/**
* @fn void T_case_body_RtemsPartValPerf( void )
*/
diff --git a/testsuites/validation/tc-sem-performance.c b/testsuites/validation/tc-sem-performance.c
index 3274103f1c..603a74b7ad 100644
--- a/testsuites/validation/tc-sem-performance.c
+++ b/testsuites/validation/tc-sem-performance.c
@@ -238,6 +238,12 @@ static T_fixture RtemsSemValPerf_Fixture = {
};
/**
+ * @defgroup RtemsSemReqPerfMtxPiObtain spec:/rtems/sem/req/perf-mtx-pi-obtain
+ *
+ * @{
+ */
+
+/**
* @brief Obtain the available mutex.
*/
static void RtemsSemReqPerfMtxPiObtain_Body( RtemsSemValPerf_Context *ctx )
@@ -289,6 +295,15 @@ static bool RtemsSemReqPerfMtxPiObtain_Teardown_Wrap(
return RtemsSemReqPerfMtxPiObtain_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
+/**
+ * @defgroup RtemsSemReqPerfMtxPiRelease \
+ * spec:/rtems/sem/req/perf-mtx-pi-release
+ *
+ * @{
+ */
+
/**
* @brief Obtain the mutex.
*/
@@ -351,6 +366,15 @@ static bool RtemsSemReqPerfMtxPiRelease_Teardown_Wrap(
return RtemsSemReqPerfMtxPiRelease_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
+/**
+ * @defgroup RtemsSemReqPerfMtxPiReleaseOne \
+ * spec:/rtems/sem/req/perf-mtx-pi-release-one
+ *
+ * @{
+ */
+
/**
* @brief Let one task wait on the mutex.
*/
@@ -427,8 +451,17 @@ static bool RtemsSemReqPerfMtxPiReleaseOne_Teardown_Wrap(
);
}
+/** @} */
+
#if defined(RTEMS_SMP)
/**
+ * @defgroup RtemsSemReqPerfMtxPiReleaseOtherCpu \
+ * spec:/rtems/sem/req/perf-mtx-pi-release-other-cpu
+ *
+ * @{
+ */
+
+/**
* @brief Move worker to scheduler B.
*/
static void RtemsSemReqPerfMtxPiReleaseOtherCpu_Prepare(
@@ -526,9 +559,18 @@ static void RtemsSemReqPerfMtxPiReleaseOtherCpu_Cleanup(
{
SetScheduler( ctx->worker_id, SCHEDULER_A_ID, PRIO_HIGH );
}
+
+/** @} */
#endif
/**
+ * @defgroup RtemsSemReqPerfMtxPiReleasePreempt \
+ * spec:/rtems/sem/req/perf-mtx-pi-release-preempt
+ *
+ * @{
+ */
+
+/**
* @brief Let one task wait on the mutex.
*/
static void RtemsSemReqPerfMtxPiReleasePreempt_Setup(
@@ -605,6 +647,14 @@ static bool RtemsSemReqPerfMtxPiReleasePreempt_Teardown_Wrap(
);
}
+/** @} */
+
+/**
+ * @defgroup RtemsSemReqPerfMtxPiTry spec:/rtems/sem/req/perf-mtx-pi-try
+ *
+ * @{
+ */
+
/**
* @brief Make the mutex unavailable.
*/
@@ -667,6 +717,15 @@ static void RtemsSemReqPerfMtxPiTry_Cleanup( RtemsSemValPerf_Context *ctx )
Send( ctx, EVENT_RELEASE );
}
+/** @} */
+
+/**
+ * @defgroup RtemsSemReqPerfMtxPiWaitForever \
+ * spec:/rtems/sem/req/perf-mtx-pi-wait-forever
+ *
+ * @{
+ */
+
/**
* @brief Make the mutex unavailable.
*/
@@ -751,6 +810,15 @@ static bool RtemsSemReqPerfMtxPiWaitForever_Teardown_Wrap(
);
}
+/** @} */
+
+/**
+ * @defgroup RtemsSemReqPerfMtxPiWaitTimed \
+ * spec:/rtems/sem/req/perf-mtx-pi-wait-timed
+ *
+ * @{
+ */
+
/**
* @brief Make the mutex unavailable.
*/
@@ -825,6 +893,8 @@ static bool RtemsSemReqPerfMtxPiWaitTimed_Teardown_Wrap(
return RtemsSemReqPerfMtxPiWaitTimed_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
/**
* @fn void T_case_body_RtemsSemValPerf( void )
*/
diff --git a/testsuites/validation/tc-task-performance.c b/testsuites/validation/tc-task-performance.c
index a13f745732..e0ea113e76 100644
--- a/testsuites/validation/tc-task-performance.c
+++ b/testsuites/validation/tc-task-performance.c
@@ -226,6 +226,12 @@ static T_fixture RtemsTaskValPerf_Fixture = {
};
/**
+ * @defgroup RtemsTaskReqPerfConstruct spec:/rtems/task/req/perf-construct
+ *
+ * @{
+ */
+
+/**
* @brief Construct a worker task.
*/
static void RtemsTaskReqPerfConstruct_Body( RtemsTaskValPerf_Context *ctx )
@@ -274,6 +280,14 @@ static bool RtemsTaskReqPerfConstruct_Teardown_Wrap(
return RtemsTaskReqPerfConstruct_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
+/**
+ * @defgroup RtemsTaskReqPerfRestart spec:/rtems/task/req/perf-restart
+ *
+ * @{
+ */
+
/**
* @brief Create and start a worker task.
*/
@@ -340,6 +354,15 @@ static void RtemsTaskReqPerfRestart_Cleanup( RtemsTaskValPerf_Context *ctx )
DeleteTask( ctx->worker_id );
}
+/** @} */
+
+/**
+ * @defgroup RtemsTaskReqPerfRestartPreempt \
+ * spec:/rtems/task/req/perf-restart-preempt
+ *
+ * @{
+ */
+
/**
* @brief Create and start a worker task.
*/
@@ -422,6 +445,14 @@ static void RtemsTaskReqPerfRestartPreempt_Cleanup(
DeleteTask( ctx->worker_id );
}
+/** @} */
+
+/**
+ * @defgroup RtemsTaskReqPerfRestartSelf spec:/rtems/task/req/perf-restart-self
+ *
+ * @{
+ */
+
/**
* @brief Create and start a worker task.
*/
@@ -492,8 +523,17 @@ static void RtemsTaskReqPerfRestartSelf_Cleanup(
DeleteTask( ctx->worker_id );
}
+/** @} */
+
#if defined(RTEMS_SMP)
/**
+ * @defgroup RtemsTaskReqPerfSetSchedulerMove \
+ * spec:/rtems/task/req/perf-set-scheduler-move
+ *
+ * @{
+ */
+
+/**
* @brief Set the runner affinity.
*/
static void RtemsTaskReqPerfSetSchedulerMove_Prepare(
@@ -572,9 +612,18 @@ static void RtemsTaskReqPerfSetSchedulerMove_Cleanup(
{
SetSelfAffinityOne( 0 );
}
+
+/** @} */
#endif
/**
+ * @defgroup RtemsTaskReqPerfSetSchedulerNop \
+ * spec:/rtems/task/req/perf-set-scheduler-nop
+ *
+ * @{
+ */
+
+/**
* @brief Set the scheduler of the runner.
*/
static void RtemsTaskReqPerfSetSchedulerNop_Body(
@@ -632,8 +681,17 @@ static bool RtemsTaskReqPerfSetSchedulerNop_Teardown_Wrap(
);
}
+/** @} */
+
#if defined(RTEMS_SMP)
/**
+ * @defgroup RtemsTaskReqPerfSetSchedulerOther \
+ * spec:/rtems/task/req/perf-set-scheduler-other
+ *
+ * @{
+ */
+
+/**
* @brief Create and start a worker task for scheduler B.
*/
static void RtemsTaskReqPerfSetSchedulerOther_Prepare(
@@ -715,10 +773,19 @@ static void RtemsTaskReqPerfSetSchedulerOther_Cleanup(
{
DeleteTask( ctx->worker_id );
}
+
+/** @} */
#endif
#if defined(RTEMS_SMP)
/**
+ * @defgroup RtemsTaskReqPerfSetSchedulerPreempt \
+ * spec:/rtems/task/req/perf-set-scheduler-preempt
+ *
+ * @{
+ */
+
+/**
* @brief Create and start two worker tasks for scheduler B. Make the second
* worker busy.
*/
@@ -834,9 +901,17 @@ static void RtemsTaskReqPerfSetSchedulerPreempt_Cleanup(
DeleteTask( ctx->worker_2_id );
DeleteTask( ctx->worker_id );
}
+
+/** @} */
#endif
/**
+ * @defgroup RtemsTaskReqPerfStart spec:/rtems/task/req/perf-start
+ *
+ * @{
+ */
+
+/**
* @brief Create a worker task.
*/
static void RtemsTaskReqPerfStart_Setup( RtemsTaskValPerf_Context *ctx )
@@ -904,6 +979,15 @@ static bool RtemsTaskReqPerfStart_Teardown_Wrap(
return RtemsTaskReqPerfStart_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
+/**
+ * @defgroup RtemsTaskReqPerfStartPreempt \
+ * spec:/rtems/task/req/perf-start-preempt
+ *
+ * @{
+ */
+
/**
* @brief Create a worker task.
*/
@@ -975,6 +1059,8 @@ static bool RtemsTaskReqPerfStartPreempt_Teardown_Wrap(
return RtemsTaskReqPerfStartPreempt_Teardown( ctx, delta, tic, toc, retry );
}
+/** @} */
+
/**
* @fn void T_case_body_RtemsTaskValPerf( void )
*/