~ahs3/+junk/cq-qemu

« back to all changes in this revision

Viewing changes to tests/cris/check_time1.c

  • Committer: Al Stone
  • Date: 2012-02-09 01:17:20 UTC
  • Revision ID: albert.stone@canonical.com-20120209011720-tztl7ik3qayz80p4
first commit to bzr for qemu

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
}