X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Ftest.h;h=6117959b386e18e6ef6a5b41adf9db9131f77a32;hb=a07c4cf27ab54b4abe3195b9534b07448fa22e40;hp=4665043e9e72fbd539c85f69d09e24bed83c1051;hpb=61bb2c3a16c0c9723bbb6492283e349a8ccdf11f;p=m6w6%2Flibmemcached diff --git a/libtest/test.h b/libtest/test.h index 4665043e..6117959b 100644 --- a/libtest/test.h +++ b/libtest/test.h @@ -11,6 +11,9 @@ #pragma GCC diagnostic ignored "-Wold-style-cast" #endif +#include +#include + /** A structure describing the test case. */ @@ -20,9 +23,6 @@ struct test_st { test_callback_fn *test_fn; }; -LIBTEST_API -bool test_is_local(void); - #define test_assert_errno(A) \ do \ { \ @@ -66,11 +66,11 @@ do \ } \ } while (0) -#define test_true_got(A,B) \ +#define test_true_got(__expected, __hint) \ do \ { \ - if (! (A)) { \ - fprintf(stderr, "\n%s:%d: Assertion \"%s\" failed, received \"%s\"\n", __FILE__, __LINE__, #A, (B));\ + if (not libtest::_compare_true_hint(__FILE__, __LINE__, __func__, ((__expected)), #__expected, ((__hint)))) \ + { \ create_core(); \ return TEST_FAILURE; \ } \ @@ -116,24 +116,31 @@ do \ } \ } while (0) +#define test_compare(__expected, __actual) \ +do \ +{ \ + if (not libtest::_compare(__FILE__, __LINE__, __func__, ((__expected)), ((__actual)))) \ + { \ + create_core(); \ + return TEST_FAILURE; \ + } \ +} while (0) -#define test_compare(A,B) \ +#define test_zero(__actual) \ do \ { \ - if ((A) != (B)) \ + if (not libtest::_compare_zero(__FILE__, __LINE__, __func__, ((__actual)))) \ { \ - fprintf(stderr, "\n%s:%d: Expected %s, got %lu\n", __FILE__, __LINE__, #A, (unsigned long)(B)); \ create_core(); \ return TEST_FAILURE; \ } \ } while (0) -#define test_compare_got(A,B,C) \ +#define test_compare_got(__expected, __actual, __hint) \ do \ { \ - if ((A) != (B)) \ + if (not libtest::_compare_hint(__FILE__, __LINE__, __func__, (__expected), (__actual), (__hint))) \ { \ - fprintf(stderr, "\n%s:%d: Expected %s, got %s\n", __FILE__, __LINE__, #A, (C)); \ create_core(); \ return TEST_FAILURE; \ } \