progname = argv[0];
Unity.TestFile = "timespecops.c";
UnityBegin("timespecops.c");
- RUN_TEST(test_Helpers1, 149);
- RUN_TEST(test_Normalise, 169);
- RUN_TEST(test_SignNoFrac, 183);
- RUN_TEST(test_SignWithFrac, 195);
- RUN_TEST(test_CmpFracEQ, 209);
- RUN_TEST(test_CmpFracGT, 222);
- RUN_TEST(test_CmpFracLT, 235);
- RUN_TEST(test_AddFullNorm, 252);
- RUN_TEST(test_AddFullOflow1, 266);
- RUN_TEST(test_AddNsecNorm, 280);
- RUN_TEST(test_AddNsecOflow1, 292);
- RUN_TEST(test_SubFullNorm, 308);
- RUN_TEST(test_SubFullOflow, 322);
- RUN_TEST(test_SubNsecNorm, 336);
- RUN_TEST(test_SubNsecOflow, 348);
- RUN_TEST(test_Neg, 364);
- RUN_TEST(test_AbsNoFrac, 381);
- RUN_TEST(test_AbsWithFrac, 392);
- RUN_TEST(test_Helpers2, 407);
- RUN_TEST(test_ToLFPbittest, 439);
- RUN_TEST(test_ToLFPrelPos, 452);
- RUN_TEST(test_ToLFPrelNeg, 464);
- RUN_TEST(test_ToLFPabs, 476);
- RUN_TEST(test_FromLFPbittest, 491);
- RUN_TEST(test_FromLFPrelPos, 510);
- RUN_TEST(test_FromLFPrelNeg, 523);
- RUN_TEST(test_LFProundtrip, 538);
- RUN_TEST(test_ToString, 557);
+ RUN_TEST(test_Helpers1, 206);
+ RUN_TEST(test_Normalise, 226);
+ RUN_TEST(test_SignNoFrac, 240);
+ RUN_TEST(test_SignWithFrac, 252);
+ RUN_TEST(test_CmpFracEQ, 266);
+ RUN_TEST(test_CmpFracGT, 279);
+ RUN_TEST(test_CmpFracLT, 292);
+ RUN_TEST(test_AddFullNorm, 309);
+ RUN_TEST(test_AddFullOflow1, 323);
+ RUN_TEST(test_AddNsecNorm, 337);
+ RUN_TEST(test_AddNsecOflow1, 349);
+ RUN_TEST(test_SubFullNorm, 365);
+ RUN_TEST(test_SubFullOflow, 379);
+ RUN_TEST(test_SubNsecNorm, 393);
+ RUN_TEST(test_SubNsecOflow, 405);
+ RUN_TEST(test_Neg, 421);
+ RUN_TEST(test_AbsNoFrac, 438);
+ RUN_TEST(test_AbsWithFrac, 449);
+ RUN_TEST(test_Helpers2, 464);
+ RUN_TEST(test_ToLFPbittest, 496);
+ RUN_TEST(test_ToLFPrelPos, 509);
+ RUN_TEST(test_ToLFPrelNeg, 521);
+ RUN_TEST(test_ToLFPabs, 533);
+ RUN_TEST(test_FromLFPbittest, 548);
+ RUN_TEST(test_FromLFPrelPos, 567);
+ RUN_TEST(test_FromLFPrelNeg, 580);
+ RUN_TEST(test_LFProundtrip, 595);
+ RUN_TEST(test_ToString, 614);
return (UnityEnd());
}
progname = argv[0];
Unity.TestFile = "timevalops.c";
UnityBegin("timevalops.c");
- RUN_TEST(test_Helpers1, 149);
- RUN_TEST(test_Normalise, 169);
- RUN_TEST(test_SignNoFrac, 183);
- RUN_TEST(test_SignWithFrac, 195);
- RUN_TEST(test_CmpFracEQ, 210);
- RUN_TEST(test_CmpFracGT, 224);
- RUN_TEST(test_CmpFracLT, 238);
- RUN_TEST(test_AddFullNorm, 256);
- RUN_TEST(test_AddFullOflow1, 270);
- RUN_TEST(test_AddUsecNorm, 284);
- RUN_TEST(test_AddUsecOflow1, 296);
- RUN_TEST(test_SubFullNorm, 312);
- RUN_TEST(test_SubFullOflow, 326);
- RUN_TEST(test_SubUsecNorm, 340);
- RUN_TEST(test_SubUsecOflow, 352);
- RUN_TEST(test_Neg, 368);
- RUN_TEST(test_AbsNoFrac, 385);
- RUN_TEST(test_AbsWithFrac, 396);
- RUN_TEST(test_Helpers2, 412);
- RUN_TEST(test_ToLFPbittest, 445);
- RUN_TEST(test_ToLFPrelPos, 460);
- RUN_TEST(test_ToLFPrelNeg, 474);
- RUN_TEST(test_ToLFPabs, 487);
- RUN_TEST(test_FromLFPbittest, 505);
- RUN_TEST(test_FromLFPrelPos, 523);
- RUN_TEST(test_FromLFPrelNeg, 536);
- RUN_TEST(test_LFProundtrip, 550);
- RUN_TEST(test_ToString, 569);
+ RUN_TEST(test_Helpers1, 201);
+ RUN_TEST(test_Normalise, 221);
+ RUN_TEST(test_SignNoFrac, 235);
+ RUN_TEST(test_SignWithFrac, 247);
+ RUN_TEST(test_CmpFracEQ, 262);
+ RUN_TEST(test_CmpFracGT, 276);
+ RUN_TEST(test_CmpFracLT, 290);
+ RUN_TEST(test_AddFullNorm, 308);
+ RUN_TEST(test_AddFullOflow1, 322);
+ RUN_TEST(test_AddUsecNorm, 336);
+ RUN_TEST(test_AddUsecOflow1, 348);
+ RUN_TEST(test_SubFullNorm, 364);
+ RUN_TEST(test_SubFullOflow, 378);
+ RUN_TEST(test_SubUsecNorm, 392);
+ RUN_TEST(test_SubUsecOflow, 404);
+ RUN_TEST(test_Neg, 420);
+ RUN_TEST(test_AbsNoFrac, 437);
+ RUN_TEST(test_AbsWithFrac, 448);
+ RUN_TEST(test_Helpers2, 464);
+ RUN_TEST(test_ToLFPbittest, 497);
+ RUN_TEST(test_ToLFPrelPos, 512);
+ RUN_TEST(test_ToLFPrelNeg, 526);
+ RUN_TEST(test_ToLFPabs, 539);
+ RUN_TEST(test_FromLFPbittest, 557);
+ RUN_TEST(test_FromLFPrelPos, 575);
+ RUN_TEST(test_FromLFPrelNeg, 588);
+ RUN_TEST(test_LFProundtrip, 602);
+ RUN_TEST(test_ToString, 621);
return (UnityEnd());
}
return V;
}
+char * timespectoa( const struct timespec *in)
+{
+ long nsec, q;
+ long long sec;
+ char sign;
+
+ nsec = in->tv_nsec;
+ sec = in->tv_sec;
+
+ /* normalise time stamp first. This is a floor division. Let
+ * the compiler sort out the division itself.
+ */
+ q = nsec / 1000000000;
+ nsec = nsec % 1000000000;
+ if (nsec < 0) {
+ q -= 1;
+ nsec += 1000000000;
+ }
+ sec += q;
+
+ /* get absolute value */
+ if (sec < 0) {
+ sign = '-';
+ sec = -sec;
+ if (nsec) {
+ nsec = 1000000000 - nsec;
+ sec -= 1;
+ }
+ } else {
+ sign = '+';
+ }
+
+ size_t sz;
+ //sz = snprintf(NULL, 0, "%c%llu.%09u", sign, (unsigned long long)sec, (unsigned int)nsec);
+ //printf("NUM: %d\n",sz);
+ //char * buf = (char *)malloc(sz+1);
+ //snprintf(buf, sz+1, "%c%llu.%09u", sign, (unsigned long long)sec, (unsigned int)nsec);
+ char * buf = (char *)malloc(48);
+ sz = snprintf(buf, 48, "%c%llu.%09u", sign, (unsigned long long)sec, (unsigned int)nsec);
+ //printf("NUM: %d\n",sz);
+ if(sz > 48){
+ printf("ERROR: insufficient space allocated\n");
+ } //this should never happen
+
+ return buf;
+}
+
+
+
//taken from lfpfunc.c -> maybe remove this from timevalops.c and lfpfunc. and put in c_timstructs.h ????!!!!!
l_fp l_fp_init(int32 i, u_int32 f)
{
return TRUE;
else
{
- printf("m_expr which is %ld.%lu \nand\nn_expr which is %ld.%lu\nare not close; diff=%ld.%lunsec\n",m.tv_sec,m.tv_nsec,n.tv_sec,n.tv_nsec,diff.tv_sec,diff.tv_nsec);
+ char * a = timespectoa(&m);
+ char * b = timespectoa(&n);
+ char * c = timespectoa(&diff);
+ printf("TIMESPEC_PRINTF:\nm_expr %s n_expr %s diff %s\n",a,b,c);
+ free(a);
+ free(b);
+ free(c);
+ //printf below is wrong
+ //printf("m_expr which is %ld.%lu \nand\nn_expr which is %ld.%lu\nare not close; diff=%ld.%lunsec\n",m.tv_sec,m.tv_nsec,n.tv_sec,n.tv_nsec,diff.tv_sec,diff.tv_nsec);
return FALSE;
}
}
const bool timeval_isValid(struct timeval V)
{ return V.tv_usec >= 0 && V.tv_usec < 1000000; }
+char * timevaltoa( const struct timeval *in)
+{
+ suseconds_t usec, q;
+ long long sec;
+ char sign;
+
+ usec = in->tv_usec;
+ sec = in->tv_sec;
+
+ /* normalise time stamp first. This is a floor division. Let
+ * the compiler sort out the division itself.
+ */
+ q = usec / 1000000;
+ usec = usec % 1000000;
+ if (usec < 0) {
+ q -= 1;
+ usec += 1000000;
+ }
+ sec += q;
+
+ /* get absolute value */
+ if (sec < 0) {
+ sign = '-';
+ sec = -sec;
+ if (usec) {
+ usec = 1000000 - usec;
+ sec -= 1;
+ }
+ } else {
+ sign = '+';
+ }
+
+ size_t sz;
+ char * buf = (char *)malloc(48);
+ sz = snprintf(buf, 48, "%c%llu.%06u", sign, (unsigned long long)sec, (unsigned int)usec);
+
+ if(sz > 48){
+ printf("ERROR: insufficient space allocated");
+ } //this should never happen
+
+ return buf;
+}
+
+
//taken from lfpfunc.c -> maybe remove this from timevalops.c and lfpfunc. and put in c_timstructs.h ????!!!!!
l_fp l_fp_init(int32 i, u_int32 f)
{
else
{
- printf("m_expr which is %ld.%lu \nand\nn_expr which is %ld.%lu\nare not close; diff=%ld.%luusec\n",m.tv_sec,m.tv_usec,n.tv_sec,n.tv_usec,diff.tv_sec,diff.tv_usec);
+ char * a = timevaltoa(&m);
+ char * b = timevaltoa(&n);
+ char * c = timevaltoa(&diff);
+ printf("TIMESPEC_PRINTF:\nm_expr %s n_expr %s diff %s\n",a,b,c);
+ free(a);
+ free(b);
+ free(c);
+ //printf below is wrong
+ //printf("m_expr which is %ld.%lu \nand\nn_expr which is %ld.%lu\nare not close; diff=%ld.%luusec\n",m.tv_sec,m.tv_usec,n.tv_sec,n.tv_usec,diff.tv_sec,diff.tv_usec);
//I don't have variables m_expr and n_expr in unity, those are command line arguments which only getst has!!!
return FALSE;