summaryrefslogtreecommitdiff
path: root/src/mongo/util/future_test_future_int.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/util/future_test_future_int.cpp')
-rw-r--r--src/mongo/util/future_test_future_int.cpp30
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([&] {