|
|
1.1 ! root 1: /* Basic time functionality test: check that milliseconds are ! 2: incremented for each syscall (does not work on host). */ ! 3: #include <stdio.h> ! 4: #include <time.h> ! 5: #include <sys/time.h> ! 6: #include <string.h> ! 7: #include <stdlib.h> ! 8: ! 9: void err (const char *s) ! 10: { ! 11: perror (s); ! 12: abort (); ! 13: } ! 14: ! 15: int ! 16: main (void) ! 17: { ! 18: struct timeval t_m = {0, 0}; ! 19: struct timezone t_z = {0, 0}; ! 20: struct timeval t_m1 = {0, 0}; ! 21: int i; ! 22: ! 23: if (gettimeofday (&t_m, &t_z) != 0) ! 24: err ("gettimeofday"); ! 25: ! 26: for (i = 1; i < 10000; i++) ! 27: if (gettimeofday (&t_m1, NULL) != 0) ! 28: err ("gettimeofday 1"); ! 29: else ! 30: if (t_m1.tv_sec * 1000000 + t_m1.tv_usec ! 31: != (t_m.tv_sec * 1000000 + t_m.tv_usec + i * 1000)) ! 32: { ! 33: fprintf (stderr, "t0 (%ld, %ld), i %d, t1 (%ld, %ld)\n", ! 34: t_m.tv_sec, t_m.tv_usec, i, t_m1.tv_sec, t_m1.tv_usec); ! 35: abort (); ! 36: } ! 37: ! 38: if (time (NULL) != t_m1.tv_sec) ! 39: { ! 40: fprintf (stderr, "time != gettod\n"); ! 41: abort (); ! 42: } ! 43: ! 44: printf ("pass\n"); ! 45: exit (0); ! 46: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.