X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2Fauto_unit_test.hh;h=95980e3a2010eab949c6fc9fc8bf18acaf3ba6a6;hb=d3cc92544f3efc741d14c36e4cd89e311a6867fa;hp=9ae6577f1183613cd2913fc80b02099e020290ce;hpb=9dfdf00953c3cabd0ce74e5b316905bb53bbba80;p=senf.git
diff --git a/Utils/auto_unit_test.hh b/Utils/auto_unit_test.hh
index 9ae6577..95980e3 100644
--- a/Utils/auto_unit_test.hh
+++ b/Utils/auto_unit_test.hh
@@ -29,12 +29,12 @@
So, instead of \#include , you should always write
- #include "../Utils/auto_unit_test.hh"
+ \#include "../Utils/auto_unit_test.hh"
(with possibliy adjusted path).
*/
-#ifndef HH_auto_unit_test_
-#define HH_auto_unit_test_ 1
+#ifndef HH_SENF_Utils_auto_unit_test_
+#define HH_SENF_Utils_auto_unit_test_ 1
// Custom includes
#include
@@ -50,6 +50,49 @@
#include
+/** \defgroup unittest Boost.Test extensions
+
+ This module defines some additional extensions to Boost.Test
+ */
+
+/** \brief Check for compile failure
+
+ COMPILE_RAIL() is used to check, that a certain piece of code will produce a compile time
+ failure.
+
+ \code
+ #ifdef COMPILE_CHECK
+
+ COMPILE_FAIL(foo)
+ {
+ // fails to compile ....
+ int x = "foo";
+ }
+
+ COMPILE_FAIL(bar)
+ { ... }
+
+ #endif
+ \endcode
+
+ This check is performed by the extended unit-test builder in \c senfscons.
+
+ \ingroup unittest
+ */
+#define COMPILE_FAIL(n) void n()
+
+/** \brief Show exception information
+
+ \ref SENF_CHECK_NO_THROW() is an extension to \c BOOST_CHECK_NO_THROW() which will write out the
+ unabridged exception information when an exception is thrown in addition to signaling an error.
+
+ \ingroup unittest
+ */
+#define SENF_CHECK_NO_THROW(expr) \
+ BOOST_CHECK_NO_THROW( \
+ try { expr ; } \
+ catch (std::exception & e) { std::cerr << e.what() << std::endl; throw; } )
+
///////////////////////////////hh.e////////////////////////////////////////
//#include "auto_unit_test.cci"
//#include "auto_unit_test.ct"