X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/8138da17f57ec235dbae5a7e025c55798aea895f..b2516a075e684cd6d7e0072ef43cf6ccf00609e5:/libtests/t-timeval.c diff --git a/libtests/t-timeval.c b/libtests/t-timeval.c new file mode 100644 index 0000000..3f7beb6 --- /dev/null +++ b/libtests/t-timeval.c @@ -0,0 +1,55 @@ +/* + * This file is part of DisOrder. + * Copyright (C) 2011 Richard Kettlewell + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "test.h" +#include "timeval.h" + +static struct timeval tv(time_t s, unsigned long us) { + struct timeval r; + r.tv_sec = s; + r.tv_usec = us; + return r; +} + +static void test_timeval(void) { + check_integer(tvsub_us(tv(0, 0), + tv(0, 0)), + 0); + check_integer(tvsub_us(tv(1, 0), + tv(0, 0)), + 1000000); + check_integer(tvsub_us(tv(0, 0), + tv(1, 0)), + -1000000); + check_integer(tvsub_us(tv(1397621862, 1), + tv(1397621861, 2)), + 999999); + check_integer(tvsub_us(tv(1397621861, 2), + tv(1397621862, 1)), + -999999); +} + +TEST(timeval); + +/* +Local Variables: +c-basic-offset:2 +comment-column:40 +fill-column:79 +indent-tabs-mode:nil +End: +*/