Add some tests for SetCycleTime

pull/946/head
Jesse Vincent 4 years ago
parent cfcfd3b75e
commit 895f5f1e00
No known key found for this signature in database
GPG Key ID: CC228463465E40BC

@ -68,6 +68,44 @@ TEST_F(SimulatorTiming, LongTimeElapses) {
assertTimeElapses(t_500_000); assertTimeElapses(t_500_000);
} }
TEST_F(SimulatorTiming, 3msPerCycleTestRunCycles) {
sim_.SetCycleTime(3);
// Record time at start
uint32_t start = Kaleidoscope.millisAtCycleStart();
// Run cycles until the given amount of time has elapsed
sim_.RunCycles(1);
// Record time at end
uint32_t end = Kaleidoscope.millisAtCycleStart();
ASSERT_EQ((end - start), 3) << "Start was " << start << " and end was " << end;
// Record time at start
start = Kaleidoscope.millisAtCycleStart();
// Run cycles until the given amount of time has elapsed
sim_.RunCycles(10);
// Record time at end
end = Kaleidoscope.millisAtCycleStart();
ASSERT_EQ((end - start), 30) << "Start was " << start << " and end was " << end;
}
TEST_F(SimulatorTiming, 4msPerCycleTestRunForMillis) {
sim_.SetCycleTime(4);
// Record time at start
uint32_t start = Kaleidoscope.millisAtCycleStart();
// Run cycles until the given amount of time has elapsed
sim_.RunForMillis(40);
// Record time at end
uint32_t end = Kaleidoscope.millisAtCycleStart();
ASSERT_EQ((end - start), 40);
}
} // namespace } // namespace
} // namespace testing } // namespace testing
} // namespace kaleidoscope } // namespace kaleidoscope

Loading…
Cancel
Save