0.1 update, make the stop container code more robust and fix some bugs, update the about screen for version 0.1
This commit is contained in:
parent
91fa50370a
commit
e8e93d7b21
17 changed files with 449 additions and 43 deletions
33
tests/test_stop_waiter.cpp
Normal file
33
tests/test_stop_waiter.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#include "stop_waiter.hpp"
|
||||
|
||||
#include <cassert>
|
||||
#include <chrono>
|
||||
#include <iostream>
|
||||
|
||||
int main() {
|
||||
int calls = 0;
|
||||
const auto stopped = waitForStopped([&] {
|
||||
return ++calls < 3 ? StopProbe::Running : StopProbe::Stopped;
|
||||
},
|
||||
std::chrono::milliseconds(100),
|
||||
std::chrono::milliseconds(1));
|
||||
assert(stopped == StopProbe::Stopped);
|
||||
|
||||
const auto timed_out = waitForStopped([] { return StopProbe::Unknown; },
|
||||
std::chrono::milliseconds(5),
|
||||
std::chrono::milliseconds(1));
|
||||
assert(timed_out == StopProbe::Unknown);
|
||||
int transient_calls = 0;
|
||||
const auto transient = waitForStopped([&] {
|
||||
++transient_calls;
|
||||
if (transient_calls < 3) return StopProbe::Unknown;
|
||||
return StopProbe::Stopped;
|
||||
}, std::chrono::milliseconds(100), std::chrono::milliseconds(1));
|
||||
assert(transient == StopProbe::Stopped);
|
||||
// A failed refresh must not be interpreted as a stopped state.
|
||||
const auto preserved = waitForStopped([] { return StopProbe::Unknown; },
|
||||
std::chrono::milliseconds(3),
|
||||
std::chrono::milliseconds(1));
|
||||
assert(preserved == StopProbe::Unknown);
|
||||
std::cout << "Stop waiter tests passed\n";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue