aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/tests/posix/timer.c
blob: f39e92833b6db61f016004896e6da3005c3947ce (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
#include <stdio.h>
#include <sys/time.h>
#include <assert.h>

int main() {
	struct timeval a = {0, 0};
	struct timeval b = {0, 0};
	struct timeval res = {0, 0};
	a.tv_sec = 10;
	assert(timerisset(&a) == 1);
	timerclear(&a);
	assert(timerisset(&a) == 0);
	a.tv_sec = 40;
	a.tv_usec = 500;
	b.tv_sec = 10;
	b.tv_usec = 20;
	timeradd(&a, &b, &res);
	assert(res.tv_sec == 50);
	assert(res.tv_usec == 520);
	timerclear(&res);
	timersub(&a, &b, &res);
	assert(res.tv_sec == 30);
	assert(res.tv_usec == 480);
	return 0;
}