- May 13, 2020
-
-
Andy Getz authored
PiperOrigin-RevId: 310910168
-
Abseil Team authored
Addresses https://github.com/google/googletest/pull/2784 PiperOrigin-RevId: 310902202
-
- May 08, 2020
-
-
Martin Storsjö authored
The documentation for IsDebuggerPresent says that one just should include windows.h, as that one is an umbrella header that includes the header that declares IsDebuggerPresent. In older Windows SDKs, debugapi.h didn't exist and IsDebuggerPresent was declared in winbase.h (also included by windows.h). This should fix issue #2822 properly.
-
Martin Storsjö authored
This reverts commit a9f6c1ed. That commit cannot fix the issue it sets out to fix. The original issue, #2822, was that building with a toolset targeting XP compatibility is missing the debugapi.h header - as debugapi.h didn't exist in older Windows SDKs. Commit a9f6c1ed misinterpreted the Microsoft documentation about IsDebuggerPresent. The information about which header to use, "debugapi.h (include Windows.h)" means that the function declaration currently lives in debugapi.h, but for compatibility, just include the Windows.h umbrella header. In older Windows SDKs (e.g. the v6.0a SDK), IsDebuggerPresent is declared in winbase.h, and debugapi.h doesn't exist at all in those versions. Including Windows.h with a different capitalization than the existing include won't help finding headers that don't exist. Including Windows.h with a capital W breaks cross compilation with mingw toolchains, where the header always has been spelled with a lower case W. When building on native windows, the file system is case insensitive and the capitalization doesn't matter. This fixes issue #2840.
-
Abseil Team authored
Fix `-Wgnu-zero-variadic-macro-arguments` in GMock Passing zero arguments to the variadic part of a macro is a GNU extension and triggers warnings when build projects using GMock with `-pedantic`. - Fix uses of `GMOCK_PP_INTERNAL_16TH` to always receive at least 17 arguments. (this was triggered when `GMOCK_PP_NARG` or `GMOCK_PP_HAS_COMMA` were used with an argument containing no commas). - Fix `GMOCK_PP_HEAD` to append a dummy unused argument so that `GMOCK_PP_INTERNAL_HEAD` always has two arguments. PiperOrigin-RevId: 310414611
-
- May 06, 2020
-
-
vslashg authored
PiperOrigin-RevId: 309958629
-
vslashg authored
PiperOrigin-RevId: 309951872
-
Abseil Team authored
Addresses Github issue (https://github.com/google/googletest/issues/2822) by following the Microsoft documention (https://docs.microsoft.com/en-us/windows/win32/api/debugapi/nf-debugapi-isdebuggerpresent) to include capital-W Windows.h before including debugapi.h. See "Header debugapi.h (include Windows.h)" PiperOrigin-RevId: 309745868
-
- May 02, 2020
-
-
Abseil Team authored
Fix documentation. This address https://github.com/google/googletest/pull/2827. PiperOrigin-RevId: 309241571
-
Abseil Team authored
Fix link to "high-perf dependency injection technique". PiperOrigin-RevId: 308893893
-
Gennadiy Rozental authored
PiperOrigin-RevId: 308711492
-
Gennadiy Rozental authored
PiperOrigin-RevId: 308650221
-
Abseil Team authored
internal change PiperOrigin-RevId: 308648034
-
Gennadiy Rozental authored
PiperOrigin-RevId: 308625388
-
Abseil Team authored
Rewrite ReturnNew action without using pump. PiperOrigin-RevId: 308219616
-
Abseil Team authored
Use InitGoogleTest() instead of InitGoogle() in code example PiperOrigin-RevId: 308070819
-
Gennadiy Rozental authored
PiperOrigin-RevId: 307604377
-
Abseil Team authored
Explicitly define copy constructors used in googletest tests As of C++11, providing a user-declared copy assignment operator should suppress the availability of an implicit default copy constructor. Classes that provide (or delete) a copy assignment operator must provide their own copy constructor if one is desired. This may be an explicit default copy constructor if appropriate. As googletest is a C++11 codebase, this change should be made without qualification. This addresses the -Wdeprecated-copy warnings issued by trunk clang: While compiling googletest/test/googletest-death-test-test.cc: In file included from .../googletest/test/googletest-death-test-test.cc:33: .../googletest/include/gtest/gtest-death-test.h:196:8: error: definition of implicit copy constructor for 'ExitedWithCode' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] void operator=(const ExitedWithCode& other); ^ .../googletest/test/googletest-death-test-test.cc:279:16: note: in implicit copy constructor for 'testing::ExitedWithCode' first required here EXPECT_PRED1(pred0, status0); ^ While compiling googletest/test/googletest-param-test-test.cc: .../googletest/test/googletest-param-test-test.cc:502:8: error: definition of implicit copy constructor for 'NonDefaultConstructAssignString' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] void operator=(const NonDefaultConstructAssignString&); ^ .../googletest/test/googletest-param-test-test.cc:507:36: note: in implicit copy constructor for 'NonDefaultConstructAssignString' first required here Combine(Values(0, 1), Values(NonDefaultConstructAssignString("A"), This matches other changes made elsewhere in the googletest codebase, such as 306f3754. Perhaps those previous changes did not consider test code. PiperOrigin-RevId: 307495126
-
Abseil Team authored
Fix comment that describes how to test against nullopt. PiperOrigin-RevId: 307448375
-
Abseil Team authored
Internal change PiperOrigin-RevId: 307040308
-
- May 01, 2020
-
-
keshavgbpecdelhi authored
There is an unnecessary comma before 'and'
-
- Apr 24, 2020
-
-
Arthur O'Dwyer authored
-
Arthur O'Dwyer authored
googletest-param-test-test.cc:502:8: error: definition of implicit copy constructor for 'NonDefaultConstructAssignString' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated] void operator=(const NonDefaultConstructAssignString&); ^
-
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.
-
- Apr 20, 2020
-
-
Igor Nazarenko authored
-
- Apr 17, 2020
-
-
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
-
- Apr 12, 2020
-
-
Juergen Bohl authored
-
- Apr 09, 2020
-
-
Malcolm Parsons authored
-
- Apr 07, 2020
-
-
Marco Studerus authored
-
- Apr 05, 2020