-/*
- * 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.
test_callback_fn *test_fn;
};
-LIBTEST_API
-bool test_is_local(void);
-
#define test_assert_errno(A) \
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; \
} \
} 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; \
#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; \
#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; \