Summary:
Finding ourselves writing too many identical "if (expr) SKIP << ..." statements,
this change factors out/encapsulates the functionality.
Reviewed By: yfeldblum
Differential Revision:
D6727531
fbshipit-source-id:
703abcd5d8c30a6ebab94327a12da4f2d1f7ff74
/*
* This file contains additional gtest-style check macros to use in unit tests.
*
/*
* This file contains additional gtest-style check macros to use in unit tests.
*
+ * - SKIP(), SKIP_IF(EXPR)
* - EXPECT_THROW_RE(), ASSERT_THROW_RE()
* - EXPECT_THROW_ERRNO(), ASSERT_THROW_ERRNO()
* - AreWithinSecs()
* - EXPECT_THROW_RE(), ASSERT_THROW_RE()
* - EXPECT_THROW_ERRNO(), ASSERT_THROW_ERRNO()
* - AreWithinSecs()
// interprets the message.
#define SKIP() GTEST_FATAL_FAILURE_("Test skipped by client")
// interprets the message.
#define SKIP() GTEST_FATAL_FAILURE_("Test skipped by client")
+// Encapsulate conditional-skip, since it's nontrivial to get right.
+#define SKIP_IF(expr) \
+ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
+ if (!(expr)) { \
+ } else \
+ SKIP()
+
#define TEST_THROW_ERRNO_(statement, errnoValue, fail) \
GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
if (::folly::test::detail::CheckResult gtest_result = \
#define TEST_THROW_ERRNO_(statement, errnoValue, fail) \
GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
if (::folly::test::detail::CheckResult gtest_result = \