#if defined(HAVE_LIBMEMCACHED) && HAVE_LIBMEMCACHED
#include <libmemcached-1.0/memcached.h>
#include <libmemcachedutil-1.0/ostream.hpp>
+#include <libtest/memcached.hpp>
#endif
#if defined(HAVE_LIBGEARMAN) && HAVE_LIBGEARMAN
namespace libtest {
LIBTEST_API
-bool gdb_is_caller(void);
+bool jenkins_is_caller(void);
LIBTEST_API
-bool valgrind_is_caller(void);
+bool gdb_is_caller(void);
LIBTEST_API
bool _in_valgrind(const char *file, int line, const char *func);
-template <class T_comparable, class T_hint>
-bool _compare_truth_hint(const char *file, int line, const char *func, T_comparable __expected, const char *assertation_label, T_hint __hint)
+LIBTEST_API
+bool helgrind_is_caller(void);
+
+template <class T_comparable>
+bool _compare_truth(const char *file, int line, const char *func, T_comparable __expected, const char *assertation_label)
{
if (__expected == false)
{
- libtest::stream::make_cerr(file, line, func) << "Assertation \"" << assertation_label << "\" failed, hint: " << __hint;
+ libtest::stream::make_cerr(file, line, func) << "Assertation \"" << assertation_label << "\"";
return false;
}
}
template <class T1_comparable, class T2_comparable>
-bool _compare_strcmp(const char *file, int line, const char *func, const T1_comparable& __expected, const T2_comparable& __actual)
+bool _compare_strcmp(const char *file, int line, const char *func, const T1_comparable *__expected, const T2_comparable *__actual)
{
if (__expected == NULL)
{
- fatal_message("Expected value was NULL, programmer error");
+ FATAL("Expected value was NULL, programmer error");
}
if (__actual == NULL)
return true;
}
-template <class T_comparable>
-bool _truth(const char *file, int line, const char *func, T_comparable __truth)
-{
- if (bool(__truth))
- {
- libtest::stream::make_cerr(file, line, func) << "Assertion failed for " << func << "() with \"" << __truth << "\"";
- return false;
- }
-
- return true;
-}
-
-template <class T1_comparable, class T2_comparable, class T_hint>
-bool _compare_hint(const char *file, int line, const char *func, T1_comparable __expected, T2_comparable __actual, T_hint __hint, bool io_error= true)
+template <class T1_comparable, class T2_comparable>
+bool _ne_compare(const char *file, int line, const char *func, T1_comparable __expected, T2_comparable __actual, bool io_error= true)
{
- if (__expected != __actual)
+ if (__expected == __actual)
{
if (io_error)
{
- libtest::stream::make_cerr(file, line, func) << "Expected \"" << __expected << "\" got \"" << __actual << "\"" << " Additionally: \"" << __hint << "\"";
+ libtest::stream::make_cerr(file, line, func) << "Expected \"" << __expected << "\" got \"" << __actual << "\"";
}
return false;
return true;
}
-template <class T1_comparable, class T2_comparable, class T_hint>
-bool _ne_compare_hint(const char *file, int line, const char *func, T1_comparable __expected, T2_comparable __actual, T_hint __hint, bool io_error= true)
+template <class T_comparable, class T_expression_string>
+bool _assert_truth(const char *file, int line, const char *func, T_comparable __truth, T_expression_string __expression, const char* __explain= NULL)
{
- if (__expected == __actual)
+ if (__truth)
{
- if (io_error)
- {
- libtest::stream::make_cerr(file, line, func) << "Expected \"" << __expected << "\" got \"" << __actual << "\"" << " Additionally: \"" << __hint << "\"";
- }
+ return true;
+ }
- return false;
+ if (__explain)
+ {
+ libtest::stream::make_cerr(file, line, func) << "Assertion \"" << __expression << "\" warning:" << __explain;
}
- return true;
+ return false;
}
} // namespace libtest