Tests: Clock mock and test node got some fixes

This commit is contained in:
Pavel Kirienko
2014-03-23 21:34:42 +04:00
parent 1171ef30e8
commit 42fdadba2c
2 changed files with 12 additions and 4 deletions
+9 -1
View File
@@ -16,17 +16,22 @@ public:
mutable uint64_t utc;
uavcan::UtcDuration last_adjustment;
int64_t monotonic_auto_advance;
bool preserve_utc;
SystemClockMock(uint64_t initial = 0)
: monotonic(initial)
, utc(initial)
, monotonic_auto_advance(0)
, preserve_utc(false)
{ }
void advance(uint64_t usec) const
{
monotonic += usec;
utc += usec;
if (!preserve_utc)
{
utc += usec;
}
}
uavcan::MonotonicTime getMonotonic() const
@@ -46,7 +51,10 @@ public:
void adjustUtc(uavcan::UtcDuration adjustment)
{
assert(this);
const uint64_t prev_utc = utc;
utc += adjustment.toUSec();
last_adjustment = adjustment;
std::cout << "Clock adjustment " << prev_utc << " --> " << utc << std::endl;
}
};
+3 -3
View File
@@ -150,9 +150,9 @@ struct InterlinkedTestNodes
int spinBoth(uavcan::MonotonicDuration duration)
{
assert(duration.isPositive());
unsigned int nspins2 = duration.toMSec() / 2 + 1;
assert(nspins2 > 0);
assert(!duration.isNegative());
unsigned int nspins2 = duration.toMSec() / 2;
nspins2 = nspins2 ? nspins2 : 1;
while (nspins2 --> 0)
{
int ret = -1;