Reformat.
[bertos.git] / bertos / drv / timer_test.c
index 98412233200850e629457d6eca56056e39d8dc74..22b18761d2e9e84b3d15c55e750ff5e994a745a2 100644 (file)
@@ -33,7 +33,7 @@
  * \brief Hardware independent timer driver (implementation)
  *
  * \version $Id$
- * \author Bernardo Innocenti <bernie@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
  */
 
 #include <cfg/test.h>
@@ -43,7 +43,7 @@
 
 #include <mware/event.h>
 
-#warning TODO:Refactor this test to comply whit BeRTOS test policy.
+#include <cfg/debug.h>
 
 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);