diff options
author | Mathias Stearn <mathias@10gen.com> | 2019-03-21 19:01:26 -0400 |
---|---|---|
committer | Mathias Stearn <mathias@10gen.com> | 2019-04-11 18:38:43 -0400 |
commit | f0f894395d2676c5b93fc99a978970f0ffce8127 (patch) | |
tree | 14621a1b7d22728a4e644288019de848b9d87e28 /src/mongo/util/future_test_promise_void.cpp | |
parent | 342e6f115ee06cfa226a3c3006f87d9bd50bda8e (diff) | |
download | mongo-f0f894395d2676c5b93fc99a978970f0ffce8127.tar.gz |
SERVER-36359 Introduce SemiFuture<T> and ExecutorFuture<T>
Diffstat (limited to 'src/mongo/util/future_test_promise_void.cpp')
-rw-r--r-- | src/mongo/util/future_test_promise_void.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/mongo/util/future_test_promise_void.cpp b/src/mongo/util/future_test_promise_void.cpp index 32fa8c3efc9..3ef9731e7a7 100644 --- a/src/mongo/util/future_test_promise_void.cpp +++ b/src/mongo/util/future_test_promise_void.cpp @@ -41,16 +41,18 @@ namespace mongo { namespace { TEST(Promise_void, Success_setFrom) { - FUTURE_SUCCESS_TEST([] {}, - [](Future<void>&& fut) { - auto pf = makePromiseFuture<void>(); - pf.promise.setFrom(std::move(fut)); - ASSERT_OK(std::move(pf.future).getNoThrow()); - }); + FUTURE_SUCCESS_TEST<kNoExecutorFuture_needsPromiseSetFrom>( + [] {}, + [](/*Future<void>*/ auto&& fut) { + // This intentionally doesn't work with ExecutorFuture. + auto pf = makePromiseFuture<void>(); + pf.promise.setFrom(std::move(fut)); + ASSERT_OK(std::move(pf.future).getNoThrow()); + }); } TEST(Promise_void, Fail_setFrom) { - FUTURE_FAIL_TEST<void>([](Future<void>&& fut) { + FUTURE_FAIL_TEST<void, kNoExecutorFuture_needsPromiseSetFrom>([](/*Future<void>*/ auto&& fut) { auto pf = makePromiseFuture<void>(); pf.promise.setFrom(std::move(fut)); ASSERT_THROWS_failStatus(std::move(pf.future).get()); @@ -82,16 +84,17 @@ TEST(Promise_void, Fail_setWith_Status) { } TEST(Promise_void, Success_setWith_Future) { - FUTURE_SUCCESS_TEST([] {}, - [](Future<void>&& fut) { - auto pf = makePromiseFuture<void>(); - pf.promise.setWith([&] { return std::move(fut); }); - ASSERT_OK(std::move(pf.future).getNoThrow()); - }); + FUTURE_SUCCESS_TEST<kNoExecutorFuture_needsPromiseSetFrom>( + [] {}, + [](/*Future<void>*/ auto&& fut) { + auto pf = makePromiseFuture<void>(); + pf.promise.setWith([&] { return std::move(fut); }); + ASSERT_OK(std::move(pf.future).getNoThrow()); + }); } TEST(Promise_void, Fail_setWith_Future) { - FUTURE_FAIL_TEST<void>([](Future<void>&& fut) { + FUTURE_FAIL_TEST<void, kNoExecutorFuture_needsPromiseSetFrom>([](/*Future<void>*/ auto&& fut) { auto pf = makePromiseFuture<void>(); pf.promise.setWith([&] { return std::move(fut); }); ASSERT_THROWS_failStatus(std::move(pf.future).get()); |