X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2Fauto_unit_test.hh;h=95980e3a2010eab949c6fc9fc8bf18acaf3ba6a6;hb=eb89ea10c8c11d2ef12239cb037c958dec50f006;hp=0651fde9fabaeaddc4c66a5f827c67e4f0103711;hpb=6a9425b523ea9a2bd41103dd10659ac8c7c0d080;p=senf.git
diff --git a/Utils/auto_unit_test.hh b/Utils/auto_unit_test.hh
index 0651fde..95980e3 100644
--- a/Utils/auto_unit_test.hh
+++ b/Utils/auto_unit_test.hh
@@ -28,11 +28,13 @@
any necessary workarounds.
So, instead of \#include , you should always write
- \#include "../Utils/auto_unit_test.hh" (with possibliy adjusted path).
+
+ \#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
@@ -48,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"