summaryrefslogtreecommitdiff
path: root/ccan/timer/test/run-expiry.c
blob: 1c276c2c9016332d1101343f815980bae9d177d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <ccan/timer/timer.h>
/* Include the C files directly. */
#include <ccan/timer/timer.c>
#include <ccan/tap/tap.h>

int main(void)
{
	struct timers timers;
	struct timer t;

	/* This is how many tests you plan to run */
	plan_tests(7);

	timers_init(&timers, grains_to_time(1364984760903400ULL));
	ok1(timers.base == 1364984760903400ULL);
	timer_init(&t);
	timer_add(&timers, &t, grains_to_time(1364984761003398ULL));
	ok1(t.time == 1364984761003398ULL);
	ok1(timers.first == 1364984761003398ULL);
	ok1(!timers_expire(&timers, grains_to_time(1364984760903444ULL)));
	ok1(timers_check(&timers, NULL));
	ok1(!timers_expire(&timers, grains_to_time(1364984761002667ULL)));
	ok1(timers_check(&timers, NULL));

	timers_cleanup(&timers);

	/* This exits depending on whether all tests passed */
	return exit_status();
}