From 7dbb3bd4177cdb497528224dbe8e1b5fb96bcf43 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Sun, 6 Oct 2019 15:15:54 -0700 Subject: [PATCH] Add BEAST_THROWS --- CHANGELOG.md | 6 ++++++ .../boost/beast/_experimental/unit_test/suite.hpp | 14 ++++++++++++++ 2 files changed, 20 insertions(+) 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