Merge in updates for sasl.
[m6w6/libmemcached] / libtest / test.h
index 79725126d8cffb3382bb704a85908b5afd3d1305..d195dd5630462f28c5785e60af61a5e129600178 100644 (file)
@@ -1,10 +1,25 @@
-/* 
- * uTest Copyright (C) 2011 Data Differential, http://datadifferential.com/
+/*  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ * 
+ *  libtest
  *
- * Use and distribution licensed under the BSD license.  See
- * the COPYING file in the parent directory for full text.
+ *  Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 3 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+
 #pragma once
 
 #ifndef __INTEL_COMPILER
 #endif
 
 #include <libtest/stream.h>
-
-LIBTEST_API
-const char* default_socket();
-
-LIBTEST_API
-void set_default_socket(const char *socket);
-
+#include <libtest/comparison.hpp>
 
 /**
   A structure describing the test case.
@@ -29,9 +38,6 @@ struct test_st {
   test_callback_fn *test_fn;
 };
 
-LIBTEST_API
-bool test_is_local(void);
-
 #define test_assert_errno(A) \
 do \
 { \
@@ -75,22 +81,10 @@ do \
   } \
 } while (0)
 
-template <class T_comparable, class T_hint>
-bool _true_hint(const char *file, int line, const char *func, T_comparable __expected, const char *assertation_label,  T_hint __hint)
-{
-  if (__expected == false)
-  {
-    libtest::stream::make_cerr(file, line, func) << "Assertation  \"" << assertation_label << "\" failed, hint: " << __hint;
-    return false;
-  }
-
-  return true;
-}
-
 #define test_true_got(__expected, __hint) \
 do \
 { \
-  if (not _true_hint(__FILE__, __LINE__, __func__, ((__expected)), #__expected, ((__hint)))) \
+  if (not libtest::_compare_true_hint(__FILE__, __LINE__, __func__, ((__expected)), #__expected, ((__hint)))) \
   { \
     create_core(); \
     return TEST_FAILURE; \
@@ -137,47 +131,10 @@ do \
   } \
 } while (0)
 
-template <class T_comparable>
-bool _compare(const char *file, int line, const char *func, T_comparable __expected, T_comparable __actual)
-{
-  if (__expected != __actual)
-  {
-    libtest::stream::make_cerr(file, line, func) << "Expected \"" << __expected << "\" got \"" << __actual << "\"";
-    return false;
-  }
-
-  return true;
-}
-
-template <class T_comparable>
-bool _compare_zero(const char *file, int line, const char *func, T_comparable __actual)
-{
-  if (T_comparable(0) != __actual)
-  {
-    libtest::stream::make_cerr(file, line, func) << "Expected 0 got \"" << __actual << "\"";
-    return false;
-  }
-
-  return true;
-}
-
-template <class T_comparable, class T_hint>
-bool _compare_hint(const char *file, int line, const char *func, T_comparable __expected, T_comparable __actual, T_hint __hint)
-{
-  if (__expected != __actual)
-  {
-    libtest::stream::make_cerr(file, line, func) << "Expected \"" << __expected << "\" got \"" << __actual << "\" Additionally: \"" << __hint << "\"";
-
-    return false;
-  }
-
-  return true;
-}
-
 #define test_compare(__expected, __actual) \
 do \
 { \
-  if (not _compare(__FILE__, __LINE__, __func__, ((__expected)), ((__actual)))) \
+  if (not libtest::_compare(__FILE__, __LINE__, __func__, ((__expected)), ((__actual)))) \
   { \
     create_core(); \
     return TEST_FAILURE; \
@@ -187,7 +144,7 @@ do \
 #define test_zero(__actual) \
 do \
 { \
-  if (not _compare_zero(__FILE__, __LINE__, __func__, ((__actual)))) \
+  if (not libtest::_compare_zero(__FILE__, __LINE__, __func__, ((__actual)))) \
   { \
     create_core(); \
     return TEST_FAILURE; \
@@ -197,7 +154,7 @@ do \
 #define test_compare_got(__expected, __actual, __hint) \
 do \
 { \
-  if (not _compare_hint(__FILE__, __LINE__, __func__, (__expected), (__actual), (__hint))) \
+  if (not libtest::_compare_hint(__FILE__, __LINE__, __func__, (__expected), (__actual), (__hint))) \
   { \
     create_core(); \
     return TEST_FAILURE; \