| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
PiperOrigin-RevId: 308625388
|
| |
| |
| |
| |
| |
| |
| |
| | |
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();
^
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
performance.
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.
|
| |
| |
| |
| |
| |
| | |
Rewrite ReturnNew action without using pump.
PiperOrigin-RevId: 308219616
|
|/
|
|
|
|
| |
Fix comment that describes how to test against nullopt.
PiperOrigin-RevId: 307448375
|
|
|
|
|
|
| |
Do not use std::result_of as it was removed in C++20.
PiperOrigin-RevId: 303783600
|
|\
| |
| |
| | |
PiperOrigin-RevId: 302677275
|
|/ |
|
|
|
|
|
|
|
| |
Relax the implementation of MatcherCast to allow conversion of `Matcher<T>` to
`Matcher<const T&>`. They have the same match signature.
PiperOrigin-RevId: 297115843
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Add gmock Matcher<std::string_view> specialization.
PiperOrigin-RevId: 294443240
|
|
|
|
|
|
|
|
| |
Get rid of gmock-generated-matchers.h and gmock-generated-matchers.h.pump.
Stop using pump for MATCHER* macroses generation.
PiperOrigin-RevId: 293878808
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Pass method's parameters count to internal GMOCK_METHOD* macro.
This will help removing copypaste in every GMOCK_METHOD* macro in future.
PiperOrigin-RevId: 292932554
|
|
|
|
|
|
| |
Fix std::move to std::forward where appropriate to support reference types.
PiperOrigin-RevId: 292923058
|
|
|
|
|
|
|
| |
Fix use of reserved names.
Minimize code duplication needed for explict-vs-nonexplicit constructor.
PiperOrigin-RevId: 292555014
|
|
|
|
|
|
| |
Add includes for type_traits and utility to gmock-function-mocker.h: macros in the file require these headers.
PiperOrigin-RevId: 291782497
|
|
|
|
|
|
|
|
|
|
|
| |
Create implementation macroses for matchers to move variadic parameters to the
end of parameters list.
To save backward compatibility, old macroses will be still taking `description`
parameter as the last one. But they will use INTERNAL macro that takes
`description` as the second parameter.
PiperOrigin-RevId: 291724469
|
|
|
|
|
|
|
|
| |
Move part of functionality of Matcher* class to the base one. Reduce copypaste.
Make constructor and conversion operator of Matcher* class independent of pump.
PiperOrigin-RevId: 291405510
|
|
|
|
|
|
|
|
|
| |
Add missing explicit keyword for gmock_Impl constructor.
When switching to using GMOCK_PP in ACTION* macroses `explicit` keyword was
missed in gmock_Impl constructor causing ClangTidy warnings in ACTION_P macro.
PiperOrigin-RevId: 291159975
|
|
|
|
|
|
|
|
|
| |
Allow copying of the string in MatchAndExplain.
Otherwise, conversions from std::string_view to std::string will fail as being
explicit
PiperOrigin-RevId: 290301103
|
|
|
|
|
|
|
|
|
| |
Use GMOCK_PP to create GMOCK_INTERNAL_ACTION macro.
Create GMOCK_INTERNAL_ACTION macro that generates ACTION_P* macroses using
GMOCK_PP.
PiperOrigin-RevId: 289815906
|
|
|
|
|
|
|
|
|
| |
Use GMOCK_PP to generate args boilerplate.
Move common args describing part to separate macroses that uses GMOCK_PP to
generate sequences.
PiperOrigin-RevId: 289655624
|
|
|
|
|
|
|
|
| |
Move part of functionality of Action* class to the base one. Reduce copypaste.
Make constructor and conversion operator of Action* class independent of pump.
PiperOrigin-RevId: 288907005
|
|
|
|
|
|
|
|
| |
Use C++11 variadic templates for Invoke in gmock-generated-actions.h.
Replace InvokeArgumentAdl with Invoke that uses C++11 variadic templates.
PiperOrigin-RevId: 288449236
|
|
|
|
|
|
|
|
|
|
| |
Explicitly default copy constructor in BoundSecondMatcher
Since C++11, implicit defaulting of copy constructors is deprecated for types
with user-defined copy assignment operators, so we should explicitly default the
copy constructor of BoundSecondMatcher.
PiperOrigin-RevId: 287587847
|
|
|
|
|
|
|
|
|
| |
Use C++11 variadic templates for InvokeArgumentAdl in gmock-generated-actions.h.
Make InvokeArgumentAdl use variadic templates to generate its overloads instead
of using pump.py syntax.
PiperOrigin-RevId: 286267615
|
|
|
|
|
|
|
|
|
| |
Use C++11 variadic templates for InvokeArgumentAdl in gmock-generated-actions.h.
Make InvokeArgumentAdl use variadic templates to generate its overloads instead
of using pump.py syntax.
PiperOrigin-RevId: 286148805
|
|
|
|
|
|
|
|
| |
Use C++11 variadic templates for ActionHelper in gmock-generated-actions.h.
Make ActionHelper use variadic templates to generate Perform static member function specializations instead of using pump.py syntax.
PiperOrigin-RevId: 284988441
|
|\
| |
| |
| | |
PiperOrigin-RevId: 284234675
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
kuzkry:remove-workaround_msvc-unneeded-const-dropping
PiperOrigin-RevId: 283979494
|
| |/ |
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 282817206
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a workaround, for those who have to compile with v141 build tools,
for a bug in msvc that the compiler can't compile the WithArgsAction.
see the following link for more details:
https://developercommunityapi.westus.cloudapp.azure.com/content/problem/420339/googlemocks-withargs-doesnt-compile-with-permissiv.html
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
kuzkry:remove-workaround_Nokia-Sybian-SafeMatcherCastImpl
PiperOrigin-RevId: 282581402
|
| | | | |
|
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |/
|/|
| |
| |
| |
| | |
Update stale comments to point to proper location.
PiperOrigin-RevId: 281157036
|
|/ |
|
|\
| |
| |
| | |
PiperOrigin-RevId: 277924721
|
| |
| |
| |
| |
| | |
This reverts commit ba513d2c9525a7c986c115ed5d603f2cf17c6016, reversing
changes made to a3ca5b9e0bf9abc3bc639684966085c4d3182578.
|
| |
| |
| |
| |
| |
| | |
Change variable name to match comment.
PiperOrigin-RevId: 277713621
|
| |
| |
| |
| |
| |
| | |
Tolerate std::string's explicit copy construction from std::string_view.
PiperOrigin-RevId: 277583394
|
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid temporary matcher instances.
They are unnecessary and can be relatively more expensive than the rest of the
algorithm.
PiperOrigin-RevId: 277084853
|
|\ \
| | |
| | |
| | |
| | |
| | | |
PiotrNycz:gmock_prevent_return_ref_to_store_temporaries_2
PiperOrigin-RevId: 277061341
|
| | |
| | |
| | |
| | | |
Fixed issue: 2471
|