/* See LICENSE file for copyright and license details. */ #include "libsimple.h" #ifndef TEST extern inline int libsimple_cmptimeval(const struct timeval *, const struct timeval *); #else #include "test.h" int main(void) { struct timeval tv1, tv2; tv1.tv_sec = 0; tv1.tv_usec = 0L; tv2.tv_sec = 0; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 0); tv1.tv_sec = 0; tv1.tv_usec = 1L; tv2.tv_sec = 0; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 0; tv1.tv_usec = 999999L; tv2.tv_sec = 0; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 0; tv1.tv_usec = 0L; tv2.tv_sec = 0; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 0; tv1.tv_usec = 1L; tv2.tv_sec = 0; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == 0); tv1.tv_sec = 0; tv1.tv_usec = 999999L; tv2.tv_sec = 0; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 0; tv1.tv_usec = 0L; tv2.tv_sec = 0; tv2.tv_usec = 999999L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 0; tv1.tv_usec = 1L; tv2.tv_sec = 0; tv2.tv_usec = 999999L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 0; tv1.tv_usec = 999999L; tv2.tv_sec = 0; tv2.tv_usec = 999999L; assert(libsimple_cmptimeval(&tv1, &tv2) == 0); tv1.tv_sec = 1; tv1.tv_usec = 0L; tv2.tv_sec = 0; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 1; tv1.tv_usec = 1L; tv2.tv_sec = 0; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 1; tv1.tv_usec = 0L; tv2.tv_sec = 0; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 1; tv1.tv_usec = 1L; tv2.tv_sec = 0; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 0; tv1.tv_usec = 0L; tv2.tv_sec = 1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 0; tv1.tv_usec = 1L; tv2.tv_sec = 1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 0; tv1.tv_usec = 0L; tv2.tv_sec = 1; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 0; tv1.tv_usec = 1L; tv2.tv_sec = 1; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 1; tv1.tv_usec = 0L; tv2.tv_sec = 1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 0); tv1.tv_sec = 1; tv1.tv_usec = 1L; tv2.tv_sec = 1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 1; tv1.tv_usec = 0L; tv2.tv_sec = 1; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 1; tv1.tv_usec = 1L; tv2.tv_sec = 1; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == 0); tv1.tv_sec = -1; tv1.tv_usec = 0L; tv2.tv_sec = 0; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = -1; tv1.tv_usec = 1L; tv2.tv_sec = 0; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = -1; tv1.tv_usec = 0L; tv2.tv_sec = 0; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = -1; tv1.tv_usec = 1L; tv2.tv_sec = 0; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 0; tv1.tv_usec = 0L; tv2.tv_sec = -1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 0; tv1.tv_usec = 1L; tv2.tv_sec = -1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 0; tv1.tv_usec = 0L; tv2.tv_sec = -1; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = 0; tv1.tv_usec = 1L; tv2.tv_sec = -1; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = -1; tv1.tv_usec = 0L; tv2.tv_sec = -1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 0); tv1.tv_sec = -1; tv1.tv_usec = 1L; tv2.tv_sec = -1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = -1; tv1.tv_usec = 0L; tv2.tv_sec = -1; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = -1; tv1.tv_usec = 1L; tv2.tv_sec = -1; tv2.tv_usec = 1L; assert(libsimple_cmptimeval(&tv1, &tv2) == 0); tv1.tv_sec = 0; tv1.tv_usec = 0L; tv2.tv_sec = TIME_MAX; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = 1; tv1.tv_usec = 0L; tv2.tv_sec = TIME_MAX; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); tv1.tv_sec = TIME_MAX; tv1.tv_usec = 0L; tv2.tv_sec = TIME_MAX; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 0); tv1.tv_sec = 1; tv1.tv_usec = 0L; tv2.tv_sec = -1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == 1); tv1.tv_sec = -1; tv1.tv_usec = 0L; tv2.tv_sec = 1; tv2.tv_usec = 0L; assert(libsimple_cmptimeval(&tv1, &tv2) == -1); return 0; } #endif