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 |
} |