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

github.com/google/googletest.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2022-09-29 01:24:12 +0300
committerCopybara-Service <copybara-worker@google.com>2022-09-29 01:24:50 +0300
commitd1a0039b97291dd1dc14f123b906bb7622ffe07c (patch)
tree6d2598794d2cf8a8be9475663d0921317142fdfa
parent19387c9dd5b153a6bdef6f1fc4fb2391fdb122d0 (diff)
Rollback: Moves boilerplate disabling copy constructor/assignment from GoogleTest's TEST_P macro into a header file to avoid triggering warnings in user code.
PiperOrigin-RevId: 477566426 Change-Id: Ia417e295d839f43be6e61a5699457866108f2a01
-rw-r--r--googletest/include/gtest/gtest-param-test.h7
-rw-r--r--googletest/include/gtest/gtest.h15
2 files changed, 6 insertions, 16 deletions
diff --git a/googletest/include/gtest/gtest-param-test.h b/googletest/include/gtest/gtest-param-test.h
index 19238ae4..b55119ac 100644
--- a/googletest/include/gtest/gtest-param-test.h
+++ b/googletest/include/gtest/gtest-param-test.h
@@ -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; \
@@ -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_ = \
diff --git a/googletest/include/gtest/gtest.h b/googletest/include/gtest/gtest.h
index 6ff2774f..d19a587a 100644
--- a/googletest/include/gtest/gtest.h
+++ b/googletest/include/gtest/gtest.h
@@ -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.