- 24 Apr, 2020 3 commits
-
-
Arthur O'Dwyer authored
googletest-port-test.cc:97:11: error: definition of implicit copy constructor for 'Base' is deprecated because it has a user-declared destructor [-Werror,-Wdeprecated] virtual ~Base() {} ^ -
Arthur O'Dwyer authored
gmock-spec-builders.h:503:3: error: definition of implicit copy constructor for 'Expectation' is deprecated because it has a user-declared destructor [-Werror,-Wdeprecated] ~Expectation(); ^ -
Arthur O'Dwyer authored
None of these are strictly needed for correctness. A large number of them (maybe all of them?) trigger `-Wdeprecated` warnings on Clang trunk as soon as you try to use the implicitly defaulted (but deprecated) copy constructor of a class that has deleted its copy assignment operator. By declaring a deleted copy assignment operator, the old code also caused the move constructor and move assignment operator to be non-declared. This means that the old code never got move semantics -- "move-construction" would simply call the defaulted (but deprecated) copy constructor instead. With the new code, "move-construction" calls the defaulted move constructor, which I believe is what we want to happen. So this is a runtime performance optimization. Unfortunately we can't yet physically remove the definitions of these macros from gtest-port.h, because they are being used by other code internally at Google (according to zhangxy988). But no new uses should be added going forward.
-
- 16 Apr, 2020 8 commits
-
-
Arthur O'Dwyer authored
We are about to remove all uses of GTEST_DISALLOW_ASSIGN_ in favor of using the Rule of Zero everywhere. Unfortunately, if we use the Rule of Zero here, then when the compiler needs to figure out if VariadicMatcher is move-constructible, it will recurse down into `tuple<Args...>`, which on libstdc++ recurses too deeply. In file included from googlemock/test/gmock-matchers_test.cc:43: In file included from googlemock/include/gmock/gmock-matchers.h:258: In file included from /usr/include/c++/5.5.0/algorithm:60: In file included from /usr/include/c++/5.5.0/utility:70: In file included from /usr/include/c++/5.5.0/bits/stl_pair.h:59: In file included from /usr/include/c++/5.5.0/bits/move.h:57: /usr/bin/include/c++/5.5.0/type_traits:115:26: fatal error: recursive template instantiation exceeded maximum depth of 256 : public conditional<_B1::value, _B1, _B2>::type ^ The move constructor is the only problematic case, for some unknown reason. With GTEST_DISALLOW_ASSIGN_, the presence of a copy assignment operator causes the move constructor to be non-declared, thus non-defaulted, thus non-problematic. Without GTEST_DISALLOW_ASSIGN_, we have to do one of the following: - Default the copy constructor, so that the move constructor will be non-declared. - Define our own non-defaulted move constructor. ...except that doing the latter STILL did not work! Fortunately, the former (default the copy constructor, don't provide any move constructor) both works in practice and is semantically equivalent to the old code. -
Mark Barolak authored
PiperOrigin-RevId: 306462650
-
Mark Barolak authored
PiperOrigin-RevId: 306460942
-
Mark Barolak authored
PiperOrigin-RevId: 306460738
-
Abseil Team authored
Fix link to "After clause". Sorry, reader, but this heading is in another document! PiperOrigin-RevId: 305947971
-
Mark Barolak authored
PiperOrigin-RevId: 305747437
-
Mark Barolak authored
PiperOrigin-RevId: 305747317
-
Mark Barolak authored
PiperOrigin-RevId: 305707266
-
- 12 Apr, 2020 1 commit
-
-
Juergen Bohl authored
-
- 09 Apr, 2020 1 commit
-
-
Malcolm Parsons authored
-
- 07 Apr, 2020 1 commit
-
-
Marco Studerus authored
-
- 04 Apr, 2020 3 commits
-
-
Andy Getz authored
PiperOrigin-RevId: 304617903
-
Andy Getz authored
PiperOrigin-RevId: 304613137
-
Abseil Team authored
This change updates testing::internal::IsAProtocolMessage to return true not just for full proto messages but also for lite ones (i.e. those inheriting directly from MessageLite). PiperOrigin-RevId: 304286535
-
- 31 Mar, 2020 3 commits
-
-
Abseil Team authored
Do not use std::result_of as it was removed in C++20. PiperOrigin-RevId: 303783600
-
Andy Getz authored
PiperOrigin-RevId: 303742575
-
Andy Getz authored
PiperOrigin-RevId: 303414597
-
- 28 Mar, 2020 2 commits
-
-
Arthur O'Dwyer authored
Fixes a -Wdeprecated warning. /home/travis/build/Quuxplusone/googletest/googletest/test/googletest-death-test_ex_test.cc:62:28: error: dynamic exception specifications are deprecated [-Werror,-Wdeprecated] const char* what() const throw() override { return "exceptional message"; } ^~~~~~~ /home/travis/build/Quuxplusone/googletest/googletest/test/googletest-death-test_ex_test.cc:62:28: note: use 'noexcept' instead const char* what() const throw() override { return "exceptional message"; } ^~~~~~~ noexcept -
Arthur O'Dwyer authored
The old code was trying to pass -Wgnu-zero-variadic-macro-arguments as part of CXXFLAGS, but it forgot the quotation marks needed around whitespace. This meant that option was ignored: https://travis-ci.org/github/google/googletest/jobs/666534177#L760 Unfortunately, the codebase is not remotely clean with respect to that warning option. It fails like this: https://travis-ci.org/github/Quuxplusone/googletest/jobs/668118135 So, remove that failing configuration from the test matrix until someone has time to look at it.
-
- 24 Mar, 2020 5 commits
-
-
Xiaoyi Zhang authored
PiperOrigin-RevId: 302677275
-
Abseil Team authored
Add --gtest_fail_fast support to googletest. - Analogous functionality to to golang -test.failfast and python --failfast - Stops test execution upon first test failure. - Also add support Bazel equivalent env var (TESTBRIDGE_TEST_RUNNER_FAIL_FAST) PiperOrigin-RevId: 302488880
-
Krystian Kuzniarek authored
-
Krystian Kuzniarek authored
-
Przemek Kryger authored
Fixes #2760.
-
- 21 Mar, 2020 3 commits
-
-
Neal Gompa authored
Google Test and Google Mock require matching versions to work, so this requirement should be described in the pkgconfig files. This change is derived from the one used for the Fedora gtest package. Signed-off-by:Neal Gompa <ngompa13@gmail.com>
-
Abseil Team authored
Internal change PiperOrigin-RevId: 302048013
-
vslashg authored
PiperOrigin-RevId: 302045808
-
- 18 Mar, 2020 2 commits
-
-
Adam Badura authored
-
Adam Badura authored
Add tests checking that ::testing::MockFunction template argument can be deduced in a function call context. This is a property raised in the review, however, not checked before by any tests.
-
- 17 Mar, 2020 8 commits
-
-
Abseil Team authored
Move internal function out of header because Hyrum's law always wins. PiperOrigin-RevId: 301446904
-
dmauro authored
Use a polymorphic matcher instead of the GreaterThan<int> test matcher to fix the sign-comparison warning on MSVC. PiperOrigin-RevId: 301163657
-
Abseil Team authored
Fix Compilation against CMake < 3.7 (Fix #2711) `VERSION_GREATER_EQUAL` was introduced in CMake 3.7 ref: https://cmake.org/cmake/help/v3.7/release/3.7.html#commands PiperOrigin-RevId: 300817917
-
Abseil Team authored
Internal change PiperOrigin-RevId: 299345492
-
Abseil Team authored
Simplify the fallback printing logic to have a single sequence of trial printers. PiperOrigin-RevId: 298621376
-
vslashg authored
PiperOrigin-RevId: 298608772
-
vslashg authored
PiperOrigin-RevId: 298599235
-
Abseil Team authored
Remove public buganizer reference from googletest cookbook. It also seems that this bug is obsolete. PiperOrigin-RevId: 298598298
-