macros.c 704 B

1234567891011121314151617181920212223242526
  1. #include <assert.h>
  2. #include <sys/time.h>
  3. int main() {
  4. struct timeval x = { .tv_sec = 0, .tv_usec = 15 };
  5. struct timeval y = { .tv_sec = 0, .tv_usec = 0 };
  6. struct timeval one = { .tv_sec = 0, .tv_usec = 1 };
  7. struct timeval max_usec = { .tv_sec = 0, .tv_usec = 999999 };
  8. assert(!timerisset(&y));
  9. assert(timerisset(&x));
  10. timerclear(&x);
  11. assert(!timerisset(&x));
  12. assert(timercmp(&x, &y, ==));
  13. timeradd(&y, &one, &y);
  14. assert(!timercmp(&x, &y, ==));
  15. assert(timercmp(&x, &y, <));
  16. timeradd(&y, &max_usec, &y);
  17. assert(y.tv_sec == 1);
  18. assert(y.tv_usec == 0);
  19. timersub(&y, &one, &y);
  20. assert(y.tv_sec == 0);
  21. assert(y.tv_usec == 999999);
  22. }