Add qemu 2.4.0
[kvmfornfv.git] / qemu / tests / tcg / cris / check_time1.c
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 }