[rtems commit] libtest: Add T_check_steps()
Sebastian Huber
sebh at rtems.org
Tue Aug 18 05:15:14 UTC 2020
Module: rtems
Branch: master
Commit: 33eb113c36a5418f25b3165092b622ea91c25d27
Changeset: http://git.rtems.org/rtems/commit/?id=33eb113c36a5418f25b3165092b622ea91c25d27
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Thu Aug 13 10:09:30 2020 +0200
libtest: Add T_check_steps()
Update #3199.
---
cpukit/libtest/t-test.c | 31 +++++++++++++------------------
1 file changed, 13 insertions(+), 18 deletions(-)
diff --git a/cpukit/libtest/t-test.c b/cpukit/libtest/t-test.c
index ec9ff6e..f9a2b2a 100644
--- a/cpukit/libtest/t-test.c
+++ b/cpukit/libtest/t-test.c
@@ -49,8 +49,6 @@
#define T_LINE_SIZE 128
-#define T_SCOPE_SIZE 64
-
typedef struct {
pthread_spinlock_t lock;
char *buf;
@@ -938,6 +936,17 @@ T_do_case_begin(T_context *ctx, const T_case_context *tc)
}
static void
+T_check_steps(unsigned int planned_steps, unsigned int steps,
+ unsigned int failures)
+{
+ if (planned_steps != UINT_MAX && planned_steps != steps &&
+ failures == 0) {
+ T_check(&T_special, false, "actual steps (%u), "
+ "planned steps (%u)", steps, planned_steps);
+ }
+}
+
+static void
T_do_case_end(T_context *ctx, const T_case_context *tc)
{
const T_config *config;
@@ -976,23 +985,9 @@ T_do_case_end(T_context *ctx, const T_case_context *tc)
memory_order_relaxed);
failures = atomic_fetch_add_explicit(&ctx->failures, 0,
memory_order_relaxed);
+ T_check_steps(planned_steps, steps, failures);
- if (planned_steps != UINT_MAX && planned_steps != steps &&
- failures == 0) {
- ++failures;
-
- if (ctx->verbosity >= T_NORMAL) {
- char scope[T_SCOPE_SIZE];
- size_t len;
-
- len = T_scope(ctx, scope, sizeof(scope) - 1);
- scope[len] = '\0';
- T_printf("F:*:%i:%s:*:*:actual steps (%u), "
- "planned steps (%u)\n", T_cpu(),
- scope, steps, planned_steps);
- }
- }
-
+ failures = atomic_load_explicit(&ctx->failures, memory_order_relaxed);
delta = (*config->now)() - ctx->case_begin_time;
T_do_log(ctx, T_QUIET, "E:%s:N:%u:F:%u:D:%s\n",
tc->name, steps, failures, T_time_to_string_us(delta, ts));
More information about the vc
mailing list