| 1 | // RUN: %check_clang_tidy --match-partial-fixes %s google-upgrade-googletest-case %t -- -- -I%S/Inputs |
| 2 | // RUN: %check_clang_tidy -check-suffix=NOSUITE %s google-upgrade-googletest-case %t -- -- -DNOSUITE -I%S/Inputs/gtest/nosuite |
| 3 | |
| 4 | #include "gtest/gtest.h" |
| 5 | |
| 6 | // When including a version of googletest without the replacement names, this |
| 7 | // check should not produce any diagnostics. The following dummy fix is present |
| 8 | // because `check_clang_tidy.py` requires at least one warning, fix or note. |
| 9 | void Dummy() {} |
| 10 | // CHECK-FIXES-NOSUITE: void Dummy() {} |
| 11 | |
| 12 | // ---------------------------------------------------------------------------- |
| 13 | // Macros |
| 14 | |
| 15 | TYPED_TEST_CASE(FooTest, FooTypes); |
| 16 | // CHECK-MESSAGES: [[@LINE-1]]:1: warning: Google Test APIs named with 'case' are deprecated; use equivalent APIs named with 'suite' |
| 17 | // CHECK-FIXES: TYPED_TEST_SUITE(FooTest, FooTypes); |
| 18 | TYPED_TEST_CASE_P(); |
| 19 | // CHECK-MESSAGES: [[@LINE-1]]:1: warning: Google Test APIs named with 'case' |
| 20 | // CHECK-FIXES: TYPED_TEST_SUITE_P(FooTest); |
| 21 | REGISTER_TYPED_TEST_CASE_P(FooTest, FooTestName); |
| 22 | // CHECK-MESSAGES: [[@LINE-1]]:1: warning: Google Test APIs named with 'case' |
| 23 | // CHECK-FIXES: REGISTER_TYPED_TEST_SUITE_P(FooTest, FooTestName); |
| 24 | INSTANTIATE_TYPED_TEST_CASE_P(FooPrefix, FooTest, FooTypes); |
| 25 | // CHECK-MESSAGES: [[@LINE-1]]:1: warning: Google Test APIs named with 'case' |
| 26 | // CHECK-FIXES: INSTANTIATE_TYPED_TEST_SUITE_P(FooPrefix, FooTest, FooTypes); |
| 27 | |
| 28 | #ifdef TYPED_TEST_CASE |
| 29 | // CHECK-MESSAGES: [[@LINE-1]]:2: warning: Google Test APIs named with 'case' |
| 30 | #undef TYPED_TEST_CASE |
| 31 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: Google Test APIs named with 'case' |
| 32 | #define TYPED_TEST_CASE(CaseName, Types, ...) |
| 33 | #endif |
| 34 | |
| 35 | #ifdef TYPED_TEST_CASE_P |
| 36 | // CHECK-MESSAGES: [[@LINE-1]]:2: warning: Google Test APIs named with 'case' |
| 37 | #undef TYPED_TEST_CASE_P |
| 38 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: Google Test APIs named with 'case' |
| 39 | #define TYPED_TEST_CASE_P(SuiteName) |
| 40 | #endif |
| 41 | |
| 42 | #ifdef REGISTER_TYPED_TEST_CASE_P |
| 43 | // CHECK-MESSAGES: [[@LINE-1]]:2: warning: Google Test APIs named with 'case' |
| 44 | #undef REGISTER_TYPED_TEST_CASE_P |
| 45 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: Google Test APIs named with 'case' |
| 46 | #define REGISTER_TYPED_TEST_CASE_P(SuiteName, ...) |
| 47 | #endif |
| 48 | |
| 49 | #ifdef INSTANTIATE_TYPED_TEST_CASE_P |
| 50 | // CHECK-MESSAGES: [[@LINE-1]]:2: warning: Google Test APIs named with 'case' |
| 51 | #undef INSTANTIATE_TYPED_TEST_CASE_P |
| 52 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: Google Test APIs named with 'case' |
| 53 | #define INSTANTIATE_TYPED_TEST_CASE_P(Prefix, SuiteName, Types, ...) |
| 54 | #endif |
| 55 | |
| 56 | TYPED_TEST_CASE(FooTest, FooTypes); |
| 57 | TYPED_TEST_CASE_P(); |
| 58 | REGISTER_TYPED_TEST_CASE_P(FooTest, FooTestName); |
| 59 | INSTANTIATE_TYPED_TEST_CASE_P(FooPrefix, FooTest, FooTypes); |
| 60 | |
| 61 | // ---------------------------------------------------------------------------- |
| 62 | // testing::Test |
| 63 | |
| 64 | class : public testing::Test { |
| 65 | public: |
| 66 | static void SetUpTestCase(); |
| 67 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 68 | // CHECK-FIXES: static void SetUpTestSuite(); |
| 69 | static void TearDownTestCase(); |
| 70 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 71 | // CHECK-FIXES: static void TearDownTestSuite(); |
| 72 | }; |
| 73 | |
| 74 | void FooTest::() {} |
| 75 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 76 | // CHECK-FIXES: void FooTest::SetUpTestSuite() {} |
| 77 | |
| 78 | void FooTest::() {} |
| 79 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 80 | // CHECK-FIXES: void FooTest::TearDownTestSuite() {} |
| 81 | |
| 82 | template <typename T> class : public testing::Test { |
| 83 | public: |
| 84 | static void SetUpTestCase(); |
| 85 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 86 | // CHECK-FIXES: static void SetUpTestSuite(); |
| 87 | static void TearDownTestCase(); |
| 88 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 89 | // CHECK-FIXES: static void TearDownTestSuite(); |
| 90 | }; |
| 91 | |
| 92 | template <typename T> void FooTypedTest<T>::() {} |
| 93 | // CHECK-MESSAGES: [[@LINE-1]]:45: warning: Google Test APIs named with 'case' |
| 94 | // CHECK-FIXES: void FooTypedTest<T>::SetUpTestSuite() {} |
| 95 | |
| 96 | template <typename T> void FooTypedTest<T>::() {} |
| 97 | // CHECK-MESSAGES: [[@LINE-1]]:45: warning: Google Test APIs named with 'case' |
| 98 | // CHECK-FIXES: void FooTypedTest<T>::TearDownTestSuite() {} |
| 99 | |
| 100 | class BarTest : public testing::Test { |
| 101 | public: |
| 102 | using Test::SetUpTestCase; |
| 103 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 104 | // CHECK-FIXES: using Test::SetUpTestSuite; |
| 105 | using Test::TearDownTestCase; |
| 106 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 107 | // CHECK-FIXES: using Test::TearDownTestSuite; |
| 108 | }; |
| 109 | |
| 110 | class BarTest2 : public FooTest { |
| 111 | public: |
| 112 | using FooTest::SetUpTestCase; |
| 113 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 114 | // CHECK-FIXES: using FooTest::SetUpTestSuite; |
| 115 | using FooTest::TearDownTestCase; |
| 116 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 117 | // CHECK-FIXES: using FooTest::TearDownTestSuite; |
| 118 | }; |
| 119 | |
| 120 | // If a derived type already has the replacements, we only provide a warning |
| 121 | // since renaming or deleting the old declarations may not be safe. |
| 122 | class BarTest3 : public testing::Test { |
| 123 | public: |
| 124 | static void SetUpTestCase() {} |
| 125 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 126 | static void SetUpTestSuite() {} |
| 127 | |
| 128 | static void TearDownTestCase() {} |
| 129 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 130 | static void TearDownTestSuite() {} |
| 131 | }; |
| 132 | |
| 133 | namespace nesting_ns { |
| 134 | namespace testing { |
| 135 | |
| 136 | class Test { |
| 137 | public: |
| 138 | static void SetUpTestCase(); |
| 139 | static void TearDownTestCase(); |
| 140 | }; |
| 141 | |
| 142 | } // namespace testing |
| 143 | |
| 144 | void Test() { |
| 145 | testing::Test::SetUpTestCase(); |
| 146 | testing::Test::TearDownTestCase(); |
| 147 | } |
| 148 | |
| 149 | } // namespace nesting_ns |
| 150 | |
| 151 | template <typename T> |
| 152 | void testInstantiationOnlyWarns() { |
| 153 | T::SetUpTestCase(); |
| 154 | // CHECK-MESSAGES: [[@LINE-1]]:6: warning: Google Test APIs named with 'case' |
| 155 | T::TearDownTestCase(); |
| 156 | // CHECK-MESSAGES: [[@LINE-1]]:6: warning: Google Test APIs named with 'case' |
| 157 | } |
| 158 | |
| 159 | #define SET_UP_TEST_CASE_MACRO_REPLACE SetUpTestCase |
| 160 | #define TEST_SET_UP_TEST_CASE_MACRO_WARN_ONLY ::testing::Test::SetUpTestCase |
| 161 | |
| 162 | void setUpTearDownCallAndReference() { |
| 163 | testing::Test::SetUpTestCase(); |
| 164 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 165 | // CHECK-FIXES: testing::Test::SetUpTestSuite(); |
| 166 | FooTest::SetUpTestCase(); |
| 167 | // CHECK-MESSAGES: [[@LINE-1]]:12: warning: Google Test APIs named with 'case' |
| 168 | // CHECK-FIXES: FooTest::SetUpTestSuite(); |
| 169 | |
| 170 | testing::Test::TearDownTestCase(); |
| 171 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 172 | // CHECK-FIXES: testing::Test::TearDownTestSuite(); |
| 173 | FooTest::TearDownTestCase(); |
| 174 | // CHECK-MESSAGES: [[@LINE-1]]:12: warning: Google Test APIs named with 'case' |
| 175 | // CHECK-FIXES: FooTest::TearDownTestSuite(); |
| 176 | |
| 177 | auto F = &testing::Test::SetUpTestCase; |
| 178 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 179 | // CHECK-FIXES: auto F = &testing::Test::SetUpTestSuite; |
| 180 | F = &testing::Test::TearDownTestCase; |
| 181 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 182 | // CHECK-FIXES: F = &testing::Test::TearDownTestSuite; |
| 183 | F = &FooTest::SetUpTestCase; |
| 184 | // CHECK-MESSAGES: [[@LINE-1]]:17: warning: Google Test APIs named with 'case' |
| 185 | // CHECK-FIXES: F = &FooTest::SetUpTestSuite; |
| 186 | F = &FooTest::TearDownTestCase; |
| 187 | // CHECK-MESSAGES: [[@LINE-1]]:17: warning: Google Test APIs named with 'case' |
| 188 | // CHECK-FIXES: F = &FooTest::TearDownTestSuite; |
| 189 | |
| 190 | using MyTest = testing::Test; |
| 191 | MyTest::SetUpTestCase(); |
| 192 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 193 | // CHECK-FIXES: MyTest::SetUpTestSuite(); |
| 194 | MyTest::TearDownTestCase(); |
| 195 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 196 | // CHECK-FIXES: MyTest::TearDownTestSuite(); |
| 197 | |
| 198 | BarTest3::SetUpTestCase(); |
| 199 | // CHECK-MESSAGES: [[@LINE-1]]:13: warning: Google Test APIs named with 'case' |
| 200 | // CHECK-FIXES: BarTest3::SetUpTestSuite(); |
| 201 | BarTest3::TearDownTestCase(); |
| 202 | // CHECK-MESSAGES: [[@LINE-1]]:13: warning: Google Test APIs named with 'case' |
| 203 | // CHECK-FIXES: BarTest3::TearDownTestSuite(); |
| 204 | |
| 205 | testInstantiationOnlyWarns<testing::Test>(); |
| 206 | |
| 207 | testing::Test::SET_UP_TEST_CASE_MACRO_REPLACE(); |
| 208 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 209 | // CHECK-FIXES: testing::Test::SetUpTestSuite(); |
| 210 | TEST_SET_UP_TEST_CASE_MACRO_WARN_ONLY(); |
| 211 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 212 | } |
| 213 | |
| 214 | // ---------------------------------------------------------------------------- |
| 215 | // testing::TestInfo |
| 216 | |
| 217 | class : public testing::TestInfo { |
| 218 | public: |
| 219 | const char *test_case_name() const; |
| 220 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 221 | // CHECK-FIXES: const char *test_suite_name() const; |
| 222 | }; |
| 223 | |
| 224 | const char *FooTestInfo::() const { return nullptr; } |
| 225 | // CHECK-MESSAGES: [[@LINE-1]]:26: warning: Google Test APIs named with 'case' |
| 226 | // CHECK-FIXES: const char *FooTestInfo::test_suite_name() const { return nullptr; } |
| 227 | |
| 228 | class BarTestInfo : public testing::TestInfo { |
| 229 | public: |
| 230 | using TestInfo::test_case_name; |
| 231 | // CHECK-MESSAGES: [[@LINE-1]]:19: warning: Google Test APIs named with 'case' |
| 232 | // CHECK-FIXES: using TestInfo::test_suite_name; |
| 233 | }; |
| 234 | |
| 235 | class BarTestInfo2 : public FooTestInfo { |
| 236 | public: |
| 237 | using FooTestInfo::test_case_name; |
| 238 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 239 | // CHECK-FIXES: using FooTestInfo::test_suite_name; |
| 240 | }; |
| 241 | |
| 242 | class BarTestInfo3 : public testing::TestInfo { |
| 243 | public: |
| 244 | const char* test_case_name() const; |
| 245 | // CHECK-MESSAGES: [[@LINE-1]]:15: warning: Google Test APIs named with 'case' |
| 246 | const char* test_suite_name() const; |
| 247 | }; |
| 248 | |
| 249 | namespace nesting_ns { |
| 250 | namespace testing { |
| 251 | |
| 252 | class TestInfo { |
| 253 | public: |
| 254 | const char *test_case_name() const; |
| 255 | }; |
| 256 | |
| 257 | } // namespace testing |
| 258 | |
| 259 | void FuncInfo() { |
| 260 | testing::TestInfo t; |
| 261 | (void)t.test_case_name(); |
| 262 | } |
| 263 | |
| 264 | } // namespace nesting_ns |
| 265 | |
| 266 | template <typename T> |
| 267 | void testInfoInstantiationOnlyWarns() { |
| 268 | T t; |
| 269 | (void)t.test_case_name(); |
| 270 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 271 | } |
| 272 | |
| 273 | #define TEST_CASE_NAME_MACRO_REPLACE test_case_name |
| 274 | #define TEST_CASE_NAME_MACRO_WARN_ONLY testing::TestInfo().test_case_name |
| 275 | |
| 276 | void testInfoCallAndReference() { |
| 277 | (void)testing::TestInfo().test_case_name(); |
| 278 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 279 | // CHECK-FIXES: (void)testing::TestInfo().test_suite_name(); |
| 280 | (void)FooTestInfo().test_case_name(); |
| 281 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 282 | // CHECK-FIXES: (void)FooTestInfo().test_suite_name(); |
| 283 | auto F1 = &testing::TestInfo::test_case_name; |
| 284 | // CHECK-MESSAGES: [[@LINE-1]]:33: warning: Google Test APIs named with 'case' |
| 285 | // CHECK-FIXES: auto F1 = &testing::TestInfo::test_suite_name; |
| 286 | auto F2 = &FooTestInfo::test_case_name; |
| 287 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 288 | // CHECK-FIXES: auto F2 = &FooTestInfo::test_suite_name; |
| 289 | using MyTestInfo = testing::TestInfo; |
| 290 | (void)MyTestInfo().test_case_name(); |
| 291 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 292 | // CHECK-FIXES: (void)MyTestInfo().test_suite_name(); |
| 293 | (void)BarTestInfo3().test_case_name(); |
| 294 | // CHECK-MESSAGES: [[@LINE-1]]:24: warning: Google Test APIs named with 'case' |
| 295 | // CHECK-FIXES: (void)BarTestInfo3().test_suite_name(); |
| 296 | |
| 297 | testInfoInstantiationOnlyWarns<testing::TestInfo>(); |
| 298 | |
| 299 | (void)testing::TestInfo().TEST_CASE_NAME_MACRO_REPLACE(); |
| 300 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 301 | // CHECK-FIXES: (void)testing::TestInfo().test_suite_name(); |
| 302 | (void)TEST_CASE_NAME_MACRO_WARN_ONLY(); |
| 303 | // CHECK-MESSAGES: [[@LINE-1]]:9: warning: Google Test APIs named with 'case' |
| 304 | } |
| 305 | |
| 306 | // ---------------------------------------------------------------------------- |
| 307 | // testing::TestEventListener |
| 308 | |
| 309 | class : public testing::TestEventListener { |
| 310 | public: |
| 311 | void (const testing::TestCase &) override; |
| 312 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: Google Test APIs named with 'case' |
| 313 | // CHECK-MESSAGES: [[@LINE-2]]:39: warning: Google Test APIs named with 'case' |
| 314 | // CHECK-FIXES: void OnTestSuiteStart(const testing::TestSuite &) override; |
| 315 | void (const testing::TestCase &) override; |
| 316 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: Google Test APIs named with 'case' |
| 317 | // CHECK-MESSAGES: [[@LINE-2]]:37: warning: Google Test APIs named with 'case' |
| 318 | // CHECK-FIXES: void OnTestSuiteEnd(const testing::TestSuite &) override; |
| 319 | }; |
| 320 | |
| 321 | void FooTestEventListener::(const testing::TestCase &) {} |
| 322 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 323 | // CHECK-MESSAGES: [[@LINE-2]]:59: warning: Google Test APIs named with 'case' |
| 324 | // CHECK-FIXES: void FooTestEventListener::OnTestSuiteStart(const testing::TestSuite &) {} |
| 325 | |
| 326 | void FooTestEventListener::(const testing::TestCase &) {} |
| 327 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 328 | // CHECK-MESSAGES: [[@LINE-2]]:57: warning: Google Test APIs named with 'case' |
| 329 | // CHECK-FIXES: void FooTestEventListener::OnTestSuiteEnd(const testing::TestSuite &) {} |
| 330 | |
| 331 | class BarTestEventListener : public testing::TestEventListener { |
| 332 | public: |
| 333 | using TestEventListener::OnTestCaseStart; |
| 334 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 335 | // CHECK-FIXES: using TestEventListener::OnTestSuiteStart; |
| 336 | using TestEventListener::OnTestCaseEnd; |
| 337 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 338 | // CHECK-FIXES: using TestEventListener::OnTestSuiteEnd; |
| 339 | }; |
| 340 | |
| 341 | class BarTestEventListener2 : public BarTestEventListener { |
| 342 | public: |
| 343 | using BarTestEventListener::OnTestCaseStart; |
| 344 | // CHECK-MESSAGES: [[@LINE-1]]:31: warning: Google Test APIs named with 'case' |
| 345 | // CHECK-FIXES: using BarTestEventListener::OnTestSuiteStart; |
| 346 | using BarTestEventListener::OnTestCaseEnd; |
| 347 | // CHECK-MESSAGES: [[@LINE-1]]:31: warning: Google Test APIs named with 'case' |
| 348 | // CHECK-FIXES: using BarTestEventListener::OnTestSuiteEnd; |
| 349 | }; |
| 350 | |
| 351 | #ifndef NOSUITE |
| 352 | |
| 353 | class BarTestEventListener3 : public testing::TestEventListener { |
| 354 | public: |
| 355 | void OnTestCaseStart(const testing::TestSuite &) override; |
| 356 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: Google Test APIs named with 'case' |
| 357 | void OnTestSuiteStart(const testing::TestSuite &) override; |
| 358 | |
| 359 | void OnTestCaseEnd(const testing::TestSuite &) override; |
| 360 | // CHECK-MESSAGES: [[@LINE-1]]:8: warning: Google Test APIs named with 'case' |
| 361 | void OnTestSuiteEnd(const testing::TestSuite &) override; |
| 362 | }; |
| 363 | |
| 364 | #endif |
| 365 | |
| 366 | namespace nesting_ns { |
| 367 | namespace testing { |
| 368 | |
| 369 | class TestEventListener { |
| 370 | public: |
| 371 | virtual void OnTestCaseStart(const ::testing::TestCase &); |
| 372 | // CHECK-MESSAGES: [[@LINE-1]]:49: warning: Google Test APIs named with 'case' |
| 373 | // CHECK-FIXES: virtual void OnTestCaseStart(const ::testing::TestSuite &); |
| 374 | virtual void OnTestCaseEnd(const ::testing::TestCase &); |
| 375 | // CHECK-MESSAGES: [[@LINE-1]]:47: warning: Google Test APIs named with 'case' |
| 376 | // CHECK-FIXES: virtual void OnTestCaseEnd(const ::testing::TestSuite &); |
| 377 | }; |
| 378 | |
| 379 | } // namespace testing |
| 380 | |
| 381 | void FuncTestEventListener(::testing::TestCase &Case) { |
| 382 | // CHECK-MESSAGES: [[@LINE-1]]:39: warning: Google Test APIs named with 'case' |
| 383 | // CHECK-FIXES: void FuncTestEventListener(::testing::TestSuite &Case) { |
| 384 | testing::TestEventListener().OnTestCaseStart(Case); |
| 385 | testing::TestEventListener().OnTestCaseEnd(Case); |
| 386 | } |
| 387 | |
| 388 | } // namespace nesting_ns |
| 389 | |
| 390 | #ifndef NOSUITE |
| 391 | |
| 392 | template <typename T> |
| 393 | void testEventListenerInstantiationOnlyWarns() { |
| 394 | T().OnTestCaseStart(testing::TestSuite()); |
| 395 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 396 | T().OnTestCaseEnd(testing::TestSuite()); |
| 397 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 398 | } |
| 399 | |
| 400 | #endif |
| 401 | |
| 402 | #define ON_TEST_CASE_START_MACRO_REPLACE OnTestCaseStart |
| 403 | #define ON_TEST_CASE_START_MACRO_WARN_ONLY \ |
| 404 | testing::TestEventListener().OnTestCaseStart |
| 405 | |
| 406 | #define ON_TEST_CASE_END_MACRO_REPLACE OnTestCaseEnd |
| 407 | #define ON_TEST_CASE_END_MACRO_WARN_ONLY \ |
| 408 | testing::TestEventListener().OnTestCaseEnd |
| 409 | |
| 410 | void testEventListenerCallAndReference(testing::TestCase &Case) { |
| 411 | // CHECK-MESSAGES: [[@LINE-1]]:49: warning: Google Test APIs named with 'case' |
| 412 | // CHECK-FIXES: void testEventListenerCallAndReference(testing::TestSuite &Case) { |
| 413 | testing::TestEventListener().OnTestCaseStart(Case); |
| 414 | // CHECK-MESSAGES: [[@LINE-1]]:32: warning: Google Test APIs named with 'case' |
| 415 | // CHECK-FIXES: testing::TestEventListener().OnTestSuiteStart(Case); |
| 416 | testing::TestEventListener().OnTestCaseEnd(Case); |
| 417 | // CHECK-MESSAGES: [[@LINE-1]]:32: warning: Google Test APIs named with 'case' |
| 418 | // CHECK-FIXES: testing::TestEventListener().OnTestSuiteEnd(Case); |
| 419 | |
| 420 | FooTestEventListener().OnTestCaseStart(Case); |
| 421 | // CHECK-MESSAGES: [[@LINE-1]]:26: warning: Google Test APIs named with 'case' |
| 422 | // CHECK-FIXES: FooTestEventListener().OnTestSuiteStart(Case); |
| 423 | FooTestEventListener().OnTestCaseEnd(Case); |
| 424 | // CHECK-MESSAGES: [[@LINE-1]]:26: warning: Google Test APIs named with 'case' |
| 425 | // CHECK-FIXES: FooTestEventListener().OnTestSuiteEnd(Case); |
| 426 | |
| 427 | auto F1 = &testing::TestEventListener::OnTestCaseStart; |
| 428 | // CHECK-MESSAGES: [[@LINE-1]]:42: warning: Google Test APIs named with 'case' |
| 429 | // CHECK-FIXES: auto F1 = &testing::TestEventListener::OnTestSuiteStart; |
| 430 | F1 = &testing::TestEventListener::OnTestCaseEnd; |
| 431 | // CHECK-MESSAGES: [[@LINE-1]]:37: warning: Google Test APIs named with 'case' |
| 432 | // CHECK-FIXES: F1 = &testing::TestEventListener::OnTestSuiteEnd; |
| 433 | |
| 434 | auto F2 = &FooTestEventListener::OnTestCaseStart; |
| 435 | // CHECK-MESSAGES: [[@LINE-1]]:36: warning: Google Test APIs named with 'case' |
| 436 | // CHECK-FIXES: auto F2 = &FooTestEventListener::OnTestSuiteStart; |
| 437 | F2 = &FooTestEventListener::OnTestCaseEnd; |
| 438 | // CHECK-MESSAGES: [[@LINE-1]]:31: warning: Google Test APIs named with 'case' |
| 439 | // CHECK-FIXES: F2 = &FooTestEventListener::OnTestSuiteEnd; |
| 440 | |
| 441 | #ifndef NOSUITE |
| 442 | |
| 443 | BarTestEventListener3().OnTestCaseStart(Case); |
| 444 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 445 | // CHECK-FIXES: BarTestEventListener3().OnTestSuiteStart(Case); |
| 446 | BarTestEventListener3().OnTestCaseEnd(Case); |
| 447 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 448 | // CHECK-FIXES: BarTestEventListener3().OnTestSuiteEnd(Case); |
| 449 | |
| 450 | testEventListenerInstantiationOnlyWarns<testing::TestEventListener>(); |
| 451 | |
| 452 | #endif |
| 453 | |
| 454 | testing::TestEventListener().ON_TEST_CASE_START_MACRO_REPLACE(Case); |
| 455 | // CHECK-MESSAGES: [[@LINE-1]]:32: warning: Google Test APIs named with 'case' |
| 456 | // CHECK-FIXES: testing::TestEventListener().OnTestSuiteStart(Case); |
| 457 | ON_TEST_CASE_START_MACRO_WARN_ONLY(Case); |
| 458 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 459 | |
| 460 | testing::TestEventListener().ON_TEST_CASE_END_MACRO_REPLACE(Case); |
| 461 | // CHECK-MESSAGES: [[@LINE-1]]:32: warning: Google Test APIs named with 'case' |
| 462 | // CHECK-FIXES: testing::TestEventListener().OnTestSuiteEnd(Case); |
| 463 | ON_TEST_CASE_END_MACRO_WARN_ONLY(Case); |
| 464 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 465 | } |
| 466 | |
| 467 | // ---------------------------------------------------------------------------- |
| 468 | // testing::UnitTest |
| 469 | |
| 470 | class FooUnitTest : public testing::UnitTest { |
| 471 | public: |
| 472 | testing::TestCase *current_test_case() const; |
| 473 | // CHECK-MESSAGES: [[@LINE-1]]:12: warning: Google Test APIs named with 'case' |
| 474 | // CHECK-MESSAGES: [[@LINE-2]]:22: warning: Google Test APIs named with 'case' |
| 475 | // CHECK-FIXES: testing::TestSuite *current_test_suite() const; |
| 476 | int successful_test_case_count() const; |
| 477 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 478 | // CHECK-FIXES: int successful_test_suite_count() const; |
| 479 | int failed_test_case_count() const; |
| 480 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 481 | // CHECK-FIXES: int failed_test_suite_count() const; |
| 482 | int total_test_case_count() const; |
| 483 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 484 | // CHECK-FIXES: int total_test_suite_count() const; |
| 485 | int test_case_to_run_count() const; |
| 486 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 487 | // CHECK-FIXES: int test_suite_to_run_count() const; |
| 488 | const testing::TestCase *GetTestCase(int) const; |
| 489 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 490 | // CHECK-MESSAGES: [[@LINE-2]]:28: warning: Google Test APIs named with 'case' |
| 491 | // CHECK-FIXES: const testing::TestSuite *GetTestSuite(int) const; |
| 492 | }; |
| 493 | |
| 494 | testing::TestCase *FooUnitTest::current_test_case() const { return nullptr; } |
| 495 | // CHECK-MESSAGES: [[@LINE-1]]:10: warning: Google Test APIs named with 'case' |
| 496 | // CHECK-MESSAGES: [[@LINE-2]]:33: warning: Google Test APIs named with 'case' |
| 497 | // CHECK-FIXES: testing::TestSuite *FooUnitTest::current_test_suite() const { return nullptr; } |
| 498 | int FooUnitTest::successful_test_case_count() const { return 0; } |
| 499 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 500 | // CHECK-FIXES: int FooUnitTest::successful_test_suite_count() const { return 0; } |
| 501 | int FooUnitTest::failed_test_case_count() const { return 0; } |
| 502 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 503 | // CHECK-FIXES: int FooUnitTest::failed_test_suite_count() const { return 0; } |
| 504 | int FooUnitTest::total_test_case_count() const { return 0; } |
| 505 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 506 | // CHECK-FIXES: int FooUnitTest::total_test_suite_count() const { return 0; } |
| 507 | int FooUnitTest::test_case_to_run_count() const { return 0; } |
| 508 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 509 | // CHECK-FIXES: int FooUnitTest::test_suite_to_run_count() const { return 0; } |
| 510 | const testing::TestCase *FooUnitTest::GetTestCase(int) const { return 0; } |
| 511 | // CHECK-MESSAGES: [[@LINE-1]]:16: warning: Google Test APIs named with 'case' |
| 512 | // CHECK-MESSAGES: [[@LINE-2]]:39: warning: Google Test APIs named with 'case' |
| 513 | // CHECK-FIXES: const testing::TestSuite *FooUnitTest::GetTestSuite(int) const { return 0; } |
| 514 | |
| 515 | // Type derived from testing::TestCase |
| 516 | class BarUnitTest : public testing::UnitTest { |
| 517 | public: |
| 518 | using testing::UnitTest::current_test_case; |
| 519 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 520 | // CHECK-FIXES: using testing::UnitTest::current_test_suite; |
| 521 | using testing::UnitTest::successful_test_case_count; |
| 522 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 523 | // CHECK-FIXES: using testing::UnitTest::successful_test_suite_count; |
| 524 | using testing::UnitTest::failed_test_case_count; |
| 525 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 526 | // CHECK-FIXES: using testing::UnitTest::failed_test_suite_count; |
| 527 | using testing::UnitTest::total_test_case_count; |
| 528 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 529 | // CHECK-FIXES: using testing::UnitTest::total_test_suite_count; |
| 530 | using testing::UnitTest::test_case_to_run_count; |
| 531 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 532 | // CHECK-FIXES: using testing::UnitTest::test_suite_to_run_count; |
| 533 | using testing::UnitTest::GetTestCase; |
| 534 | // CHECK-MESSAGES: [[@LINE-1]]:28: warning: Google Test APIs named with 'case' |
| 535 | // CHECK-FIXES: using testing::UnitTest::GetTestSuite; |
| 536 | }; |
| 537 | |
| 538 | class BarUnitTest2 : public BarUnitTest { |
| 539 | using BarUnitTest::current_test_case; |
| 540 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 541 | // CHECK-FIXES: using BarUnitTest::current_test_suite; |
| 542 | using BarUnitTest::successful_test_case_count; |
| 543 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 544 | // CHECK-FIXES: using BarUnitTest::successful_test_suite_count; |
| 545 | using BarUnitTest::failed_test_case_count; |
| 546 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 547 | // CHECK-FIXES: using BarUnitTest::failed_test_suite_count; |
| 548 | using BarUnitTest::total_test_case_count; |
| 549 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 550 | // CHECK-FIXES: using BarUnitTest::total_test_suite_count; |
| 551 | using BarUnitTest::test_case_to_run_count; |
| 552 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 553 | // CHECK-FIXES: using BarUnitTest::test_suite_to_run_count; |
| 554 | using BarUnitTest::GetTestCase; |
| 555 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 556 | // CHECK-FIXES: using BarUnitTest::GetTestSuite; |
| 557 | }; |
| 558 | |
| 559 | #ifndef NOSUITE |
| 560 | |
| 561 | class BarUnitTest3 : public testing::UnitTest { |
| 562 | testing::TestSuite *current_test_case() const; |
| 563 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 564 | int successful_test_case_count() const; |
| 565 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 566 | int failed_test_case_count() const; |
| 567 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 568 | int total_test_case_count() const; |
| 569 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 570 | int test_case_to_run_count() const; |
| 571 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 572 | const testing::TestSuite *GetTestCase(int) const; |
| 573 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 574 | |
| 575 | testing::TestSuite *current_test_suite() const; |
| 576 | int successful_test_suite_count() const; |
| 577 | int failed_test_suite_count() const; |
| 578 | int total_test_suite_count() const; |
| 579 | int test_suite_to_run_count() const; |
| 580 | const testing::TestSuite *GetTestSuite(int) const; |
| 581 | }; |
| 582 | |
| 583 | #endif |
| 584 | |
| 585 | namespace nesting_ns { |
| 586 | namespace testing { |
| 587 | |
| 588 | class TestSuite; |
| 589 | |
| 590 | class UnitTest { |
| 591 | public: |
| 592 | TestSuite *current_test_case() const; |
| 593 | int successful_test_case_count() const; |
| 594 | int failed_test_case_count() const; |
| 595 | int total_test_case_count() const; |
| 596 | int test_case_to_run_count() const; |
| 597 | const TestSuite *GetTestCase(int) const; |
| 598 | }; |
| 599 | |
| 600 | } // namespace testing |
| 601 | |
| 602 | void FuncUnitTest() { |
| 603 | testing::UnitTest t; |
| 604 | (void)t.current_test_case(); |
| 605 | (void)t.successful_test_case_count(); |
| 606 | (void)t.failed_test_case_count(); |
| 607 | (void)t.total_test_case_count(); |
| 608 | (void)t.test_case_to_run_count(); |
| 609 | (void)t.GetTestCase(0); |
| 610 | } |
| 611 | |
| 612 | } // namespace nesting_ns |
| 613 | |
| 614 | template <typename T> |
| 615 | void unitTestInstantiationOnlyWarns() { |
| 616 | T t; |
| 617 | (void)t.current_test_case(); |
| 618 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 619 | (void)t.successful_test_case_count(); |
| 620 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 621 | (void)t.failed_test_case_count(); |
| 622 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 623 | (void)t.total_test_case_count(); |
| 624 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 625 | (void)t.test_case_to_run_count(); |
| 626 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 627 | (void)t.GetTestCase(0); |
| 628 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 629 | } |
| 630 | |
| 631 | #define UNIT_TEST_NAME_MACRO_REPLACE1 current_test_case |
| 632 | #define UNIT_TEST_NAME_MACRO_REPLACE2 successful_test_case_count |
| 633 | #define UNIT_TEST_NAME_MACRO_REPLACE3 failed_test_case_count |
| 634 | #define UNIT_TEST_NAME_MACRO_REPLACE4 total_test_case_count |
| 635 | #define UNIT_TEST_NAME_MACRO_REPLACE5 test_case_to_run_count |
| 636 | #define UNIT_TEST_NAME_MACRO_REPLACE6 GetTestCase |
| 637 | #define UNIT_TEST_NAME_MACRO_WARN_ONLY1 testing::UnitTest().current_test_case |
| 638 | #define UNIT_TEST_NAME_MACRO_WARN_ONLY2 \ |
| 639 | testing::UnitTest().successful_test_case_count |
| 640 | #define UNIT_TEST_NAME_MACRO_WARN_ONLY3 \ |
| 641 | testing::UnitTest().failed_test_case_count |
| 642 | #define UNIT_TEST_NAME_MACRO_WARN_ONLY4 \ |
| 643 | testing::UnitTest().total_test_case_count |
| 644 | #define UNIT_TEST_NAME_MACRO_WARN_ONLY5 \ |
| 645 | testing::UnitTest().test_case_to_run_count |
| 646 | #define UNIT_TEST_NAME_MACRO_WARN_ONLY6 testing::UnitTest().GetTestCase |
| 647 | |
| 648 | void unitTestCallAndReference() { |
| 649 | (void)testing::UnitTest().current_test_case(); |
| 650 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 651 | // CHECK-FIXES: (void)testing::UnitTest().current_test_suite(); |
| 652 | (void)testing::UnitTest().successful_test_case_count(); |
| 653 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 654 | // CHECK-FIXES: (void)testing::UnitTest().successful_test_suite_count(); |
| 655 | (void)testing::UnitTest().failed_test_case_count(); |
| 656 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 657 | // CHECK-FIXES: (void)testing::UnitTest().failed_test_suite_count(); |
| 658 | (void)testing::UnitTest().total_test_case_count(); |
| 659 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 660 | // CHECK-FIXES: (void)testing::UnitTest().total_test_suite_count(); |
| 661 | (void)testing::UnitTest().test_case_to_run_count(); |
| 662 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 663 | // CHECK-FIXES: (void)testing::UnitTest().test_suite_to_run_count(); |
| 664 | (void)testing::UnitTest().GetTestCase(0); |
| 665 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 666 | // CHECK-FIXES: (void)testing::UnitTest().GetTestSuite(0); |
| 667 | |
| 668 | (void)FooUnitTest().current_test_case(); |
| 669 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 670 | // CHECK-FIXES: (void)FooUnitTest().current_test_suite(); |
| 671 | (void)FooUnitTest().successful_test_case_count(); |
| 672 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 673 | // CHECK-FIXES: (void)FooUnitTest().successful_test_suite_count(); |
| 674 | (void)FooUnitTest().failed_test_case_count(); |
| 675 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 676 | // CHECK-FIXES: (void)FooUnitTest().failed_test_suite_count(); |
| 677 | (void)FooUnitTest().total_test_case_count(); |
| 678 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 679 | // CHECK-FIXES: (void)FooUnitTest().total_test_suite_count(); |
| 680 | (void)FooUnitTest().test_case_to_run_count(); |
| 681 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 682 | // CHECK-FIXES: (void)FooUnitTest().test_suite_to_run_count(); |
| 683 | (void)FooUnitTest().GetTestCase(0); |
| 684 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 685 | // CHECK-FIXES: (void)FooUnitTest().GetTestSuite(0); |
| 686 | |
| 687 | auto U1 = &testing::UnitTest::current_test_case; |
| 688 | // CHECK-MESSAGES: [[@LINE-1]]:33: warning: Google Test APIs named with 'case' |
| 689 | // CHECK-FIXES: auto U1 = &testing::UnitTest::current_test_suite; |
| 690 | auto U2 = &testing::UnitTest::successful_test_case_count; |
| 691 | // CHECK-MESSAGES: [[@LINE-1]]:33: warning: Google Test APIs named with 'case' |
| 692 | // CHECK-FIXES: auto U2 = &testing::UnitTest::successful_test_suite_count; |
| 693 | auto U3 = &testing::UnitTest::failed_test_case_count; |
| 694 | // CHECK-MESSAGES: [[@LINE-1]]:33: warning: Google Test APIs named with 'case' |
| 695 | // CHECK-FIXES: auto U3 = &testing::UnitTest::failed_test_suite_count; |
| 696 | auto U4 = &testing::UnitTest::total_test_case_count; |
| 697 | // CHECK-MESSAGES: [[@LINE-1]]:33: warning: Google Test APIs named with 'case' |
| 698 | // CHECK-FIXES: auto U4 = &testing::UnitTest::total_test_suite_count; |
| 699 | auto U5 = &testing::UnitTest::test_case_to_run_count; |
| 700 | // CHECK-MESSAGES: [[@LINE-1]]:33: warning: Google Test APIs named with 'case' |
| 701 | // CHECK-FIXES: auto U5 = &testing::UnitTest::test_suite_to_run_count; |
| 702 | auto U6 = &testing::UnitTest::GetTestCase; |
| 703 | // CHECK-MESSAGES: [[@LINE-1]]:33: warning: Google Test APIs named with 'case' |
| 704 | // CHECK-FIXES: auto U6 = &testing::UnitTest::GetTestSuite; |
| 705 | |
| 706 | auto F1 = &FooUnitTest::current_test_case; |
| 707 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 708 | // CHECK-FIXES: auto F1 = &FooUnitTest::current_test_suite; |
| 709 | auto F2 = &FooUnitTest::successful_test_case_count; |
| 710 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 711 | // CHECK-FIXES: auto F2 = &FooUnitTest::successful_test_suite_count; |
| 712 | auto F3 = &FooUnitTest::failed_test_case_count; |
| 713 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 714 | // CHECK-FIXES: auto F3 = &FooUnitTest::failed_test_suite_count; |
| 715 | auto F4 = &FooUnitTest::total_test_case_count; |
| 716 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 717 | // CHECK-FIXES: auto F4 = &FooUnitTest::total_test_suite_count; |
| 718 | auto F5 = &FooUnitTest::test_case_to_run_count; |
| 719 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 720 | // CHECK-FIXES: auto F5 = &FooUnitTest::test_suite_to_run_count; |
| 721 | auto F6 = &FooUnitTest::GetTestCase; |
| 722 | // CHECK-MESSAGES: [[@LINE-1]]:27: warning: Google Test APIs named with 'case' |
| 723 | // CHECK-FIXES: auto F6 = &FooUnitTest::GetTestSuite; |
| 724 | |
| 725 | using MyUnitTest = testing::UnitTest; |
| 726 | (void)MyUnitTest().current_test_case(); |
| 727 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 728 | // CHECK-FIXES: (void)MyUnitTest().current_test_suite(); |
| 729 | (void)MyUnitTest().successful_test_case_count(); |
| 730 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 731 | // CHECK-FIXES: (void)MyUnitTest().successful_test_suite_count(); |
| 732 | (void)MyUnitTest().failed_test_case_count(); |
| 733 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 734 | // CHECK-FIXES: (void)MyUnitTest().failed_test_suite_count(); |
| 735 | (void)MyUnitTest().total_test_case_count(); |
| 736 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 737 | // CHECK-FIXES: (void)MyUnitTest().total_test_suite_count(); |
| 738 | (void)MyUnitTest().test_case_to_run_count(); |
| 739 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 740 | // CHECK-FIXES: (void)MyUnitTest().test_suite_to_run_count(); |
| 741 | (void)MyUnitTest().GetTestCase(0); |
| 742 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 743 | // CHECK-FIXES: (void)MyUnitTest().GetTestSuite(0); |
| 744 | |
| 745 | unitTestInstantiationOnlyWarns<testing::UnitTest>(); |
| 746 | |
| 747 | (void)testing::UnitTest().UNIT_TEST_NAME_MACRO_REPLACE1(); |
| 748 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 749 | // CHECK-FIXES: (void)testing::UnitTest().current_test_suite(); |
| 750 | (void)testing::UnitTest().UNIT_TEST_NAME_MACRO_REPLACE2(); |
| 751 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 752 | // CHECK-FIXES: (void)testing::UnitTest().successful_test_suite_count(); |
| 753 | (void)testing::UnitTest().UNIT_TEST_NAME_MACRO_REPLACE3(); |
| 754 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 755 | // CHECK-FIXES: (void)testing::UnitTest().failed_test_suite_count(); |
| 756 | (void)testing::UnitTest().UNIT_TEST_NAME_MACRO_REPLACE4(); |
| 757 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 758 | // CHECK-FIXES: (void)testing::UnitTest().total_test_suite_count(); |
| 759 | (void)testing::UnitTest().UNIT_TEST_NAME_MACRO_REPLACE5(); |
| 760 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 761 | // CHECK-FIXES: (void)testing::UnitTest().test_suite_to_run_count(); |
| 762 | (void)testing::UnitTest().UNIT_TEST_NAME_MACRO_REPLACE6(0); |
| 763 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 764 | // CHECK-FIXES: (void)testing::UnitTest().GetTestSuite(0); |
| 765 | |
| 766 | UNIT_TEST_NAME_MACRO_WARN_ONLY1(); |
| 767 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 768 | UNIT_TEST_NAME_MACRO_WARN_ONLY2(); |
| 769 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 770 | UNIT_TEST_NAME_MACRO_WARN_ONLY3(); |
| 771 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 772 | UNIT_TEST_NAME_MACRO_WARN_ONLY4(); |
| 773 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 774 | UNIT_TEST_NAME_MACRO_WARN_ONLY5(); |
| 775 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 776 | UNIT_TEST_NAME_MACRO_WARN_ONLY6(0); |
| 777 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 778 | } |
| 779 | |
| 780 | // ---------------------------------------------------------------------------- |
| 781 | // testing::TestCase |
| 782 | |
| 783 | template <typename T> |
| 784 | void TestCaseInTemplate() { |
| 785 | T t; |
| 786 | |
| 787 | testing::TestCase Case; |
| 788 | // CHECK-MESSAGES: [[@LINE-1]]:12: warning: Google Test APIs named with 'case' |
| 789 | // CHECK-FIXES: testing::TestSuite Case; |
| 790 | } |
| 791 | |
| 792 | #define TEST_CASE_CAN_FIX TestCase |
| 793 | #define TEST_CASE_WARN_ONLY testing::TestCase |
| 794 | |
| 795 | const testing::TestCase *testCaseUses(const testing::TestCase &Case) { |
| 796 | // CHECK-MESSAGES: [[@LINE-1]]:16: warning: Google Test APIs named with 'case' |
| 797 | // CHECK-MESSAGES: [[@LINE-2]]:54: warning: Google Test APIs named with 'case' |
| 798 | // CHECK-FIXES: const testing::TestSuite *testCaseUses(const testing::TestSuite &Case) { |
| 799 | |
| 800 | // No change for implicit declarations: |
| 801 | auto Lambda = [&Case]() {}; |
| 802 | |
| 803 | TestCaseInTemplate<testing::TestCase>(); |
| 804 | // CHECK-MESSAGES: [[@LINE-1]]:31: warning: Google Test APIs named with 'case' |
| 805 | // CHECK-FIXES: TestCaseInTemplate<testing::TestSuite>(); |
| 806 | |
| 807 | testing::TEST_CASE_CAN_FIX C1; |
| 808 | // CHECK-MESSAGES: [[@LINE-1]]:12: warning: Google Test APIs named with 'case' |
| 809 | // CHECK-FIXES: testing::TestSuite C1; |
| 810 | TEST_CASE_WARN_ONLY C2; |
| 811 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 812 | |
| 813 | (void)new testing::TestCase(); |
| 814 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 815 | // CHECK-FIXES: (void)new testing::TestSuite(); |
| 816 | const testing::TestCase *Result = &Case; |
| 817 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 818 | // CHECK-FIXES: const testing::TestSuite *Result = &Case; |
| 819 | return Result; |
| 820 | } |
| 821 | |
| 822 | struct TestCaseHolder { |
| 823 | testing::TestCase Case; |
| 824 | // CHECK-MESSAGES: [[@LINE-1]]:12: warning: Google Test APIs named with 'case' |
| 825 | // CHECK-FIXES: testing::TestSuite Case; |
| 826 | }; |
| 827 | |
| 828 | class MyTest : public testing::TestCase {}; |
| 829 | // CHECK-MESSAGES: [[@LINE-1]]:32: warning: Google Test APIs named with 'case' |
| 830 | // CHECK-FIXES: class MyTest : public testing::TestSuite {}; |
| 831 | |
| 832 | template <typename T = testing::TestCase> |
| 833 | // CHECK-MESSAGES: [[@LINE-1]]:33: warning: Google Test APIs named with 'case' |
| 834 | // CHECK-FIXES: template <typename T = testing::TestSuite> |
| 835 | class TestTypeHolder {}; |
| 836 | |
| 837 | template <> |
| 838 | class TestTypeHolder<testing::TestCase> {}; |
| 839 | // CHECK-MESSAGES: [[@LINE-1]]:31: warning: Google Test APIs named with 'case' |
| 840 | // CHECK-FIXES: class TestTypeHolder<testing::TestSuite> {}; |
| 841 | |
| 842 | namespace shadow_using_ns { |
| 843 | |
| 844 | using testing::TestCase; |
| 845 | // CHECK-MESSAGES: [[@LINE-1]]:16: warning: Google Test APIs named with 'case' |
| 846 | // CHECK-FIXES: using testing::TestSuite; |
| 847 | |
| 848 | const TestCase *testCaseUses(const TestCase &Case) { |
| 849 | // CHECK-MESSAGES: [[@LINE-1]]:7: warning: Google Test APIs named with 'case' |
| 850 | // CHECK-MESSAGES: [[@LINE-2]]:36: warning: Google Test APIs named with 'case' |
| 851 | // CHECK-FIXES: const TestSuite *testCaseUses(const TestSuite &Case) { |
| 852 | |
| 853 | // No change for implicit declarations: |
| 854 | auto Lambda = [&Case]() {}; |
| 855 | |
| 856 | (void)new TestCase(); |
| 857 | // CHECK-MESSAGES: [[@LINE-1]]:13: warning: Google Test APIs named with 'case' |
| 858 | // CHECK-FIXES: (void)new TestSuite(); |
| 859 | const TestCase *Result = &Case; |
| 860 | // CHECK-MESSAGES: [[@LINE-1]]:9: warning: Google Test APIs named with 'case' |
| 861 | // CHECK-FIXES: const TestSuite *Result = &Case; |
| 862 | return Result; |
| 863 | } |
| 864 | |
| 865 | struct TestCaseHolder { |
| 866 | TestCase Case; |
| 867 | // CHECK-MESSAGES: [[@LINE-1]]:3: warning: Google Test APIs named with 'case' |
| 868 | // CHECK-FIXES: TestSuite Case; |
| 869 | }; |
| 870 | |
| 871 | class MyTest : public TestCase {}; |
| 872 | // CHECK-MESSAGES: [[@LINE-1]]:23: warning: Google Test APIs named with 'case' |
| 873 | // CHECK-FIXES: class MyTest : public TestSuite {}; |
| 874 | |
| 875 | template <typename T = TestCase> |
| 876 | // CHECK-MESSAGES: [[@LINE-1]]:24: warning: Google Test APIs named with 'case' |
| 877 | // CHECK-FIXES: template <typename T = TestSuite> |
| 878 | class TestTypeHolder {}; |
| 879 | |
| 880 | template <> |
| 881 | class TestTypeHolder<TestCase> {}; |
| 882 | // CHECK-MESSAGES: [[@LINE-1]]:22: warning: Google Test APIs named with 'case' |
| 883 | // CHECK-FIXES: class TestTypeHolder<TestSuite> {}; |
| 884 | |
| 885 | } // namespace shadow_using_ns |
| 886 | |
| 887 | const shadow_using_ns::TestCase *shadowTestCaseUses( |
| 888 | const shadow_using_ns::TestCase &Case) { |
| 889 | // CHECK-MESSAGES: [[@LINE-2]]:24: warning: Google Test APIs named with 'case' |
| 890 | // CHECK-MESSAGES: [[@LINE-2]]:28: warning: Google Test APIs named with 'case' |
| 891 | // CHECK-FIXES: const shadow_using_ns::TestSuite *shadowTestCaseUses( |
| 892 | // CHECK-FIXES: const shadow_using_ns::TestSuite &Case) { |
| 893 | |
| 894 | // No match for implicit declarations, as in the lambda capture: |
| 895 | auto Lambda = [&Case]() {}; |
| 896 | |
| 897 | (void)new shadow_using_ns::TestCase(); |
| 898 | // CHECK-MESSAGES: [[@LINE-1]]:30: warning: Google Test APIs named with 'case' |
| 899 | // CHECK-FIXES: (void)new shadow_using_ns::TestSuite(); |
| 900 | const shadow_using_ns::TestCase *Result = &Case; |
| 901 | // CHECK-MESSAGES: [[@LINE-1]]:26: warning: Google Test APIs named with 'case' |
| 902 | // CHECK-FIXES: const shadow_using_ns::TestSuite *Result = &Case; |
| 903 | return Result; |
| 904 | } |
| 905 | |
| 906 | struct ShadowTestCaseHolder { |
| 907 | shadow_using_ns::TestCase Case; |
| 908 | // CHECK-MESSAGES: [[@LINE-1]]:20: warning: Google Test APIs named with 'case' |
| 909 | // CHECK-FIXES: shadow_using_ns::TestSuite Case; |
| 910 | }; |
| 911 | |
| 912 | class ShadowMyTest : public shadow_using_ns::TestCase {}; |
| 913 | // CHECK-MESSAGES: [[@LINE-1]]:46: warning: Google Test APIs named with 'case' |
| 914 | // CHECK-FIXES: class ShadowMyTest : public shadow_using_ns::TestSuite {}; |
| 915 | |
| 916 | template <typename T = shadow_using_ns::TestCase> |
| 917 | // CHECK-MESSAGES: [[@LINE-1]]:41: warning: Google Test APIs named with 'case' |
| 918 | // CHECK-FIXES: template <typename T = shadow_using_ns::TestSuite> |
| 919 | class ShadowTestTypeHolder {}; |
| 920 | |
| 921 | template <> |
| 922 | class ShadowTestTypeHolder<shadow_using_ns::TestCase> {}; |
| 923 | // CHECK-MESSAGES: [[@LINE-1]]:45: warning: Google Test APIs named with 'case' |
| 924 | // CHECK-FIXES: class ShadowTestTypeHolder<shadow_using_ns::TestSuite> {}; |
| 925 | |
| 926 | namespace typedef_ns { |
| 927 | |
| 928 | typedef testing::TestCase MyTestCase; |
| 929 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
| 930 | // CHECK-FIXES: typedef testing::TestSuite MyTestCase; |
| 931 | |
| 932 | const MyTestCase *testCaseUses(const MyTestCase &Case) { |
| 933 | auto Lambda = [&Case]() {}; |
| 934 | (void)new MyTestCase(); |
| 935 | const MyTestCase *Result = &Case; |
| 936 | return Result; |
| 937 | } |
| 938 | |
| 939 | struct TestCaseHolder { |
| 940 | MyTestCase Case; |
| 941 | }; |
| 942 | |
| 943 | class MyTest : public MyTestCase {}; |
| 944 | |
| 945 | template <typename T = MyTestCase> |
| 946 | class TestTypeHolder {}; |
| 947 | |
| 948 | template <> |
| 949 | class TestTypeHolder<MyTestCase> {}; |
| 950 | |
| 951 | } // namespace typedef_ns |
| 952 | |
| 953 | const typedef_ns::MyTestCase *typedefTestCaseUses( |
| 954 | const typedef_ns::MyTestCase &Case) { |
| 955 | auto Lambda = [&Case]() {}; |
| 956 | (void)new typedef_ns::MyTestCase(); |
| 957 | const typedef_ns::MyTestCase *Result = &Case; |
| 958 | return Result; |
| 959 | } |
| 960 | |
| 961 | struct TypedefTestCaseHolder { |
| 962 | typedef_ns::MyTestCase Case; |
| 963 | }; |
| 964 | |
| 965 | class TypedefMyTest : public typedef_ns::MyTestCase {}; |
| 966 | template <typename T = typedef_ns::MyTestCase> class TypedefTestTypeHolder {}; |
| 967 | template <> class TypedefTestTypeHolder<typedef_ns::MyTestCase> {}; |
| 968 | |
| 969 | namespace alias_ns { |
| 970 | |
| 971 | using MyTestCase = testing::TestCase; |
| 972 | // CHECK-MESSAGES: [[@LINE-1]]:29: warning: Google Test APIs named with 'case' |
| 973 | // CHECK-FIXES: using MyTestCase = testing::TestSuite; |
| 974 | |
| 975 | const MyTestCase *testCaseUses(const MyTestCase &Case) { |
| 976 | auto Lambda = [&Case]() {}; |
| 977 | (void)new MyTestCase(); |
| 978 | const MyTestCase *Result = &Case; |
| 979 | return Result; |
| 980 | } |
| 981 | |
| 982 | struct TestCaseHolder { |
| 983 | MyTestCase Case; |
| 984 | }; |
| 985 | |
| 986 | class MyTest : public MyTestCase {}; |
| 987 | template <typename T = MyTestCase> class TestTypeHolder {}; |
| 988 | template <> class TestTypeHolder<MyTestCase> {}; |
| 989 | |
| 990 | } // namespace alias_ns |
| 991 | |
| 992 | const alias_ns::MyTestCase *aliasTestCaseUses( |
| 993 | const alias_ns::MyTestCase &Case) { |
| 994 | auto Lambda = [&Case]() {}; |
| 995 | (void)new alias_ns::MyTestCase(); |
| 996 | const alias_ns::MyTestCase *Result = &Case; |
| 997 | return Result; |
| 998 | } |
| 999 | |
| 1000 | struct AliasTestCaseHolder { |
| 1001 | alias_ns::MyTestCase Case; |
| 1002 | }; |
| 1003 | |
| 1004 | class AliasMyTest : public alias_ns::MyTestCase {}; |
| 1005 | template <typename T = alias_ns::MyTestCase> class AliasTestTypeHolder {}; |
| 1006 | template <> class AliasTestTypeHolder<alias_ns::MyTestCase> {}; |
| 1007 | |
| 1008 | template <typename T> |
| 1009 | void templateFunction(const T& t) { |
| 1010 | (void)t.current_test_case(); |
| 1011 | // CHECK-MESSAGES: [[@LINE-1]]:11: warning: Google Test APIs named with 'case' |
| 1012 | } |
| 1013 | |
| 1014 | void instantiateTemplateFunction(const testing::UnitTest &Test) { |
| 1015 | templateFunction(Test); |
| 1016 | } |
| 1017 | |