Use simple exception_wrapper ctor in the Promise::setException test
authorYedidya Feldblum <yfeldblum@fb.com>
Tue, 22 Aug 2017 22:51:49 +0000 (15:51 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Tue, 22 Aug 2017 23:00:48 +0000 (16:00 -0700)
Summary:
[Folly] Use simple `exception_wrapper` ctor in the `Promise::setException` test.

And add a new case testing with `exception_ptr`.

Reviewed By: andrewjcg

Differential Revision: D5683035

fbshipit-source-id: e8276166dacbe09a9a745271d636db44c593058c

folly/futures/test/PromiseTest.cpp

index 224fc73fcdc60b76333bafaf6ba9e0f96edd4c48..3f41c0721587c7769bdf2eb2a526a8d7cbd3de65 100644 (file)
@@ -95,13 +95,13 @@ TEST(Promise, setException) {
   {
     Promise<Unit> p;
     auto f = p.getFuture();
-    try {
-      throw eggs;
-    } catch (const std::exception& e) {
-      p.setException(exception_wrapper(std::current_exception(), e));
-    } catch (...) {
-      p.setException(exception_wrapper(std::current_exception()));
-    }
+    p.setException(std::make_exception_ptr(eggs));
+    EXPECT_THROW(f.value(), eggs_t);
+  }
+  {
+    Promise<Unit> p;
+    auto f = p.getFuture();
+    p.setException(exception_wrapper(eggs));
     EXPECT_THROW(f.value(), eggs_t);
   }
 }