| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
PiperOrigin-RevId: 302677275
|
|/ |
|
| |
|
|\
| |
| |
| | |
PiperOrigin-RevId: 268693457
|
| |
| |
| |
| |
| | |
Due to confusion arisen from "iff" standing for "if and only if",
this commit uses the latter.
|
|/
|
|
|
|
|
|
|
| |
Merge 7f4f58da20e1066a888d3e4bcbef541db798a605 into 90a443f9c2437ca8a682a1ac625eba64e1d74a8a
Closes #2395
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2395 from kuzkry:custom-type-traits-remove_reference 7f4f58da20e1066a888d3e4bcbef541db798a605
PiperOrigin-RevId: 266189044
|
| |
|
|
|
|
|
| |
MockFunction's private member cannot be reached from outside and all its
non-static member functions are not const.
|
| |
|
|
|
|
|
|
|
| |
gmock-spec-builders.h uses std::function (in MockFunction) but did
not include <functional> to provide it. Apparently, it worked since
the header must have been included by something else but better be
safe than sorry.
|
|
|
|
|
|
| |
Make internal FunctionMocker class final
PiperOrigin-RevId: 230332778
|
|
|
|
|
|
|
|
|
|
| |
Fix mocking method arguments with templated copy constructors.
A previous change removed workarounds for old compilers from googletest and googlemock. Unfortunately, a bit of code that started as a workaround for Symbian's C++ compiler is still needed to avoid copy/move constructor ambiguity when mocking functions with certain argument types.
The test case added by this CL is extracted from Chrome's codebase, and was discovered while attempting to roll googletest.
PiperOrigin-RevId: 229801765
|
|
|
|
|
|
| |
Internal Change
PiperOrigin-RevId: 227575279
|
|
|
|
|
|
|
|
| |
Remove the #ifs for old, unsupported and buggy compilers:
* old versions of GCC & MSVC
* Symbian
PiperOrigin-RevId: 227116941
|
|
|
|
|
|
| |
Applied fixes for ClangTidy modernize-use-override and modernize-use-using.
PiperOrigin-RevId: 223800219
|
|
|
|
|
|
| |
Move FunctionMocker and MockFunction out of the pump file and implement with variadic templates.
PiperOrigin-RevId: 220640265
|
|
|
|
|
|
| |
Remove scoped_ptr replace with std::unique_ptr
PiperOrigin-RevId: 219291284
|
|\
| |
| |
| | |
PiperOrigin-RevId: 219134349
|
| | |
|
|/
|
|
|
|
| |
Remove linked_ptr and use std::shared_ptr instead
PiperOrigin-RevId: 219129336
|
|
|
|
|
|
| |
Remove linked_ptr and use std::shared_ptr instead
PiperOrigin-RevId: 218618184
|
|
|
|
|
|
| |
Remove linked_ptr and use std::shared_ptr instead
PiperOrigin-RevId: 218571466
|
|\
| |
| |
| | |
PiperOrigin-RevId: 218384341
|
| |\ |
|
| | | |
|
| |/
|/|
| |
| |
| |
| | |
C++11 code cleanup.
PiperOrigin-RevId: 217364243
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 216909845
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that googletest has moved to C++11, it should no longer
use NULL or 0 for the null pointer. This patch converts all
such usages to nullptr using clang-tidy.
This prevents LLVM from issuing -Wzero-as-null-pointer-constant
warnings.
PiperOrigin-RevId: 215814400
|
| |
| |
| |
| |
| |
| | |
- 209457654 Import of OSS PR, https://github.com/google/googletest/pu... by misterg <misterg@google.com>
PiperOrigin-RevId: 209457654
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
in the current code page (936). Save the file in Unicode format to prevent data loss
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Internal CL 156157936, which was published in commit
fe402c27790ff1cc9a7e17c5d0aea4ebe7fd8a71, introduced undefined behavior
by casting a base class (internal::{Naggy,Nice,Strict}Base<MockClass>,
using the curiously recurring template pattern) pointer to a derived
class ({Naggy,Nice,Strict}Mock<MockClass>), in the base class'
constructor. At that point, the object isn't guaranteed to have taken on
the shape of the derived class, and casting is undefined behavior.
The undefined behavior was caught by Chrome's CFI build bot [1], and
prevents rolling googletest past that commit / CL.
This commit simplifies the {Naggy,Nice,Strict}Mock class hierarchy in
a way that removes the undefined behavior.
[1] https://www.chromium.org/developers/testing/control-flow-integrity
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
| |
This merges a Google-internal change (117235625).
Original CL description:
This CL was created manually in about an hour with sed, a Python script
to find all the places unqualified 'string' was mentioned, and some help
from Emacs to add the "std::" qualifications, plus a few manual tweaks.
|
|
|