summaryrefslogtreecommitdiffstats
path: root/testsuites/validation/tc-task-performance.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/validation/tc-task-performance.c')
-rw-r--r--testsuites/validation/tc-task-performance.c106
1 files changed, 96 insertions, 10 deletions
diff --git a/testsuites/validation/tc-task-performance.c b/testsuites/validation/tc-task-performance.c
index 2900ac6ca0..3fac8f4f4e 100644
--- a/testsuites/validation/tc-task-performance.c
+++ b/testsuites/validation/tc-task-performance.c
@@ -3,11 +3,11 @@
/**
* @file
*
- * @ingroup RTEMSTestCaseRtemsTaskValPerf
+ * @ingroup RtemsTaskValPerf
*/
/*
- * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+ * Copyright (C) 2021 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -60,9 +60,9 @@
#include <rtems/test.h>
/**
- * @defgroup RTEMSTestCaseRtemsTaskValPerf spec:/rtems/task/val/perf
+ * @defgroup RtemsTaskValPerf spec:/rtems/task/val/perf
*
- * @ingroup RTEMSTestSuiteTestsuitesPerformanceNoClock0
+ * @ingroup TestsuitesPerformanceNoClock0
*
* @brief This test case provides a context to run @ref RTEMSAPIClassicTasks
* performance tests.
@@ -113,13 +113,13 @@ typedef struct {
static RtemsTaskValPerf_Context
RtemsTaskValPerf_Instance;
-typedef RtemsTaskValPerf_Context Context;
+#define EVENT_RESTART RTEMS_EVENT_0
+
+#define EVENT_SET_END RTEMS_EVENT_1
-enum {
- EVENT_RESTART = RTEMS_EVENT_0,
- EVENT_SET_END = RTEMS_EVENT_1,
- EVENT_BUSY = RTEMS_EVENT_2
-} Event;
+#define EVENT_BUSY RTEMS_EVENT_2
+
+typedef RtemsTaskValPerf_Context Context;
RTEMS_ALIGNED( RTEMS_TASK_STORAGE_ALIGNMENT ) static char task_storage[
RTEMS_TASK_STORAGE_SIZE(
@@ -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 )
*/