summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/sptimecounter01/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/sptests/sptimecounter01/init.c')
-rw-r--r--testsuites/sptests/sptimecounter01/init.c58
1 files changed, 55 insertions, 3 deletions
diff --git a/testsuites/sptests/sptimecounter01/init.c b/testsuites/sptests/sptimecounter01/init.c
index 47ebb2722c..7b31064f54 100644
--- a/testsuites/sptests/sptimecounter01/init.c
+++ b/testsuites/sptests/sptimecounter01/init.c
@@ -23,11 +23,12 @@
#include <rtems/test.h>
#include <rtems/score/timecounterimpl.h>
+#include <rtems/score/todimpl.h>
#include <rtems/score/watchdogimpl.h>
#include <rtems/timecounter.h>
#include <rtems/bsd.h>
-const char rtems_test_name[] = "SPTIMECOUNTER_1";
+const char rtems_test_name[] = "SPTIMECOUNTER 1";
typedef struct {
struct timecounter tc_soft;
@@ -51,16 +52,67 @@ void boot_card(const char *cmdline)
struct timecounter *tc_soft = &ctx->tc_soft;
uint64_t soft_freq = 1000000;
struct bintime bt;
+ struct timeval tv;
+ struct timespec ts;
rtems_test_begink();
- _Timecounter_Initialize();
_Watchdog_Handler_initialization();
+ assert(time(NULL) == TOD_SECONDS_1970_THROUGH_1988);
+
+ rtems_bsd_bintime(&bt);
+ assert(bt.sec == TOD_SECONDS_1970_THROUGH_1988);
+ assert(bt.frac == 0);
+
+ rtems_bsd_getbintime(&bt);
+ assert(bt.sec == TOD_SECONDS_1970_THROUGH_1988);
+ assert(bt.frac == 0);
+
+ rtems_bsd_microtime(&tv);
+ assert(tv.tv_sec == TOD_SECONDS_1970_THROUGH_1988);
+ assert(tv.tv_usec == 0);
+
+ rtems_bsd_getmicrotime(&tv);
+ assert(tv.tv_sec == TOD_SECONDS_1970_THROUGH_1988);
+ assert(tv.tv_usec == 0);
+
+ rtems_bsd_nanotime(&ts);
+ assert(ts.tv_sec == TOD_SECONDS_1970_THROUGH_1988);
+ assert(ts.tv_nsec == 0);
+
+ rtems_bsd_getnanotime(&ts);
+ assert(ts.tv_sec == TOD_SECONDS_1970_THROUGH_1988);
+ assert(ts.tv_nsec == 0);
+
+ assert(rtems_clock_get_uptime_seconds() == 0);
+ assert(rtems_clock_get_uptime_nanoseconds() == 0);
+
rtems_bsd_binuptime(&bt);
assert(bt.sec == 1);
- assert(bt.frac== 0);
+ assert(bt.frac == 0);
+
+ rtems_bsd_getbinuptime(&bt);
+ assert(bt.sec == 1);
+ assert(bt.frac == 0);
+
+ rtems_bsd_microuptime(&tv);
+ assert(tv.tv_sec == 1);
+ assert(tv.tv_usec == 0);
+
+ rtems_bsd_getmicrouptime(&tv);
+ assert(tv.tv_sec == 1);
+ assert(tv.tv_usec == 0);
+
+ rtems_bsd_nanouptime(&ts);
+ assert(ts.tv_sec == 1);
+ assert(ts.tv_nsec == 0);
+
+ rtems_bsd_getnanouptime(&ts);
+ assert(ts.tv_sec == 1);
+ assert(ts.tv_nsec == 0);
+ /* On RTEMS time does not advance using the dummy timecounter */
rtems_bsd_binuptime(&bt);
assert(bt.sec == 1);
assert(bt.frac == 0);