fixed some build file flaws
This commit is contained in:
136
t/t-006.c
Normal file
136
t/t-006.c
Normal file
@ -0,0 +1,136 @@
|
||||
|
||||
#include <hawk-utl.h>
|
||||
#include <stdio.h>
|
||||
#include "tap.h"
|
||||
|
||||
|
||||
struct
|
||||
{
|
||||
hawk_ntime_sec_t s1; /* input x */
|
||||
hawk_ntime_nsec_t ns1;
|
||||
|
||||
hawk_ntime_sec_t s2; /* input y */
|
||||
hawk_ntime_nsec_t ns2;
|
||||
|
||||
hawk_ntime_sec_t add_s; /* expected z after addition */
|
||||
hawk_ntime_nsec_t add_ns;
|
||||
|
||||
hawk_ntime_sec_t sub_s; /* expected z after subtraction */
|
||||
hawk_ntime_nsec_t sub_ns;
|
||||
} tab[] =
|
||||
{
|
||||
/* 0 */
|
||||
{ 12345678, HAWK_NSECS_PER_SEC - 1,
|
||||
0, 10,
|
||||
12345679, 9,
|
||||
12345678, HAWK_NSECS_PER_SEC - 11 },
|
||||
|
||||
{ 0, 0,
|
||||
12345678, 10,
|
||||
12345678, 10,
|
||||
-12345679, HAWK_NSECS_PER_SEC - 10 },
|
||||
|
||||
{ 0, 0,
|
||||
-12345678, 10,
|
||||
-12345678, 10,
|
||||
12345677, HAWK_NSECS_PER_SEC - 10 },
|
||||
|
||||
{ HAWK_TYPE_MAX(hawk_ntime_sec_t) - 1, HAWK_NSECS_PER_SEC - 1,
|
||||
1, 0,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), HAWK_NSECS_PER_SEC - 1,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t) - 2, HAWK_NSECS_PER_SEC - 1 },
|
||||
|
||||
{ HAWK_TYPE_MAX(hawk_ntime_sec_t) - 1, HAWK_NSECS_PER_SEC - 1,
|
||||
1, 1,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), HAWK_NSECS_PER_SEC - 1,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t) - 2, HAWK_NSECS_PER_SEC - 2 },
|
||||
|
||||
/* 5 */
|
||||
{ HAWK_TYPE_MAX(hawk_ntime_sec_t) - 1, HAWK_NSECS_PER_SEC - 1,
|
||||
1, 2,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), HAWK_NSECS_PER_SEC - 1,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t) - 2, HAWK_NSECS_PER_SEC - 3 },
|
||||
|
||||
{ HAWK_TYPE_MAX(hawk_ntime_sec_t), 0,
|
||||
0, 0,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), 0,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), 0 },
|
||||
|
||||
{ HAWK_TYPE_MIN(hawk_ntime_sec_t), 0,
|
||||
0, 0,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0 },
|
||||
|
||||
{ HAWK_TYPE_MIN(hawk_ntime_sec_t) + 1, 0,
|
||||
1, 2,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t) + 2, 2,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0 },
|
||||
|
||||
{ HAWK_TYPE_MIN(hawk_ntime_sec_t) + 1, 0,
|
||||
2, 2,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t) + 3, 2,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0 },
|
||||
|
||||
/* 10 */
|
||||
{ HAWK_TYPE_MIN(hawk_ntime_sec_t) + 1, 0,
|
||||
2, HAWK_NSECS_PER_SEC - 1,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t) + 3, HAWK_NSECS_PER_SEC - 1,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0 },
|
||||
|
||||
{ 0, 0,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), HAWK_NSECS_PER_SEC - 1 },
|
||||
|
||||
{ HAWK_TYPE_MAX(hawk_ntime_sec_t), 0,
|
||||
1, 0,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), HAWK_NSECS_PER_SEC - 1,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t) - 1, 0 },
|
||||
|
||||
{ HAWK_TYPE_MAX(hawk_ntime_sec_t), 0,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0,
|
||||
-1, 0,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), HAWK_NSECS_PER_SEC - 1 },
|
||||
|
||||
{ HAWK_TYPE_MIN(hawk_ntime_sec_t), 0,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), 0,
|
||||
-1, 0,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0 },
|
||||
|
||||
/* 15 */
|
||||
{ HAWK_TYPE_MIN(hawk_ntime_sec_t), 0,
|
||||
HAWK_TYPE_MAX(hawk_ntime_sec_t), HAWK_NSECS_PER_SEC - 1,
|
||||
-1, HAWK_NSECS_PER_SEC - 1,
|
||||
HAWK_TYPE_MIN(hawk_ntime_sec_t), 0 }
|
||||
};
|
||||
|
||||
int main ()
|
||||
{
|
||||
hawk_ntime_t x, y, z;
|
||||
int i;
|
||||
char buf1[64], buf2[64];
|
||||
|
||||
no_plan();
|
||||
|
||||
for (i = 0; i < HAWK_COUNTOF(tab); i++)
|
||||
{
|
||||
sprintf (buf1, "add - index %d", i);
|
||||
sprintf (buf2, "sub - index %d", i);
|
||||
|
||||
x.sec = tab[i].s1;
|
||||
x.nsec = tab[i].ns1;
|
||||
y.sec = tab[i].s2;
|
||||
y.nsec = tab[i].ns2;
|
||||
|
||||
hawk_add_ntime (&z, &x, &y);
|
||||
OK (z.sec == tab[i].add_s, buf1);
|
||||
OK (z.nsec == tab[i].add_ns, buf1);
|
||||
|
||||
hawk_sub_ntime (&z, &x, &y);
|
||||
OK (z.sec == tab[i].sub_s, buf2);
|
||||
OK (z.nsec == tab[i].sub_ns, buf2);
|
||||
|
||||
}
|
||||
|
||||
return exit_status();
|
||||
}
|
Reference in New Issue
Block a user