Googletest export

Add GTEST_ALLOW_UNINSTANTIATED_PARAMTERIZED_TEST to mark a paramaterized test as allowed to be un-instantiated.

This allows test suites, that are defined in libraries and, for other reasons, get linked in (which should probably be avoided, but isn't always possible) to be marked as allowed to go uninstantiated.

This can also be used to grandfather existing issues and expedite adoption of the checks with regards to new cases before they can be fixed.

PiperOrigin-RevId: 289581573
This commit is contained in:
Abseil Team
2020-01-14 00:41:46 -05:00
committed by vslashg
parent ed16134fb3
commit 0b024bd91a
8 changed files with 69 additions and 1 deletions

View File

@@ -1377,6 +1377,17 @@ function scope.
NOTE: Don't forget this step! If you do your test will silently pass, but none
of its suites will ever run!
There is work in progress to make omitting `INSTANTIATE_TEST_SUITE_P` show up
under the `GoogleTestVerification` test suite and to then make that an error.
If you have a test suite where that omission is not an error, for example it is
in a library that may be linked in for other reason or where the list of test
cases is dynamic and may be empty, then this check can be suppressed by tagging
the test suite:
```c++
GTEST_ALLOW_UNINSTANTIATED_PARAMTERIZED_TEST(FooTest);
```
To distinguish different instances of the pattern (yes, you can instantiate it
more than once), the first argument to `INSTANTIATE_TEST_SUITE_P` is a prefix
that will be added to the actual test suite name. Remember to pick unique