OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gdb/] [gdb-6.8/] [gdb-6.8.openrisc-2.1/] [sim/] [testsuite/] [sim/] [cris/] [c/] [time1.c] - Diff between revs 24 and 33

Only display areas with differences | Details | Blame | View Log

Rev 24 Rev 33
/* Basic time functionality test: check that milliseconds are
/* Basic time functionality test: check that milliseconds are
   incremented for each syscall (does not work on host).  */
   incremented for each syscall (does not work on host).  */
#include <stdio.h>
#include <stdio.h>
#include <time.h>
#include <time.h>
#include <sys/time.h>
#include <sys/time.h>
#include <string.h>
#include <string.h>
#include <stdlib.h>
#include <stdlib.h>
 
 
void err (const char *s)
void err (const char *s)
{
{
  perror (s);
  perror (s);
  abort ();
  abort ();
}
}
 
 
int
int
main (void)
main (void)
{
{
  struct timeval t_m = {0, 0};
  struct timeval t_m = {0, 0};
  struct timezone t_z = {0, 0};
  struct timezone t_z = {0, 0};
  struct timeval t_m1 = {0, 0};
  struct timeval t_m1 = {0, 0};
  int i;
  int i;
 
 
  if (gettimeofday (&t_m, &t_z) != 0)
  if (gettimeofday (&t_m, &t_z) != 0)
    err ("gettimeofday");
    err ("gettimeofday");
 
 
  for (i = 1; i < 10000; i++)
  for (i = 1; i < 10000; i++)
    if (gettimeofday (&t_m1, NULL) != 0)
    if (gettimeofday (&t_m1, NULL) != 0)
      err ("gettimeofday 1");
      err ("gettimeofday 1");
    else
    else
      if (t_m1.tv_sec * 1000000 + t_m1.tv_usec
      if (t_m1.tv_sec * 1000000 + t_m1.tv_usec
          != (t_m.tv_sec * 1000000 + t_m.tv_usec + i * 1000))
          != (t_m.tv_sec * 1000000 + t_m.tv_usec + i * 1000))
        {
        {
          fprintf (stderr, "t0 (%ld, %ld), i %d, t1 (%ld, %ld)\n",
          fprintf (stderr, "t0 (%ld, %ld), i %d, t1 (%ld, %ld)\n",
                   t_m.tv_sec, t_m.tv_usec, i, t_m1.tv_sec, t_m1.tv_usec);
                   t_m.tv_sec, t_m.tv_usec, i, t_m1.tv_sec, t_m1.tv_usec);
          abort ();
          abort ();
        }
        }
 
 
  if (time (NULL) != t_m1.tv_sec)
  if (time (NULL) != t_m1.tv_sec)
    {
    {
      fprintf (stderr, "time != gettod\n");
      fprintf (stderr, "time != gettod\n");
      abort ();
      abort ();
    }
    }
 
 
  printf ("pass\n");
  printf ("pass\n");
  exit (0);
  exit (0);
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.