|
|
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.