From 492fad43a76506407008a5394511daf6bba5bccc Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 16 Jan 2018 09:32:45 -0800 Subject: [PATCH] define SKIP_IF 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 --- folly/test/TestUtils.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/folly/test/TestUtils.h b/folly/test/TestUtils.h index 6eb7a0b9..62085ff8 100644 --- a/folly/test/TestUtils.h +++ b/folly/test/TestUtils.h @@ -19,7 +19,7 @@ /* * This file contains additional gtest-style check macros to use in unit tests. * - * - SKIP() + * - SKIP(), SKIP_IF(EXPR) * - EXPECT_THROW_RE(), ASSERT_THROW_RE() * - EXPECT_THROW_ERRNO(), ASSERT_THROW_ERRNO() * - AreWithinSecs() @@ -46,6 +46,13 @@ // 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 = \ -- 2.34.1