summaryrefslogtreecommitdiffstats
path: root/cpukit/libtest
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-20 10:55:36 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-20 11:06:13 +0100
commit77ac1519e863b7095f69c976353f7647c6f6f63b (patch)
treedae63260f998c0afcbced1394496d6d3df1547fb /cpukit/libtest
parentlibtest: Fix use of T_check_true() (diff)
downloadrtems-77ac1519e863b7095f69c976353f7647c6f6f63b.tar.bz2
libtest: Use test configuration in T_now()
Use the user provided now handler of the test configuration to get the time in T_now().
Diffstat (limited to 'cpukit/libtest')
-rw-r--r--cpukit/libtest/t-test-time.c15
-rw-r--r--cpukit/libtest/t-test.c11
2 files changed, 21 insertions, 5 deletions
diff --git a/cpukit/libtest/t-test-time.c b/cpukit/libtest/t-test-time.c
index 02d729f580..94a9ca393b 100644
--- a/cpukit/libtest/t-test-time.c
+++ b/cpukit/libtest/t-test-time.c
@@ -201,16 +201,20 @@ T_time_to_seconds_and_nanoseconds(T_time time, uint32_t *s, uint32_t *ns)
#endif
}
-#ifndef __rtems__
T_time
-T_now(void)
+T_now_clock(void)
{
+#ifndef __rtems__
struct timespec tp;
(void)clock_gettime(CLOCK_MONOTONIC, &tp);
return (T_time)tp.tv_sec * (T_time)1000000000 + (T_time)tp.tv_nsec;
+#else /* __rtems__ */
+ return (T_time)_Timecounter_Sbinuptime();
+#endif /* __rtems__ */
}
+#ifndef __rtems__
T_ticks
T_tick(void)
{
@@ -218,16 +222,17 @@ T_tick(void)
}
#endif
-static atomic_uint dummy_time;
+static atomic_uint T_dummy_time;
T_time
T_now_dummy(void)
{
- return atomic_fetch_add_explicit(&dummy_time, 1, memory_order_relaxed);
+ return atomic_fetch_add_explicit(&T_dummy_time, 1,
+ memory_order_relaxed);
}
T_time
-T_now_via_tick(void)
+T_now_tick(void)
{
return T_ticks_to_time(T_tick());
}
diff --git a/cpukit/libtest/t-test.c b/cpukit/libtest/t-test.c
index 5e9be54ed2..aedf9a49b1 100644
--- a/cpukit/libtest/t-test.c
+++ b/cpukit/libtest/t-test.c
@@ -994,3 +994,14 @@ T_set_putchar(T_putchar new_putchar, void *new_arg, T_putchar *old_putchar,
ctx->putchar = new_putchar;
ctx->putchar_arg = new_arg;
}
+
+T_time
+T_now(void)
+{
+ T_context *ctx;
+ const T_config *config;
+
+ ctx = &T_instance;
+ config = ctx->config;
+ return (*config->now)();
+}