void test_PreviousYear(void);
void test_NextYear(void);
void test_NoReasonableConversion(void);
+int isLE(u_int32 diff,u_int32 actual);
void test_AlwaysInLimit(void);
}
+
+typedef int bool; // typedef enum { FALSE, TRUE } boolean; -> can't use this because TRUE and FALSE are already defined
+
+
+typedef struct {
+ uint32_t h, l;
+} lfp_hl;
+
+
+int l_fp_scmp(const l_fp first, const l_fp second);
+int l_fp_ucmp(const l_fp first, l_fp second );
+l_fp l_fp_init(int32 i, u_int32 f);
+l_fp l_fp_add(const l_fp first, const l_fp second);
+l_fp l_fp_subtract(const l_fp first, const l_fp second);
+l_fp l_fp_negate(const l_fp first);
+l_fp l_fp_abs(const l_fp first);
+int l_fp_signum(const l_fp first);
+double l_fp_convert_to_double(const l_fp first);
+l_fp l_fp_init_from_double( double rhs);
+void l_fp_swap(l_fp * first, l_fp *second);
+bool l_isgt(const l_fp first, const l_fp second);
+bool l_isgtu(const l_fp first, const l_fp second);
+bool l_ishis(const l_fp first, const l_fp second);
+bool l_isgeq(const l_fp first, const l_fp second);
+bool l_isequ(const l_fp first, const l_fp second);
+double eps(double d);
+
+
void test_AdditionLR(void);
void test_AdditionRL(void);
void test_SubtractionLR(void);
-typedef struct {
- uint32_t h, l;
-} lfp_hl;
-
-
static int cmp_work(u_int32 a[3], u_int32 b[3]);
//----------------------------------------------------------------------
// readable failure messages.
//----------------------------------------------------------------------
-typedef int bool; // typedef enum { FALSE, TRUE } boolean; -> can't use this because TRUE and FALSE are already defined
-
bool
l_isgt (const l_fp first, const l_fp second) {
#include "sockaddrtest.h"
+
+void test_ClassBAddress(void);
+void test_ClassCAddress(void);
+void test_ClassAAddress(void);
+void test_IPv6Address(void);
+
+
+
void test_ClassBAddress(void) {
sockaddr_u input = CreateSockaddr4("172.16.2.1", NTP_PORT);
sockaddr_u expected = CreateSockaddr4("172.16.0.0", NTP_PORT);
#include "unity.h"
+void test_Address(void);
+void test_Netmask(void);
void
test_Address(void) {
#include "unity.h"
+void test_LoopbackNetNonResolve(void);
+
void
test_LoopbackNetNonResolve(void) {
/* A loopback address in 127.0.0.0/8 is chosen, and
#include "unity.h"
+
+void test_SingleDigit(void);
+void test_MultipleDigits(void);
+void test_Zero(void);
+void test_MaximumUnsigned32bit(void);
+void test_Overflow(void);
+void test_IllegalCharacter(void);
+void test_IllegalDigit(void);
+
+
void test_SingleDigit(void) {
const char* str = "5";
u_long actual;
#include "unity.h"
+void test_ConstantDate(void);
+
+
void
test_ConstantDate(void) {
const u_int32 HALF = 2147483648UL;
#include "unity.h"
+void setUp(void);
+void test_Initialization(void);
+void test_GetAndFree(void);
+void test_GetAndFill(void);
void
setUp(void)
* 254.255.255.255
*/
+
+
void rtol(uint32_t r, char *es);
+void rtoltor(uint32_t er, char *es);
+void ltor(l_fp l, char *er);
+void test_refidsmear(void);
void
rtol(uint32_t r, char *es)
}
-void rtoltor(uint32_t er, char *es);
+
void
rtoltor(uint32_t er, char *es)
}
-void ltor(l_fp l, char *er);
-
void
ltor(l_fp l, char *er)
{
/* Might need to be updated if a new refclock gets this id. */
static const int UNUSED_REFCLOCK_ID = 250;
+void test_LocalClock(void);
+void test_UnknownId(void);
+
+
void
test_LocalClock(void) {
#ifdef REFCLOCK /* clockname() is useless otherwise */
RUN_TEST(test_PreviousYear, 15);
RUN_TEST(test_NextYear, 16);
RUN_TEST(test_NoReasonableConversion, 17);
- RUN_TEST(test_AlwaysInLimit, 18);
+ RUN_TEST(test_AlwaysInLimit, 19);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("lfpfunc.c");
- RUN_TEST(test_AdditionLR, 22);
- RUN_TEST(test_AdditionRL, 23);
- RUN_TEST(test_SubtractionLR, 24);
- RUN_TEST(test_SubtractionRL, 25);
- RUN_TEST(test_Negation, 26);
- RUN_TEST(test_Absolute, 27);
- RUN_TEST(test_FDF_RoundTrip, 28);
- RUN_TEST(test_SignedRelOps, 29);
- RUN_TEST(test_UnsignedRelOps, 30);
+ RUN_TEST(test_AdditionLR, 50);
+ RUN_TEST(test_AdditionRL, 51);
+ RUN_TEST(test_SubtractionLR, 52);
+ RUN_TEST(test_SubtractionRL, 53);
+ RUN_TEST(test_Negation, 54);
+ RUN_TEST(test_Absolute, 55);
+ RUN_TEST(test_FDF_RoundTrip, 56);
+ RUN_TEST(test_SignedRelOps, 57);
+ RUN_TEST(test_UnsignedRelOps, 58);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("netof.c");
- RUN_TEST(test_ClassBAddress, 10);
- RUN_TEST(test_ClassCAddress, 20);
- RUN_TEST(test_ClassAAddress, 30);
- RUN_TEST(test_IPv6Address, 43);
+ RUN_TEST(test_ClassBAddress, 11);
+ RUN_TEST(test_ClassCAddress, 12);
+ RUN_TEST(test_ClassAAddress, 13);
+ RUN_TEST(test_IPv6Address, 14);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("numtoa.c");
- RUN_TEST(test_Address, 10);
- RUN_TEST(test_Netmask, 17);
+ RUN_TEST(test_Address, 8);
+ RUN_TEST(test_Netmask, 9);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("numtohost.c");
- RUN_TEST(test_LoopbackNetNonResolve, 9);
+ RUN_TEST(test_LoopbackNetNonResolve, 8);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("octtoint.c");
- RUN_TEST(test_SingleDigit, 7);
- RUN_TEST(test_MultipleDigits, 15);
- RUN_TEST(test_Zero, 24);
- RUN_TEST(test_MaximumUnsigned32bit, 33);
- RUN_TEST(test_Overflow, 42);
- RUN_TEST(test_IllegalCharacter, 50);
- RUN_TEST(test_IllegalDigit, 58);
+ RUN_TEST(test_SingleDigit, 8);
+ RUN_TEST(test_MultipleDigits, 9);
+ RUN_TEST(test_Zero, 10);
+ RUN_TEST(test_MaximumUnsigned32bit, 11);
+ RUN_TEST(test_Overflow, 12);
+ RUN_TEST(test_IllegalCharacter, 13);
+ RUN_TEST(test_IllegalDigit, 14);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("prettydate.c");
- RUN_TEST(test_ConstantDate, 10);
+ RUN_TEST(test_ConstantDate, 9);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("recvbuff.c");
- RUN_TEST(test_Initialization, 15);
- RUN_TEST(test_GetAndFree, 23);
- RUN_TEST(test_GetAndFill, 34);
+ RUN_TEST(test_Initialization, 8);
+ RUN_TEST(test_GetAndFree, 9);
+ RUN_TEST(test_GetAndFill, 10);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("refidsmear.c");
- RUN_TEST(test_refidsmear, 101);
+ RUN_TEST(test_refidsmear, 36);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("refnumtoa.c");
- RUN_TEST(test_LocalClock, 13);
- RUN_TEST(test_UnknownId, 40);
+ RUN_TEST(test_LocalClock, 12);
+ RUN_TEST(test_UnknownId, 13);
return (UnityEnd());
}
progname = argv[0];
UnityBegin("sfptostr.c");
RUN_TEST(test_PositiveInteger, 11);
- RUN_TEST(test_NegativeInteger, 19);
- RUN_TEST(test_PositiveIntegerPositiveFraction, 27);
- RUN_TEST(test_NegativeIntegerNegativeFraction, 35);
- RUN_TEST(test_PositiveIntegerNegativeFraction, 43);
- RUN_TEST(test_NegativeIntegerPositiveFraction, 51);
- RUN_TEST(test_SingleDecimalInteger, 59);
- RUN_TEST(test_SingleDecimalRounding, 67);
+ RUN_TEST(test_NegativeInteger, 12);
+ RUN_TEST(test_PositiveIntegerPositiveFraction, 13);
+ RUN_TEST(test_NegativeIntegerNegativeFraction, 14);
+ RUN_TEST(test_PositiveIntegerNegativeFraction, 15);
+ RUN_TEST(test_NegativeIntegerPositiveFraction, 16);
+ RUN_TEST(test_SingleDecimalInteger, 17);
+ RUN_TEST(test_SingleDecimalRounding, 18);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("socktoa.c");
- RUN_TEST(test_IPv4AddressWithPort, 11);
- RUN_TEST(test_IPv6AddressWithPort, 18);
- RUN_TEST(test_ScopedIPv6AddressWithPort, 42);
- RUN_TEST(test_HashEqual, 67);
- RUN_TEST(test_HashNotEqual, 75);
- RUN_TEST(test_IgnoreIPv6Fields, 88);
+ RUN_TEST(test_IPv4AddressWithPort, 10);
+ RUN_TEST(test_IPv6AddressWithPort, 11);
+ RUN_TEST(test_ScopedIPv6AddressWithPort, 12);
+ RUN_TEST(test_HashEqual, 13);
+ RUN_TEST(test_HashNotEqual, 14);
+ RUN_TEST(test_IgnoreIPv6Fields, 15);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("ssl_init.c");
- RUN_TEST(test_MD5KeyTypeWithoutDigestLength, 20);
- RUN_TEST(test_MD5KeyTypeWithDigestLength, 25);
- RUN_TEST(test_SHA1KeyTypeWithDigestLength, 35);
- RUN_TEST(test_MD5KeyName, 51);
- RUN_TEST(test_SHA1KeyName, 57);
+ RUN_TEST(test_MD5KeyTypeWithoutDigestLength, 17);
+ RUN_TEST(test_MD5KeyTypeWithDigestLength, 18);
+ RUN_TEST(test_SHA1KeyTypeWithDigestLength, 19);
+ RUN_TEST(test_MD5KeyName, 20);
+ RUN_TEST(test_SHA1KeyName, 21);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("statestr.c");
- RUN_TEST(test_PeerRestart, 12);
- RUN_TEST(test_SysUnspecified, 18);
- RUN_TEST(test_ClockCodeExists, 25);
- RUN_TEST(test_ClockCodeUnknown, 31);
+ RUN_TEST(test_PeerRestart, 9);
+ RUN_TEST(test_SysUnspecified, 10);
+ RUN_TEST(test_ClockCodeExists, 11);
+ RUN_TEST(test_ClockCodeUnknown, 12);
return (UnityEnd());
}
progname = argv[0];
UnityBegin("strtolfp.c");
RUN_TEST(test_PositiveInteger, 11);
- RUN_TEST(test_NegativeInteger, 25);
- RUN_TEST(test_PositiveFraction, 42);
- RUN_TEST(test_NegativeFraction, 56);
- RUN_TEST(test_PositiveMsFraction, 73);
- RUN_TEST(test_NegativeMsFraction, 89);
- RUN_TEST(test_InvalidChars, 107);
+ RUN_TEST(test_NegativeInteger, 12);
+ RUN_TEST(test_PositiveFraction, 13);
+ RUN_TEST(test_NegativeFraction, 14);
+ RUN_TEST(test_PositiveMsFraction, 15);
+ RUN_TEST(test_NegativeMsFraction, 16);
+ RUN_TEST(test_InvalidChars, 17);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("timespecops.c");
- RUN_TEST(test_Helpers1, 153);
- RUN_TEST(test_Normalise, 174);
- RUN_TEST(test_SignNoFrac, 189);
- RUN_TEST(test_SignWithFrac, 203);
- RUN_TEST(test_CmpFracEQ, 218);
- RUN_TEST(test_CmpFracGT, 233);
- RUN_TEST(test_CmpFracLT, 248);
- RUN_TEST(test_AddFullNorm, 266);
- RUN_TEST(test_AddFullOflow1, 282);
- RUN_TEST(test_AddNsecNorm, 298);
- RUN_TEST(test_AddNsecOflow1, 312);
- RUN_TEST(test_SubFullNorm, 329);
- RUN_TEST(test_SubFullOflow, 345);
- RUN_TEST(test_SubNsecNorm, 361);
- RUN_TEST(test_SubNsecOflow, 375);
- RUN_TEST(test_Neg, 393);
- RUN_TEST(test_AbsNoFrac, 411);
- RUN_TEST(test_AbsWithFrac, 424);
- RUN_TEST(test_Helpers2, 440);
- RUN_TEST(test_ToLFPbittest, 469);
- RUN_TEST(test_ToLFPrelPos, 484);
- RUN_TEST(test_ToLFPrelNeg, 498);
- RUN_TEST(test_ToLFPabs, 512);
- RUN_TEST(test_FromLFPbittest, 529);
- RUN_TEST(test_FromLFPrelPos, 550);
- RUN_TEST(test_FromLFPrelNeg, 565);
- RUN_TEST(test_LFProundtrip, 581);
- RUN_TEST(test_ToString, 601);
+ RUN_TEST(test_Helpers1, 36);
+ RUN_TEST(test_Normalise, 37);
+ RUN_TEST(test_SignNoFrac, 38);
+ RUN_TEST(test_SignWithFrac, 39);
+ RUN_TEST(test_CmpFracEQ, 40);
+ RUN_TEST(test_CmpFracGT, 41);
+ RUN_TEST(test_CmpFracLT, 42);
+ RUN_TEST(test_AddFullNorm, 43);
+ RUN_TEST(test_AddFullOflow1, 44);
+ RUN_TEST(test_AddNsecNorm, 45);
+ RUN_TEST(test_AddNsecOflow1, 46);
+ RUN_TEST(test_SubFullNorm, 47);
+ RUN_TEST(test_SubFullOflow, 48);
+ RUN_TEST(test_SubNsecNorm, 49);
+ RUN_TEST(test_SubNsecOflow, 50);
+ RUN_TEST(test_Neg, 51);
+ RUN_TEST(test_AbsNoFrac, 52);
+ RUN_TEST(test_AbsWithFrac, 53);
+ RUN_TEST(test_Helpers2, 54);
+ RUN_TEST(test_ToLFPbittest, 55);
+ RUN_TEST(test_ToLFPrelPos, 56);
+ RUN_TEST(test_ToLFPrelNeg, 57);
+ RUN_TEST(test_ToLFPabs, 58);
+ RUN_TEST(test_FromLFPbittest, 59);
+ RUN_TEST(test_FromLFPrelPos, 60);
+ RUN_TEST(test_FromLFPrelNeg, 61);
+ RUN_TEST(test_LFProundtrip, 62);
+ RUN_TEST(test_ToString, 63);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("timevalops.c");
- RUN_TEST(test_Helpers1, 157);
- RUN_TEST(test_Normalise, 178);
- RUN_TEST(test_SignNoFrac, 193);
- RUN_TEST(test_SignWithFrac, 207);
- RUN_TEST(test_CmpFracEQ, 223);
- RUN_TEST(test_CmpFracGT, 239);
- RUN_TEST(test_CmpFracLT, 255);
- RUN_TEST(test_AddFullNorm, 274);
- RUN_TEST(test_AddFullOflow1, 290);
- RUN_TEST(test_AddUsecNorm, 306);
- RUN_TEST(test_AddUsecOflow1, 320);
- RUN_TEST(test_SubFullNorm, 337);
- RUN_TEST(test_SubFullOflow, 353);
- RUN_TEST(test_SubUsecNorm, 369);
- RUN_TEST(test_SubUsecOflow, 383);
- RUN_TEST(test_Neg, 400);
- RUN_TEST(test_AbsNoFrac, 418);
- RUN_TEST(test_AbsWithFrac, 431);
- RUN_TEST(test_Helpers2, 448);
- RUN_TEST(test_ToLFPbittest, 482);
- RUN_TEST(test_ToLFPrelPos, 498);
- RUN_TEST(test_ToLFPrelNeg, 514);
- RUN_TEST(test_ToLFPabs, 529);
- RUN_TEST(test_FromLFPbittest, 548);
- RUN_TEST(test_FromLFPrelPos, 568);
- RUN_TEST(test_FromLFPrelNeg, 583);
- RUN_TEST(test_LFProundtrip, 599);
- RUN_TEST(test_ToString, 619);
+ RUN_TEST(test_Helpers1, 38);
+ RUN_TEST(test_Normalise, 39);
+ RUN_TEST(test_SignNoFrac, 40);
+ RUN_TEST(test_SignWithFrac, 41);
+ RUN_TEST(test_CmpFracEQ, 42);
+ RUN_TEST(test_CmpFracGT, 43);
+ RUN_TEST(test_CmpFracLT, 44);
+ RUN_TEST(test_AddFullNorm, 45);
+ RUN_TEST(test_AddFullOflow1, 46);
+ RUN_TEST(test_AddUsecNorm, 47);
+ RUN_TEST(test_AddUsecOflow1, 48);
+ RUN_TEST(test_SubFullNorm, 49);
+ RUN_TEST(test_SubFullOflow, 50);
+ RUN_TEST(test_SubUsecNorm, 51);
+ RUN_TEST(test_SubUsecOflow, 52);
+ RUN_TEST(test_Neg, 53);
+ RUN_TEST(test_AbsNoFrac, 54);
+ RUN_TEST(test_AbsWithFrac, 55);
+ RUN_TEST(test_Helpers2, 56);
+ RUN_TEST(test_ToLFPbittest, 57);
+ RUN_TEST(test_ToLFPrelPos, 58);
+ RUN_TEST(test_ToLFPrelNeg, 59);
+ RUN_TEST(test_ToLFPabs, 60);
+ RUN_TEST(test_FromLFPbittest, 61);
+ RUN_TEST(test_FromLFPrelPos, 62);
+ RUN_TEST(test_FromLFPrelNeg, 63);
+ RUN_TEST(test_LFProundtrip, 64);
+ RUN_TEST(test_ToString, 65);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("tstotv.c");
- RUN_TEST(test_Seconds, 9);
- RUN_TEST(test_MicrosecondsExact, 21);
- RUN_TEST(test_MicrosecondsRounding, 35);
+ RUN_TEST(test_Seconds, 8);
+ RUN_TEST(test_MicrosecondsExact, 9);
+ RUN_TEST(test_MicrosecondsRounding, 10);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("tvtots.c");
- RUN_TEST(test_Seconds, 12);
- RUN_TEST(test_MicrosecondsRounded, 25);
- RUN_TEST(test_MicrosecondsExact, 43);
+ RUN_TEST(test_Seconds, 10);
+ RUN_TEST(test_MicrosecondsRounded, 11);
+ RUN_TEST(test_MicrosecondsExact, 12);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("vi64ops.c");
- RUN_TEST(test_ParseVUI64_pos, 33);
- RUN_TEST(test_ParseVUI64_neg, 49);
- RUN_TEST(test_ParseVUI64_case, 63);
+ RUN_TEST(test_ParseVUI64_pos, 10);
+ RUN_TEST(test_ParseVUI64_neg, 11);
+ RUN_TEST(test_ParseVUI64_case, 12);
return (UnityEnd());
}
{
progname = argv[0];
UnityBegin("ymd2yd.c");
- RUN_TEST(test_NonLeapYearFebruary, 9);
- RUN_TEST(test_NonLeapYearJune, 15);
- RUN_TEST(test_LeapYearFebruary, 22);
- RUN_TEST(test_LeapYearDecember, 28);
+ RUN_TEST(test_NonLeapYearFebruary, 7);
+ RUN_TEST(test_NonLeapYearJune, 8);
+ RUN_TEST(test_LeapYearFebruary, 9);
+ RUN_TEST(test_LeapYearDecember, 10);
return (UnityEnd());
}
#define SFP_MAX_PRECISION 6
+void test_PositiveInteger(void);
+void test_NegativeInteger(void);
+void test_PositiveIntegerPositiveFraction(void);
+void test_NegativeIntegerNegativeFraction(void);
+void test_PositiveIntegerNegativeFraction(void);
+void test_NegativeIntegerPositiveFraction(void);
+void test_SingleDecimalInteger(void);
+void test_SingleDecimalRounding(void);
+
+
void test_PositiveInteger(void)
{
s_fp test = 300 << 16; // exact 300.000000
#include "config.h"
#include "ntp.h"
#include "ntp_stdlib.h"
+#include "sockaddrtest.h"
sockaddr_u
CreateSockaddr4(const char* address, unsigned int port) {
#include "sockaddrtest.h"
+void test_IPv4AddressWithPort(void);
+void test_IPv6AddressWithPort(void);
+void test_ScopedIPv6AddressWithPort(void);
+void test_HashEqual(void);
+void test_HashNotEqual(void);
+void test_IgnoreIPv6Fields(void);
void test_IPv4AddressWithPort(void) {
sockaddr_u input = CreateSockaddr4("192.0.2.10", 123);
static const size_t TEST_MD5_DIGEST_LENGTH = 16;
static const size_t TEST_SHA1_DIGEST_LENGTH = 20;
+void test_MD5KeyTypeWithoutDigestLength(void);
+void test_MD5KeyTypeWithDigestLength(void);
+void test_SHA1KeyTypeWithDigestLength(void);
+void test_MD5KeyName(void);
+void test_SHA1KeyName(void);
+
// keytype_from_text()
void
#include "unity.h"
+void test_PeerRestart(void);
+void test_SysUnspecified(void);
+void test_ClockCodeExists(void);
+void test_ClockCodeUnknown(void);
// eventstr()
void
/* This file tests both atolfp and mstolfp */
+void test_PositiveInteger(void);
+void test_NegativeInteger(void);
+void test_PositiveFraction(void);
+void test_NegativeFraction(void);
+void test_PositiveMsFraction(void);
+void test_NegativeMsFraction(void);
+void test_InvalidChars(void);
+
+
void test_PositiveInteger(void) {
const char *str = "500";
const char *str_ms = "500000";
u_int32 frac;
};
-//******************************************MY CUSTOM FUNCTIONS*******************************
+
+void test_Helpers1(void);
+void test_Normalise(void);
+void test_SignNoFrac(void);
+void test_SignWithFrac(void);
+void test_CmpFracEQ(void);
+void test_CmpFracGT(void);
+void test_CmpFracLT(void);
+void test_AddFullNorm(void);
+void test_AddFullOflow1(void);
+void test_AddNsecNorm(void);
+void test_AddNsecOflow1(void);
+void test_SubFullNorm(void);
+void test_SubFullOflow(void);
+void test_SubNsecNorm(void);
+void test_SubNsecOflow(void);
+void test_Neg(void);
+void test_AbsNoFrac(void);
+void test_AbsWithFrac(void);
+void test_Helpers2(void);
+void test_ToLFPbittest(void);
+void test_ToLFPrelPos(void);
+void test_ToLFPrelNeg(void);
+void test_ToLFPabs(void);
+void test_FromLFPbittest(void);
+void test_FromLFPrelPos(void);
+void test_FromLFPrelNeg(void);
+void test_LFProundtrip(void);
+void test_ToString(void);
typedef int bool;
+const bool timespec_isValid(struct timespec V);
+struct timespec timespec_init(time_t hi, long lo);
+l_fp l_fp_init(int32 i, u_int32 f);
+bool AssertFpClose(const l_fp m, const l_fp n, const l_fp limit);
+bool AssertTimespecClose(const struct timespec m, const struct timespec n, const struct timespec limit);
+
+
+//******************************************MY CUSTOM FUNCTIONS*******************************
+
+
+
const bool
timespec_isValid(struct timespec V) {
return V.tv_nsec >= 0 && V.tv_nsec < 1000000000;
u_int32 frac;
} lfpfracdata ;
+typedef int bool;
+
+struct timeval timeval_init( time_t hi, long lo);
+const bool timeval_isValid(struct timeval V);
+l_fp l_fp_init(int32 i, u_int32 f);
+bool AssertTimevalClose(const struct timeval m, const struct timeval n, const struct timeval limit);
+bool AssertFpClose(const l_fp m, const l_fp n, const l_fp limit);
+
+void test_Helpers1(void);
+void test_Normalise(void);
+void test_SignNoFrac(void);
+void test_SignWithFrac(void);
+void test_CmpFracEQ(void);
+void test_CmpFracGT(void);
+void test_CmpFracLT(void);
+void test_AddFullNorm(void);
+void test_AddFullOflow1(void);
+void test_AddUsecNorm(void);
+void test_AddUsecOflow1(void);
+void test_SubFullNorm(void);
+void test_SubFullOflow(void);
+void test_SubUsecNorm(void);
+void test_SubUsecOflow(void);
+void test_Neg(void);
+void test_AbsNoFrac(void);
+void test_AbsWithFrac(void);
+void test_Helpers2(void);
+void test_ToLFPbittest(void);
+void test_ToLFPrelPos(void);
+void test_ToLFPrelNeg(void);
+void test_ToLFPabs(void);
+void test_FromLFPbittest(void);
+void test_FromLFPrelPos(void);
+void test_FromLFPrelNeg(void);
+void test_LFProundtrip(void);
+void test_ToString(void);
+
//******************************************MY CUSTOM FUNCTIONS*******************************
-typedef int bool;
struct timeval
#include "unity.h"
+void test_Seconds(void);
+void test_MicrosecondsExact(void);
+void test_MicrosecondsRounding(void);
+
+
void
test_Seconds(void) {
const l_fp input = {50, 0}; // 50.0 s
#include <math.h> // Required on Solaris for ldexp.
+void test_Seconds(void);
+void test_MicrosecondsRounded(void);
+void test_MicrosecondsExact(void);
void
test_Seconds(void)
#include "unity.h"
+int IsEqual(const vint64 expected, const vint64 actual);
+void test_ParseVUI64_pos(void);
+void test_ParseVUI64_neg(void);
+void test_ParseVUI64_case(void);
+
+
// technically bool
int
IsEqual(const vint64 expected, const vint64 actual) {
#include "unity.h"
+void test_NonLeapYearFebruary(void);
+void test_NonLeapYearJune(void);
+void test_LeapYearFebruary(void);
+void test_LeapYearDecember(void);
+
void
test_NonLeapYearFebruary(void) {