| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Disable warning C4800 for Visual Studio 2019.
The compiler warning C4800 is disabled by default in Visual Studio 2019,
but it can be enabled on the command line. The only version of
Visual Studio that does not support warning C4800 is Visual Studio 2017.
PiperOrigin-RevId: 292624510
|
|
|
|
|
|
| |
Adds missing `#define` guard around `TEST_F(...)`
PiperOrigin-RevId: 291703056
|
|
|
|
|
|
| |
Add extra filtering so that the reported message differentiates between the case where INSTANTIATE_TEST_SUITE_P is missing vs. the case where TEST_P is missing.
PiperOrigin-RevId: 290114508
|
|
|
|
|
|
| |
Correct the spelling of PARAMETERIZED.
PiperOrigin-RevId: 289897278
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Removing GTEST_API from TrueWithString.
This type is only used in test code on one side of a DLL boundary so it is not
necessary.
PiperOrigin-RevId: 288927929
|
|
|
|
|
|
|
| |
Close #2658
Mark test case destrucors as override.
PiperOrigin-RevId: 288507991
|
|\
| |
| |
| | |
PiperOrigin-RevId: 286896167
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Disable move operations for TEST() and TEST_F() macros.
Previous implementation disabled only copy ctor and assing operator, but
this was violating rule of 5[1], which was captured by static code analysis tools
like clang-tidy `cppcoreguidelines-special-member-functions`.
[1]: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c21-if-you-define-or-delete-any-default-operation-define-or-delete-them-all
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add option (default to disabled) to make C++ type parameterized tests (TYPED_TEST_P) fail when they're not instantiated.
When an un-instantiated TYPED_TEST_P is found, a new test will be inserted that emits a suitable message. For now, that is just a notice, but the hope it to flip the bit to make it fail by default.
PiperOrigin-RevId: 286408038
|
|\ \
| |/
|/|
| | |
PiperOrigin-RevId: 286397298
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 20b5b8ecc7a81d23b4716e22a2b35fd53379c8c6.
Reason for revert: Breaks existing applications, such as ANGLE
(angleproject.org), requires adding an extra prefix that needs to be
typed for no reason (when testing from command line) and increases the
logs' sizes by a non-trivial amount due to the very large number of
tests ANGLE runs.
Original commit message:
Add a compile time check to ensure that the parameters to TEST_P and
INSTANTIATE_TEST_SUITE_P are not empty. Some compilers already fail
in that case and, even where it works, it's likely to result in
technically invalid code by virtue of creating reserved identifiers:
https://en.cppreference.com/w/cpp/language/identifiers
First, every project is perfectly capable of adding a prefix if they
want to support such a compiler. This change penalizes every
project.
Second, using a prefix such as `_p` also results in reserved
identifiers, so this change is not really solving the problem. For that
matter, instead of generating `gtest_##prefix##...`, you can generate
`gtest_x##prefix##...` to correctly fix the issue, including when empty
prefixes are used.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 4c25e2b87fcb78abcfdee2739db9ed7a19754cd3.
Reason for revert: Reverting the commit that disallows empty prefixes.
Original commit message:
Remove a test case rendered obsolete by disallowing empty argument for INSTANTIATE_TEST_SUITE_P.
Remove the code that it was testing.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Empty arguments can be passed to macros per C99 and C++11 specs, which
can then be forwarded to other macros.
Visual Studio's compiler has a bug in the following situation:
#define A(x) #x
#define B(x, y) A(x)
B(, b)
In the above case, Visual Studio first expands x to nothing, then
complains that A is not invoked with the right amount of arguments.
However, x in A(x) is still one argument, even if it expands to no
preprocessing tokens. See also https://stackoverflow.com/a/7674214.
|
|
|
|
|
|
| |
Add GTEST_API_ to correct a build failure under MSCV.
PiperOrigin-RevId: 285208464
|
|
|
|
|
|
|
|
|
|
|
| |
Detect when C++ parametric tests (TEST_P) are not instantiated.
When an un-instantiated TEST_P is found, a new test will be inserted that will emit a warning message.
This can be made to error with minor code edits.
In the future, that is intended to be the default.
PiperOrigin-RevId: 284901666
|
|
|
|
|
|
|
|
|
|
| |
Change googletest to notice failures during SetUpTestSuite() and TearDownTestSuite().
Previously, errors that occurred during those functions were logged but otherwise ignored. After this change, such failures will cause the test to fail and a brief summary will be printed at the bottom of the test log.
See https://github.com/google/googletest/issues/2330.
PiperOrigin-RevId: 284033342
|
|
|
|
|
|
|
|
| |
Wrap call to std::numeric_limits<>::max into round braces to appease MSVC.
Closes #2589
PiperOrigin-RevId: 282581361
|
|\
| |
| |
| | |
PiperOrigin-RevId: 282575040
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use standard C++11 integer types in gtest-port.h.
Remove testing::internal::{Int,Uint}{32,64} in favor of types
guaranteed to be in <cstdint> since C++11.
Tests for built-in integer type coverage are switched from
{Int,Uint}64 to [unsigned] long long, which is guaranteed by
C++11 to exist and be at least 64-bit wide.
PiperOrigin-RevId: 281565263
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 281321427
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
googletest 1.10.0 fails to compile on msvc version 19.00.23917
with one compilation error:
src\googletest\include\gtest\internal\gtest-internal.h(1188) : error C2039:
'FlatTupleBase<testing::internal::FlatTuple<bool,bool>,testing::internal::IndexSequence<0,1> >':
is not a member of 'testing::internal::FlatTuple<bool,bool>'
This PR fixes the compilation error by explicitly specifying the full type that Indices is
located in the base type.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Correctly deal with stringification, and forbid empty arguments where they could slip thought, in the type parameterized test API.
Note: even where empty args work, it's likely to result in technically invalid code by virtue of creating reserved identifiers:
https://en.cppreference.com/w/cpp/language/identifiers
PiperOrigin-RevId: 279330971
|
|\ \
| |/
|/|
| | |
PiperOrigin-RevId: 278601074
|
| | |
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 278008286
|
|\ \ \
| |/ /
| | |
| | | |
PiperOrigin-RevId: 277979766
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
PiperOrigin-RevId: 276944601
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | |
| | | | |
PiperOrigin-RevId: 276333426
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Added support for ESP8266
* Removed previous Arduino defines in favor
of GTEST_OS_* syntax
* Improved PlatformIO library file to be more
stable when consumed in client applications.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Added various conditional compliations for ESP8266 to stub out
missing functionality.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Added support for ESP8266 Arduino platform.
Refactored Arduino defines to use the GTEST_OS_* model.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
PiperOrigin-RevId: 275869169
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Closes #2208
Previously, skip messages were invisible, so debugging skips was hard.
Now we have this:
```
$ ./googletest/gtest_skip_test
Running main() from /home/lesha/github/snarkmaster/googletest/googletest/src/gtest_main.cc
[==========] Running 3 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 1 test from SkipTest
[ RUN ] SkipTest.DoesSkip
/home/lesha/github/snarkmaster/googletest/googletest/test/gtest_skip_test.cc:38: Skipped
skipping single test
[ SKIPPED ] SkipTest.DoesSkip (0 ms)
[----------] 1 test from SkipTest (1 ms total)
...
```
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
PiperOrigin-RevId: 275842505
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This macro didn't work when an array was passed to a function by pointer,
in which case the information about its size was lost.
Better alternatives are:
* std::extent<T>::value (compile-time)
* std::array<T, N>::size() (compile-time)
* std::distance(std::begin(array), std::end(array)) (run-time)
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Remove bool_constant in favor of std::integral_constant<bool, ...>;
The one non-trivial use of bool_constant has been changed to have significantly
fewer template specializations.
PiperOrigin-RevId: 275842490
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
PiperOrigin-RevId: 275838743
|
| | | | | | | |
|
| | |_|_|/ /
| |/| | | | |
|