Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Gorshenin <y@maps.me>2016-02-09 12:46:12 +0300
committerSergey Yershov <yershov@corp.mail.ru>2016-03-23 16:16:59 +0300
commitcb3fe67baad34128b93c76720900ccac555eb0eb (patch)
tree9ecfbfb8739403fd32e3f03e83e2b1edaf5e594d /testing
parentae05d79336f0bd430cdbf0cc4c91d8317631f23e (diff)
[testing] Fixed TEST*() macroses.
Diffstat (limited to 'testing')
-rw-r--r--testing/testing.hpp215
1 files changed, 166 insertions, 49 deletions
diff --git a/testing/testing.hpp b/testing/testing.hpp
index 19ef6b87df..818f1a0aa9 100644
--- a/testing/testing.hpp
+++ b/testing/testing.hpp
@@ -59,54 +59,171 @@ struct CommandLineOptions
};
CommandLineOptions const & GetTestingOptions();
-#define TEST(X, msg) { if (X) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST("#X")", ::my::impl::Message msg));}}
-#define TEST_EQUAL(X, Y, msg) { if ((X) == (Y)) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST("#X" == "#Y")", \
- ::my::impl::Message(X, Y), \
- ::my::impl::Message msg));}}
-#define TEST_NOT_EQUAL(X, Y, msg) { if ((X) != (Y)) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST("#X" != "#Y")", \
- ::my::impl::Message(X, Y), \
- ::my::impl::Message msg));}}
-#define TEST_LESS(X, Y, msg) { if ((X) < (Y)) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST("#X" < "#Y")", \
- ::my::impl::Message(X, Y), \
- ::my::impl::Message msg));}}
-#define TEST_LESS_OR_EQUAL(X, Y, msg) { if ((X) <= (Y)) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST("#X" <= "#Y")", \
- ::my::impl::Message(X, Y), \
- ::my::impl::Message msg));}}
-#define TEST_GREATER(X, Y, msg) { if ((X) > (Y)) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST("#X" > "#Y")", \
- ::my::impl::Message(X, Y), \
- ::my::impl::Message msg));}}
-#define TEST_GREATER_OR_EQUAL(X, Y, msg) { if ((X) >= (Y)) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST("#X" >= "#Y")", \
- ::my::impl::Message(X, Y), \
- ::my::impl::Message msg));}}
-#define TEST_ALMOST_EQUAL_ULPS(X, Y, msg) { if (::my::AlmostEqualULPs(X, Y)) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST(my::AlmostEqualULPs("#X", "#Y")", \
- ::my::impl::Message(X, Y), \
- ::my::impl::Message msg));}}
-#define TEST_NOT_ALMOST_EQUAL_ULPS(X, Y, msg) { if (!::my::AlmostEqualULPs(X, Y)) {} else { \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST(!my::AlmostEqualULPs("#X", "#Y")", \
- ::my::impl::Message(X, Y), \
- ::my::impl::Message msg));}}
+#define TEST(X, msg) \
+ do \
+ { \
+ if (X) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), ::my::impl::Message("TEST(" #X ")", ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_EQUAL(X, Y, msg) \
+ do \
+ { \
+ if ((X) == (Y)) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), \
+ ::my::impl::Message("TEST(" #X " == " #Y ")", ::my::impl::Message(X, Y), \
+ ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_NOT_EQUAL(X, Y, msg) \
+ do \
+ { \
+ if ((X) != (Y)) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), \
+ ::my::impl::Message("TEST(" #X " != " #Y ")", ::my::impl::Message(X, Y), \
+ ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_LESS(X, Y, msg) \
+ do \
+ { \
+ if ((X) < (Y)) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), \
+ ::my::impl::Message("TEST(" #X " < " #Y ")", ::my::impl::Message(X, Y), \
+ ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_LESS_OR_EQUAL(X, Y, msg) \
+ do \
+ { \
+ if ((X) <= (Y)) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), \
+ ::my::impl::Message("TEST(" #X " <= " #Y ")", ::my::impl::Message(X, Y), \
+ ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_GREATER(X, Y, msg) \
+ do \
+ { \
+ if ((X) > (Y)) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), \
+ ::my::impl::Message("TEST(" #X " > " #Y ")", ::my::impl::Message(X, Y), \
+ ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_GREATER_OR_EQUAL(X, Y, msg) \
+ do \
+ { \
+ if ((X) >= (Y)) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), \
+ ::my::impl::Message("TEST(" #X " >= " #Y ")", ::my::impl::Message(X, Y), \
+ ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_ALMOST_EQUAL_ULPS(X, Y, msg) \
+ do \
+ { \
+ if (::my::AlmostEqualULPs(X, Y)) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), \
+ ::my::impl::Message("TEST(my::AlmostEqualULPs(" #X ", " #Y ")", \
+ ::my::impl::Message(X, Y), ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_NOT_ALMOST_EQUAL_ULPS(X, Y, msg) \
+ do \
+ { \
+ if (!::my::AlmostEqualULPs(X, Y)) \
+ { \
+ } \
+ else \
+ { \
+ ::my::OnTestFailed(SRC(), \
+ ::my::impl::Message("TEST(!my::AlmostEqualULPs(" #X ", " #Y ")", \
+ ::my::impl::Message(X, Y), ::my::impl::Message msg)); \
+ } \
+ } while (0)
// TODO(AlexZ): Add more cool macroses (or switch all unit tests to gtest).
-#define TEST_THROW(X, exception, msg) { bool expected_exception = false; \
- try { X; } catch (exception const &) { expected_exception = true; } \
- catch (...) { ::my::OnTestFailed(SRC(), ::my::impl::Message("Unexpected exception at TEST("#X")", \
- ::my::impl::Message msg)); } \
- if (!expected_exception) \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("Expected exception "#exception" was not thrown in TEST("#X")", \
- ::my::impl::Message msg));}
-#define TEST_NO_THROW(X, msg) { \
- try { X; } catch (...) { ::my::OnTestFailed(SRC(), ::my::impl::Message("Unexpected exception at TEST("#X")", \
- ::my::impl::Message msg));}}
-#define TEST_ANY_THROW(X, msg) { bool was_exception = false; \
- try { X; } catch (...) { was_exception = true; } \
- if (!was_exception) \
- ::my::OnTestFailed(SRC(), ::my::impl::Message("No exceptions were thrown in TEST("#X")", \
- ::my::impl::Message msg));}
+#define TEST_THROW(X, exception, msg) \
+ do \
+ { \
+ bool expected_exception = false; \
+ try \
+ { \
+ X; \
+ } \
+ catch (exception const &) \
+ { \
+ expected_exception = true; \
+ } \
+ catch (...) \
+ { \
+ ::my::OnTestFailed(SRC(), ::my::impl::Message("Unexpected exception at TEST(" #X ")", \
+ ::my::impl::Message msg)); \
+ } \
+ if (!expected_exception) \
+ ::my::OnTestFailed(SRC(), ::my::impl::Message("Expected exception " #exception \
+ " was not thrown in TEST(" #X ")", \
+ ::my::impl::Message msg)); \
+ } while (0)
+#define TEST_NO_THROW(X, msg) \
+ do \
+ { \
+ try \
+ { \
+ X; \
+ } \
+ catch (...) \
+ { \
+ ::my::OnTestFailed(SRC(), ::my::impl::Message("Unexpected exception at TEST(" #X ")", \
+ ::my::impl::Message msg)); \
+ } \
+ } while (0)
+#define TEST_ANY_THROW(X, msg) \
+ do \
+ { \
+ bool was_exception = false; \
+ try \
+ { \
+ X; \
+ } \
+ catch (...) \
+ { \
+ was_exception = true; \
+ } \
+ if (!was_exception) \
+ ::my::OnTestFailed(SRC(), ::my::impl::Message("No exceptions were thrown in TEST(" #X ")", \
+ ::my::impl::Message msg)); \
+ } while (0)