- 05 Nov, 2020 1 commit
-
-
ofats authored
Rewrite InvokeArgument action without using pump. PiperOrigin-RevId: 340861582
-
- 30 Oct, 2020 1 commit
-
-
Abseil Team authored
Remove obsolete comment about non-const references. They used to be banned by the C++ style guide, but positions shifted, and this comment is no longer up to date. There's another reference (heh) on lines 816-819 to how gmock is a "general framework", with the possible implication that support for non-const references was weird in some way and only there to be "general", but I left it alone because I don't really feel I understand what it's saying. PiperOrigin-RevId: 339323428
-
- 15 Oct, 2020 1 commit
-
-
dmauro authored
Fixes build warnings from previous CL Add CMake to internal presubmit to prevent these PiperOrigin-RevId: 337325504
-
- 14 Oct, 2020 1 commit
-
-
Abseil Team authored
Add ::testing::FieldsAre matcher for objects that support get<> and structured bindings. PiperOrigin-RevId: 337165285
-
- 07 Oct, 2020 1 commit
-
-
Aralox authored
Issue 2135: Change template args in NiceMock, NaggyMock and StrictMock from A1, A2, ... to TArg1, TArg2,... to avoid clash with legacy header files
-
- 29 Sep, 2020 1 commit
-
-
Abseil Team authored
Fix typo PiperOrigin-RevId: 333745750
-
- 20 Sep, 2020 1 commit
-
-
Abseil Team authored
Reduce the demangled name bloat of the Action constructor. PiperOrigin-RevId: 332234887
-
- 10 Sep, 2020 1 commit
-
-
Abseil Team authored
Mark ACTION_Pn()-generated functions as must-use-result. This catches when a client creates an action and discards it, thinking that the action has actually been applied to something. This will help people who make the mistake of defining, for example, both `void Use(Foo*)` and `ACTION(Use) { Use(arg); }` for later application to a Foo. With such an overload, a client may then write `Use();`, forgetting the param and being confused why nothing happens. This also catches when a client defines their own action in terms of an ACTION()-generated one, invokes the ACTION's builder, and then fails to invoke the resulting action, thinking it's operating on the outer action's parameters. PiperOrigin-RevId: 330614454
-
- 27 Aug, 2020 1 commit
-
-
Abseil Team authored
Replace uses of ACTION_TEMPLATE and ACTION_P with manually written functors. The latter provide better error diagnostics. This fixes https://github.com/google/googletest/issues/2729. PiperOrigin-RevId: 328573022
-
- 24 Aug, 2020 2 commits
-
-
Abseil Team authored
Workaround static assert in early versions libc++ The error is "Attempted to construct a reference element in a tuple with an rvalue". We can fix this by putting everything into a non temporary tuple_args and implitly convert to the other tuple types. This avoids binding an rvalue reference to an lvalue reference inside the tuple. PiperOrigin-RevId: 327624990
-
Abseil Team authored
Fix DoAll to work with move-only sink arguments. This changes types of the first n - 1 actions so that they only get a readonly view of the arguments. The last action will accept move only objects. PiperOrigin-RevId: 327031893
-
- 07 Aug, 2020 2 commits
-
-
Abseil Team authored
Fix DoAll to work with move-only sink arguments. This changes types of the first n - 1 actions so that they only get a readonly view of the arguments. The last action will accept move only objects. PiperOrigin-RevId: 324619666
-
Abseil Team authored
Fix DoAll to work with move-only sink arguments. This changes types of the first n - 1 actions so that they only get a readonly view of the arguments. The last action will accept move only objects. PiperOrigin-RevId: 324600664
-
- 03 Aug, 2020 7 commits
-
-
Vladimir Goncharov authored
-
Vladimir Goncharov authored
-
Vladimir Goncharov authored
-
Vladimir Goncharov authored
-
Vladimir Goncharov authored
-
Vladimir Goncharov authored
-
Vladimir Goncharov authored
This PR adds matchers that accept a callable and verify that when invoked, it throws an exception with the given type and properties. Fixes #952
-
- 28 Jul, 2020 1 commit
-
-
ofats authored
Stop using ADL for InvokeArgument action. PiperOrigin-RevId: 323234396
-
- 05 Jul, 2020 1 commit
-
-
Abseil Team authored
Improve compatibility with strict compilers targeting Windows Remove an unnecessary ##, which could result in warnings about invalid preprocessor tokens when pasting to an initial '(' PiperOrigin-RevId: 319277617
-
- 10 Jun, 2020 1 commit
-
-
Abseil Team authored
Change string matchers, like HasSubstr, to accept `string_view` input if available. PiperOrigin-RevId: 315726484
-
- 28 May, 2020 3 commits
-
-
dmauro authored
Rollback of warning on unused ACTION result change PiperOrigin-RevId: 313380971
-
Abseil Team authored
Mark ACTION_Pn()-generated functions as must-use-result. This catches when a client creates an action and discards it, thinking that the action has actually been applied to something. This will help people who make the mistake of defining, for example, both `void Use(Foo*)` and `ACTION(Use) { Use(arg); }` for later application to a Foo. With such an overload, a client may then write `Use();`, forgetting the param and being confused why nothing happens. This also catches when a client defines their own action in terms of an ACTION()-generated one, invokes the ACTION's builder, and then fails to invoke the resulting action, thinking it's operating on the outer action's parameters. PiperOrigin-RevId: 312108101 -
Abseil Team authored
Fix the ACTION* macros to allow for more than 10 arguments in the action. Only the first 10 will be passed as individual arguments as `argN`, but the rest can be accessed from the `args` tuple. PiperOrigin-RevId: 311542098
-
- 07 May, 2020 1 commit
-
-
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
-
- 01 May, 2020 2 commits
-
-
Abseil Team authored
Rewrite ReturnNew action without using pump. PiperOrigin-RevId: 308219616
-
Abseil Team authored
Fix comment that describes how to test against nullopt. PiperOrigin-RevId: 307448375
-
- 24 Apr, 2020 2 commits
-
-
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 1 commit
-
-
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.
-
- 31 Mar, 2020 1 commit
-
-
Abseil Team authored
Do not use std::result_of as it was removed in C++20. PiperOrigin-RevId: 303783600
-
- 18 Mar, 2020 1 commit
-
-
Adam Badura authored
-
- 28 Feb, 2020 2 commits
-
-
Abseil Team authored
Relax the implementation of MatcherCast to allow conversion of `Matcher<T>` to `Matcher<const T&>`. They have the same match signature. PiperOrigin-RevId: 297115843
-
Abseil Team authored
Allow construction of an Action from a callable of zero args Action already allows construction from a callable with the same args as the mocked function, without needing to wrap the callable in Invoke. However, if you don't care about the arguments to the mocked function you need to either accept all of them or wrap your callable in InvokeWithoutArgs. This change makes both of those unnecessary, since it allows you to pass a no-args callable to Action directly. PiperOrigin-RevId: 296117034
-
- 11 Feb, 2020 1 commit
-
-
Abseil Team authored
Add gmock Matcher<std::string_view> specialization. PiperOrigin-RevId: 294443240
-
- 07 Feb, 2020 3 commits
-
-
Abseil Team authored
Get rid of gmock-generated-matchers.h and gmock-generated-matchers.h.pump. Stop using pump for MATCHER* macroses generation. PiperOrigin-RevId: 293878808
-
durandal authored
Tag the function generated by MATCHER with GTEST_ATTRIBUTE_UNUSED_ to fix CI builds of gmock-matchers_test.cc vs. -Wunused-function. See https://github.com/google/googletest/pull/2697 for breakage. PiperOrigin-RevId: 293669752
-
Abseil Team authored
Get rid of gmock-generated-function-mockers.h and gmock-generated-function-mockers.h.pump. Stop using pump for GMOCK_METHOD* macroses generation. PiperOrigin-RevId: 293454519
-