Skip to content

Commit

Permalink
Rollback: Moves boilerplate disabling copy constructor/assignment fro…
Browse files Browse the repository at this point in the history
…m GoogleTest's TEST_P macro into a header file to avoid triggering warnings in user code.

PiperOrigin-RevId: 477566426
Change-Id: Ia417e295d839f43be6e61a5699457866108f2a01
  • Loading branch information
Abseil Team authored and copybara-github committed Sep 28, 2022
1 parent 19387c9 commit d1a0039
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 16 deletions.
7 changes: 6 additions & 1 deletion googletest/include/gtest/gtest-param-test.h
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ internal::CartesianProductHolder<Generator...> Combine(const Generator&... g) {

#define TEST_P(test_suite_name, test_name) \
class GTEST_TEST_CLASS_NAME_(test_suite_name, test_name) \
: public ::testing::internal::UserTestSuite<test_suite_name> { \
: public test_suite_name { \
public: \
GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)() {} \
void TestBody() override; \
Expand All @@ -429,6 +429,11 @@ internal::CartesianProductHolder<Generator...> Combine(const Generator&... g) {
return 0; \
} \
static int gtest_registering_dummy_ GTEST_ATTRIBUTE_UNUSED_; \
GTEST_TEST_CLASS_NAME_(test_suite_name, test_name) \
(const GTEST_TEST_CLASS_NAME_(test_suite_name, test_name) &) = delete; \
GTEST_TEST_CLASS_NAME_(test_suite_name, test_name) & operator=( \
const GTEST_TEST_CLASS_NAME_(test_suite_name, \
test_name) &) = delete; /* NOLINT */ \
}; \
int GTEST_TEST_CLASS_NAME_(test_suite_name, \
test_name)::gtest_registering_dummy_ = \
Expand Down
15 changes: 0 additions & 15 deletions googletest/include/gtest/gtest.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,21 +190,6 @@ void ReportFailureInUnknownLocation(TestPartResult::Type result_type,
const std::string& message);
std::set<std::string>* GetIgnoredParameterizedTestSuites();

// Mix-in class for user tests.
// This allows us to add/delete members to/from test suites without having to
// modify the test macros themselves.
// This makes the code easier to read and maintain, as well making it easier
// for users to suppress any warnings originating from these members, as the
// members are now declared in an external header instead of in user code.
template <class TestClass>
class UserTestSuite : public TestClass {
public:
UserTestSuite() = default;
UserTestSuite(const UserTestSuite &) = delete;
UserTestSuite &operator=(const UserTestSuite &) = delete;
virtual ~UserTestSuite() = default;
};

} // namespace internal

// The friend relationship of some of these classes is cyclic.
Expand Down

0 comments on commit d1a0039

Please sign in to comment.