diff options
Diffstat (limited to 'src/mongo/util/future_test_future_int.cpp')
-rw-r--r-- | src/mongo/util/future_test_future_int.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/mongo/util/future_test_future_int.cpp b/src/mongo/util/future_test_future_int.cpp index 803b0992500..6707a310161 100644 --- a/src/mongo/util/future_test_future_int.cpp +++ b/src/mongo/util/future_test_future_int.cpp @@ -165,6 +165,36 @@ TEST(Future, Fail_isReady) { }); } +TEST(Future, Success_wait) { + FUTURE_SUCCESS_TEST([] { return 1; }, + [](Future<int>&& fut) { + fut.wait(); + ASSERT_EQ(fut.get(), 1); + }); +} + +TEST(Future, Success_waitNoThrow) { + FUTURE_SUCCESS_TEST([] { return 1; }, + [](Future<int>&& fut) { + ASSERT_OK(fut.waitNoThrow()); + ASSERT_EQ(fut.get(), 1); + }); +} + +TEST(Future, Fail_wait) { + FUTURE_FAIL_TEST<int>([](Future<int>&& fut) { + fut.wait(); + ASSERT_THROWS_failStatus(fut.get()); + }); +} + +TEST(Future, Fail_waitNoThrow) { + FUTURE_FAIL_TEST<int>([](Future<int>&& fut) { + ASSERT_OK(fut.waitNoThrow()); + ASSERT_THROWS_failStatus(fut.get()); + }); +} + TEST(Future, isReady_TSAN_OK) { bool done = false; auto fut = async([&] { |