El 13/03/2013 21:22, Daniel James escribió:
On 13 March 2013 20:03, Ion Gaztañaga
wrote: In my tests I use boost/detail/lightweight_test.hpp as it has nearly all I need to test my libraries with very little overhead. However I needed a simple utility to check if an expression throws an exception and I think it can be added to this header with very little code. See attached patch.
Do you find this a good idea? Ok to commit?
Seems like a good idea. I'm not sure if you should use no_exceptions_support, since tests will always fail without exceptions.
You are right, I thought that in some compilers if "try" or "catch" is found with exceptions enabled, a compilation error could be triggered, but I guess that couldn't happen if try/catch is used in a preprocessor macro. Another option is to define the macro empty if BOOST_NO_EXCEPTIONS is defined, as the throwing expression would surely call a user defined abort mechanism (BOOST_ASSERT or similar) when BOOST_NO_EXCEPTIONS is defined. Or the user should protect BOOST_TEST_THROWS calls with #ifndef BOOST_NO_EXCEPTIONS macros. Best, Ion