]> git.ozlabs.org Git - ccan/blobdiff - ccan/timer/test/run-ff.c
timer: change timers_expire() to return a single timer.
[ccan] / ccan / timer / test / run-ff.c
index c40e3b104d92744587af0ae74a6db9125933ab67..148b7f7922e4ddd8d952c66b9d155833c96a601c 100644 (file)
@@ -3,23 +3,26 @@
 #include <ccan/timer/timer.c>
 #include <ccan/tap/tap.h>
 
+static struct timeabs timeabs_from_usec(unsigned long long usec)
+{
+       struct timeabs epoch = { { 0, 0 } };
+       return timeabs_add(epoch, time_from_usec(usec));
+}
+
 int main(void)
 {
        struct timers timers;
-       struct timer t;
-       struct list_head expired;
+       struct timer t, *expired;
 
        /* This is how many tests you plan to run */
        plan_tests(3);
 
-       timers_init(&timers, time_from_usec(1364726722653919ULL));
-       timer_add(&timers, &t, time_from_usec(1364726722703919ULL));
-       timers_expire(&timers, time_from_usec(1364726722653920ULL), &expired);
-       ok1(list_empty(&expired));
-       timers_expire(&timers, time_from_usec(1364726725454187ULL), &expired);
-       ok1(!list_empty(&expired));
-       ok1(list_top(&expired, struct timer, list) == &t);
-
+       timers_init(&timers, timeabs_from_usec(1364726722653919ULL));
+       timer_add(&timers, &t, timeabs_from_usec(1364726722703919ULL));
+       ok1(!timers_expire(&timers, timeabs_from_usec(1364726722653920ULL)));
+       expired = timers_expire(&timers, timeabs_from_usec(1364726725454187ULL));
+       ok1(expired == &t);
+       ok1(!timers_expire(&timers, timeabs_from_usec(1364726725454187ULL)));
        timers_cleanup(&timers);
 
        /* This exits depending on whether all tests passed */