chiark / gitweb /
Placate gcc -flto
[disorder] / libtests / t-timeval.c
1 /*
2  * This file is part of DisOrder.
3  * Copyright (C) 2011 Richard Kettlewell
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  * 
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  * 
15  * You should have received a copy of the GNU General Public License
16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 #include "test.h"
19 #include "timeval.h"
20
21 static struct timeval tv(time_t s, unsigned long us) {
22   struct timeval r;
23   r.tv_sec = s;
24   r.tv_usec = us;
25   return r;
26 }
27
28 static void test_timeval(void) {
29   check_integer(tvsub_us(tv(0, 0), 
30                          tv(0, 0)),
31                 0);
32   check_integer(tvsub_us(tv(1, 0), 
33                          tv(0, 0)),
34                 1000000);
35   check_integer(tvsub_us(tv(0, 0), 
36                          tv(1, 0)),
37                 -1000000);
38   check_integer(tvsub_us(tv(1397621862, 1), 
39                          tv(1397621861, 2)),
40                 999999);
41   check_integer(tvsub_us(tv(1397621861, 2), 
42                          tv(1397621862, 1)),
43                 -999999);
44 }
45
46 TEST(timeval);
47
48 /*
49 Local Variables:
50 c-basic-offset:2
51 comment-column:40
52 fill-column:79
53 indent-tabs-mode:nil
54 End:
55 */