summaryrefslogtreecommitdiff
path: root/src/mongo/util/future_test_promise_void.cpp
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2019-03-21 19:01:26 -0400
committerMathias Stearn <mathias@10gen.com>2019-04-11 18:38:43 -0400
commitf0f894395d2676c5b93fc99a978970f0ffce8127 (patch)
tree14621a1b7d22728a4e644288019de848b9d87e28 /src/mongo/util/future_test_promise_void.cpp
parent342e6f115ee06cfa226a3c3006f87d9bd50bda8e (diff)
downloadmongo-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.cpp31
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());