[orc-rt] Fix unittests after 53a1e056f38. (#186711)
Updates unittests to reflect Service interface changes.
This commit is contained in:
parent
7aeb01f01f
commit
b0df9a366a
@ -30,42 +30,40 @@ class MockService : public Service {
|
||||
public:
|
||||
enum class Op { Detach, Shutdown };
|
||||
|
||||
static Error alwaysSucceed(Op) { return Error::success(); }
|
||||
static void noop(Op) {}
|
||||
|
||||
MockService(std::optional<size_t> &DetachOpIdx,
|
||||
std::optional<size_t> &ShutdownOpIdx, size_t &OpIdx,
|
||||
move_only_function<Error(Op)> GenResult = alwaysSucceed)
|
||||
move_only_function<void(Op)> GenResult = noop)
|
||||
: DetachOpIdx(DetachOpIdx), ShutdownOpIdx(ShutdownOpIdx), OpIdx(OpIdx),
|
||||
GenResult(std::move(GenResult)) {}
|
||||
|
||||
void onDetach(OnCompleteFn OnComplete) override {
|
||||
DetachOpIdx = OpIdx++;
|
||||
OnComplete(GenResult(Op::Detach));
|
||||
GenResult(Op::Detach);
|
||||
OnComplete();
|
||||
}
|
||||
|
||||
void onShutdown(OnCompleteFn OnComplete) override {
|
||||
ShutdownOpIdx = OpIdx++;
|
||||
OnComplete(GenResult(Op::Shutdown));
|
||||
GenResult(Op::Shutdown);
|
||||
OnComplete();
|
||||
}
|
||||
|
||||
private:
|
||||
std::optional<size_t> &DetachOpIdx;
|
||||
std::optional<size_t> &ShutdownOpIdx;
|
||||
size_t &OpIdx;
|
||||
move_only_function<Error(Op)> GenResult;
|
||||
move_only_function<void(Op)> GenResult;
|
||||
};
|
||||
|
||||
class ConfigurableService : public Service {
|
||||
public:
|
||||
ConfigurableService(int ConstructorOption) {}
|
||||
|
||||
void onDetach(OnCompleteFn OnComplete) override {
|
||||
OnComplete(Error::success());
|
||||
}
|
||||
void onDetach(OnCompleteFn OnComplete) override { OnComplete(); }
|
||||
|
||||
void onShutdown(OnCompleteFn OnComplete) override {
|
||||
OnComplete(Error::success());
|
||||
}
|
||||
void onShutdown(OnCompleteFn OnComplete) override { OnComplete(); }
|
||||
|
||||
void doMoreConfig(int) noexcept {}
|
||||
};
|
||||
|
||||
@ -91,6 +91,12 @@ template <typename T> move_only_function<void(T)> waitFor(std::future<T> &F) {
|
||||
return [P = std::move(P)](T Val) mutable { P.set_value(std::move(Val)); };
|
||||
}
|
||||
|
||||
move_only_function<void()> waitFor(std::future<void> &F) {
|
||||
std::promise<void> P;
|
||||
F = P.get_future();
|
||||
return [P = std::move(P)]() mutable { P.set_value(); };
|
||||
}
|
||||
|
||||
TEST(SimpleNativeMemoryMapTest, CreateAndDestroy) {
|
||||
// Test that we can create and destroy a SimpleNativeMemoryMap instance as
|
||||
// expected.
|
||||
@ -288,9 +294,9 @@ TEST(SimpleNativeMemoryMap, ReserveInitializeShutdown) {
|
||||
|
||||
EXPECT_EQ(SentinelValue, 0U);
|
||||
|
||||
std::future<Error> ShutdownResult;
|
||||
std::future<void> ShutdownResult;
|
||||
SNMM->onShutdown(waitFor(ShutdownResult));
|
||||
cantFail(ShutdownResult.get());
|
||||
ShutdownResult.get();
|
||||
|
||||
EXPECT_EQ(SentinelValue, 42);
|
||||
}
|
||||
@ -325,15 +331,15 @@ TEST(SimpleNativeMemoryMap, ReserveInitializeDetachShutdown) {
|
||||
|
||||
EXPECT_EQ(SentinelValue, 0U);
|
||||
|
||||
std::future<Error> DetachResult;
|
||||
std::future<void> DetachResult;
|
||||
SNMM->onDetach(waitFor(DetachResult));
|
||||
cantFail(DetachResult.get());
|
||||
DetachResult.get();
|
||||
|
||||
EXPECT_EQ(SentinelValue, 0);
|
||||
|
||||
std::future<Error> ShutdownResult;
|
||||
std::future<void> ShutdownResult;
|
||||
SNMM->onShutdown(waitFor(ShutdownResult));
|
||||
cantFail(ShutdownResult.get());
|
||||
ShutdownResult.get();
|
||||
|
||||
EXPECT_EQ(SentinelValue, 42);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user