Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
[qemu/cris-port.git] / tests / tcg / cris / check_time1.c
blob3fcf0e153523ba8882ba0777cc682d68453fdeb7
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>
9 void err (const char *s)
11 perror (s);
12 abort ();
15 int
16 main (void)
18 struct timeval t_m = {0, 0};
19 struct timezone t_z = {0, 0};
20 struct timeval t_m1 = {0, 0};
21 int i;
23 if (gettimeofday (&t_m, &t_z) != 0)
24 err ("gettimeofday");
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))
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 ();
38 if (time (NULL) != t_m1.tv_sec)
40 fprintf (stderr, "time != gettod\n");
41 abort ();
44 printf ("pass\n");
45 exit (0);