X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Fcomparison.hpp;h=5b3172a10ad557d7f0f9a37fdfcdb21bd6910a1e;hb=a81ced7911d1c31812d7acfbf0680ba00143ac9c;hp=aecf05f0c694632224e2adb4f9e8fa1bdb414b77;hpb=9a9d6492357025e57ce7779c801e41dcc01f6f69;p=awesomized%2Flibmemcached diff --git a/libtest/comparison.hpp b/libtest/comparison.hpp index aecf05f0..5b3172a1 100644 --- a/libtest/comparison.hpp +++ b/libtest/comparison.hpp @@ -50,6 +50,9 @@ namespace libtest { +LIBTEST_API +bool jenkins_is_caller(void); + LIBTEST_API bool gdb_is_caller(void); @@ -59,12 +62,15 @@ bool valgrind_is_caller(void); LIBTEST_API bool _in_valgrind(const char *file, int line, const char *func); -template -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 +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; } @@ -122,26 +128,14 @@ bool _compare_zero(const char *file, int line, const char *func, T_comparable __ return true; } -template -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 -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 +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; @@ -150,20 +144,20 @@ bool _compare_hint(const char *file, int line, const char *func, T1_comparable _ return true; } -template -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 +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