1 | // RUN: %check_clang_tidy %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 {} |
225 | // CHECK-MESSAGES: [[@LINE-1]]:26: warning: Google Test APIs named with 'case' |
226 | // CHECK-FIXES: const char *FooTestInfo::test_suite_name() const {} |
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 {} |
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 {} |
498 | int FooUnitTest::successful_test_case_count() const {} |
499 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
500 | // CHECK-FIXES: int FooUnitTest::successful_test_suite_count() const {} |
501 | int FooUnitTest::failed_test_case_count() const {} |
502 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
503 | // CHECK-FIXES: int FooUnitTest::failed_test_suite_count() const {} |
504 | int FooUnitTest::total_test_case_count() const {} |
505 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
506 | // CHECK-FIXES: int FooUnitTest::total_test_suite_count() const {} |
507 | int FooUnitTest::test_case_to_run_count() const {} |
508 | // CHECK-MESSAGES: [[@LINE-1]]:18: warning: Google Test APIs named with 'case' |
509 | // CHECK-FIXES: int FooUnitTest::test_suite_to_run_count() const {} |
510 | const testing::TestCase *FooUnitTest::GetTestCase(int) const {} |
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 {} |
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 | |