symbian-qemu-0.9.1-12/qemu-symbian-svp/tests/cris/check_time1.c
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     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 }