[PATCH 6/8] libtest: Add T_check_steps()
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Aug 13 10:11:31 UTC 2020
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 26fe988b11..21e9afe190 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;
@@ -937,6 +935,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)
{
@@ -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));
--
2.26.2
More information about the devel
mailing list