diff --git a/CHANGELOG.md b/CHANGELOG.md index bea47518..95a28ba0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Version 272: + +* Add BEAST_THROWS + +-------------------------------------------------------------------------------- + Version 271: * Add HTTP async client with system_executor example diff --git a/include/boost/beast/_experimental/unit_test/suite.hpp b/include/boost/beast/_experimental/unit_test/suite.hpp index 9f8d77b1..fd6e2a2f 100644 --- a/include/boost/beast/_experimental/unit_test/suite.hpp +++ b/include/boost/beast/_experimental/unit_test/suite.hpp @@ -639,6 +639,20 @@ run(runner& r) (::boost::beast::unit_test::suite::this_suite()->fail((reason), __FILE__, __LINE__), false)) #endif +/** Ensure an exception is thrown +*/ +#define BEAST_THROWS( EXPR, EXCEP ) \ + try { \ + EXPR; \ + BEAST_FAIL(); \ + } \ + catch(EXCEP const&) { \ + BEAST_PASS(); \ + } \ + catch(...) { \ + BEAST_FAIL(); \ + } + } // unit_test } // beast } // boost