Add a matcher `testing::ReturnRoundRobin` which, on each call, returns the next element in the sequence, restarting at the beginning once it has reached the end.
PiperOrigin-RevId: 276312136
Split the scoped trace examples into two snippets.
This doesn't have an effect in the github markdown renderer, but in some other renderers/templates, this leads them to be independently copy-pastable. In particular, the markdown rendering that Google uses internally has a copy button for each code snippet, which, before this change, would copy both lines. Bad copy button, no cookie! After this change, there will be two such buttons, one per line, and clicking a copy button will copy only the one snippet it is next to, and not the other. This is desirable because nobody will ever want to copy both lines, only one or the other.
PiperOrigin-RevId: 276079009
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
Rolling forward IsNan() matcher with fixes in test for -Wconversion issues. Use
std::nanf and std::nanl where appropriate.
PiperOrigin-RevId: 275523003
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)
...
```
Remove a test case rendered obsolete by disallowing empty argument for INSTANTIATE_TEST_SUITE_P.
Remove the code that it was testing.
PiperOrigin-RevId: 275040108
* 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.
Mark more functions with "override" keyword, just like
it was done in commit 2460f97152c.
This should prevent compiler from complaining while compiling both
user code, and the googletest code itself with the -Wsuggest-override
option turned on; with the exception of:
* calls to new MOCK_METHOD() in test/gmock-function-mocker_test.cc
* calls to old MOCK_METHODx()/MOCK_CONST_METHODx() in other
unit test files.
Closes#2493
- Fix a bug in dealing with paramaterized tests where the name is it self a macro expansion.
- Add a compile time check to ensure that the parameters to TEST_P and INSTANTIATE_TEST_SUITE_P are not empty. The above fix causes some compilers to 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
PiperOrigin-RevId: 274047249
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
PiperOrigin-RevId: 273832263
The change makes implicit assumptions on the layout of the install
tree, which is going to break in many ways.
The correct solution is to use the `PKG_CONFIG_SYSROOT_DIR` variable
to inject the cross-compiled sysroot into `-I` and `-L` paths.
Add a compile time check to ensure that the parameters to TEST and TEST_F are not empty
Some compilers may 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
PiperOrigin-RevId: 272543242
Use a more portable path for Android to write temp files to.
/sdcard is *not* guaranteed to be available, but /data/local/tmp is.
In some emulated situations, /sdcard may not be mounted, may not be R/W, or
mounting may be delayed until *after* the test process begins.
This is fairly common location to use. See e.g.:
https://reviews.llvm.org/D9569
PiperOrigin-RevId: 270909282
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)
Move IsFalse/IsTrue to a more appropriate section in the gmock matchers cheat sheet.
I'm assuming their current placement within the "Container Matchers" list is a mistake -- they don't seem to be container related and would fit well with other generic matchers.
PiperOrigin-RevId: 268016027
Extend gtest-port and stubs for ESP_PLATFORM
ESP_PLATFORM is the macro used to indicate compilation for the ESP32
using the esp-idf. This isn't a fully posix compatible system so
various features of google test need to be stubbed out in order for
it to work. It's oddly similar to the GTEST_OS_WINDOWS_PHONE setup.
PiperOrigin-RevId: 267471968