Statistics
| Branch: | Revision:

root / tests / cris / check_time1.c @ dd43edf4

History | View | Annotate | Download (962 Bytes)

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
}