So, instead of <tt>\#include <boost/test/auto_unit_test.hpp></tt>, you should always write
<pre>
- #include "../Utils/auto_unit_test.hh"
+ \#include "../Utils/auto_unit_test.hh"
</pre> (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 <iostream>
#include <boost/version.hpp>
//#include "auto_unit_test.mpp"
#include <boost/test/auto_unit_test.hpp>
+/** \defgroup unittest Boost.Test extensions
+
+ This module defines some additional extensions to Boost.Test
+ */
+
+/** \brief Check for compile failure
+
+ COMPILE_FAIL() 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"