diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-11 13:02:06 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-12 11:35:41 +0100 |
commit | 599d71f7ffdde091108b4bd516bf990ae5c3a082 (patch) | |
tree | f754c0db24e7c69626c38d4792cae03b590d8285 /testsuites/sptests/sptimecounter01 | |
parent | score: Simplify _Thread_Start() (diff) | |
download | rtems-599d71f7ffdde091108b4bd516bf990ae5c3a082.tar.bz2 |
score: Statically initialize TOD handler
Diffstat (limited to 'testsuites/sptests/sptimecounter01')
-rw-r--r-- | testsuites/sptests/sptimecounter01/init.c | 58 |
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); |