mirror of
https://git.mirrors.martin98.com/https://github.com/google/googletest.git
synced 2025-06-04 11:25:34 +08:00
Uses a simpler mechanism to disable the copying of GoogleTest test suites.
PiperOrigin-RevId: 477549427 Change-Id: I6421ca09f0f1296cebdc3e54565049f1542dfa8a
This commit is contained in:
parent
4924e0610a
commit
c43b916a96
@ -409,7 +409,7 @@ internal::CartesianProductHolder<Generator...> Combine(const Generator&... g) {
|
|||||||
|
|
||||||
#define TEST_P(test_suite_name, test_name) \
|
#define TEST_P(test_suite_name, test_name) \
|
||||||
class GTEST_TEST_CLASS_NAME_(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, private ::testing::internal::NonCopyable { \
|
||||||
public: \
|
public: \
|
||||||
GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)() {} \
|
GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)() {} \
|
||||||
void TestBody() override; \
|
void TestBody() override; \
|
||||||
|
@ -190,19 +190,12 @@ void ReportFailureInUnknownLocation(TestPartResult::Type result_type,
|
|||||||
const std::string& message);
|
const std::string& message);
|
||||||
std::set<std::string>* GetIgnoredParameterizedTestSuites();
|
std::set<std::string>* GetIgnoredParameterizedTestSuites();
|
||||||
|
|
||||||
// Mix-in class for user tests.
|
class NonCopyable {
|
||||||
// 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:
|
public:
|
||||||
UserTestSuite() = default;
|
NonCopyable() = default;
|
||||||
UserTestSuite(const UserTestSuite &) = delete;
|
NonCopyable(const NonCopyable &) = delete;
|
||||||
UserTestSuite &operator=(const UserTestSuite &) = delete;
|
NonCopyable &operator=(const NonCopyable &) = delete;
|
||||||
virtual ~UserTestSuite() = default;
|
~NonCopyable() = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace internal
|
} // namespace internal
|
||||||
|
Loading…
x
Reference in New Issue
Block a user