X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Ftimer_test.c;h=22b18761d2e9e84b3d15c55e750ff5e994a745a2;hb=6a60d159530b29a6f60edbad42d0e31c1f1994d9;hp=98412233200850e629457d6eca56056e39d8dc74;hpb=9b772513612e61350b1a09277c127e29dd62fea6;p=bertos.git diff --git a/bertos/drv/timer_test.c b/bertos/drv/timer_test.c index 98412233..22b18761 100644 --- a/bertos/drv/timer_test.c +++ b/bertos/drv/timer_test.c @@ -33,7 +33,7 @@ * \brief Hardware independent timer driver (implementation) * * \version $Id$ - * \author Bernardo Innocenti + * \author Bernie Innocenti */ #include @@ -43,7 +43,7 @@ #include -#warning TODO:Refactor this test to comply whit BeRTOS test policy. +#include static void timer_test_constants(void) { @@ -93,10 +93,11 @@ static void timer_test_hook(iptr_t _timer) timer_add(timer); } +static Timer test_timers[5]; +static const mtime_t test_delays[5] = { 170, 50, 310, 1500, 310 }; + static void timer_test_async(void) { - static Timer test_timers[5]; - static const mtime_t test_delays[5] = { 170, 50, 310, 1500, 310 }; size_t i; for (i = 0; i < countof(test_timers); ++i) @@ -127,21 +128,38 @@ static void timer_test_poll(void) } } -#ifdef _TEST - -#include "timer.c" -#include "mware/event.c" -#include "os/hptime.c" - -int main(void) +int timer_testSetup(void) { + IRQ_ENABLE; wdt_init(7); timer_init(); + kdbg_init(); + return 0; +} + +int timer_testRun(void) +{ timer_test_constants(); timer_test_delay(); timer_test_async(); timer_test_poll(); return 0; } -#endif + +int timer_testTearDown(void) +{ + unsigned i; + for (i = 0; i < countof(test_timers); ++i) + timer_abort(&test_timers[i]); + return 0; +} + +#include TEST_ONLY(drv/timer.c) +#include TEST_ONLY(drv/kdebug.c) +#include TEST_ONLY(mware/event.c) +#include TEST_ONLY(mware/formatwr.c) +#include TEST_ONLY(mware/hex.c) +#include TEST_ONLY(os/hptime.c) + +TEST_MAIN(timer);