From: Jim Meyering Date: Tue, 16 Jan 2018 17:32:45 +0000 (-0800) Subject: define SKIP_IF X-Git-Tag: v2018.01.22.00~29 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=commitdiff_plain;h=492fad43a76506407008a5394511daf6bba5bccc;hp=6746259314362d89f3d1d1dbfdf00c9fe18de202;ds=sidebyside 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 --- 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 = \