| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix matcher comparisons for std::reference_wrapper.
The googletest docs indicate that std::reference_wrapper should be used to for
objects that should not be copied by the matcher (in fact, the ByRef() function
is basically the same as a call to std::cref).
However, for many types (such as std::string), the overloaded operator== will
not resolve correctly. Specifically, this is problematic if operator== depends
on template argument deduction, where the same type is named on LHS and RHS.
Because template argument deduction happens before any implict conversions for
purposes of overload resolution, attempting to compare T with
std::reference_wrapper<T> simply looks like a comparison of unlike types.
For exapmle, std::reference_wrapper<std::string> is implicitly convertible to
'const std::string&', which would be able to choose an overload specialization
of operator==. However, the implicit conversion can only happen after template
argument deduction for operator==, so a specialization that would other be an
applicable overload is never considered.
Note also that this change only affects matchers. There are good reasons that
matchers may need to transparently hold a std::reference_wrapper. Other
comparisons (like EXPECT_EQ, et. al.) don't need to capture a reference: they
don't need to defer evaluation (as in googlemock), and they don't need to avoid
copies (as the call chain of matchers does).
PiperOrigin-RevId: 232499175
|
|
|
|
|
|
| |
Internal change
PiperOrigin-RevId: 232362580
|
|
|
|
|
|
| |
Mark legacy _TEST_CASE_ macros as deprecated
PiperOrigin-RevId: 232303251
|
|
|
|
|
|
| |
Fix stack overflow in AnyOfArray tests.
PiperOrigin-RevId: 231881125
|
|
|
|
|
|
| |
I made a few updates to the Makefile.am files so that "make dist"
succeeds and produces a usable tarball. We need this for protobuf
because the protobuf tarballs include a bundled copy of googletest.
|
|\
| |
| |
| | |
PiperOrigin-RevId: 230554814
|
| |
| |
| |
| | |
Added setup()/loop() functions back to *_main.cc files to support compiling in CI. Future features could enable this for the end user.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Improved flexibility by removing the Arduino entry points in favor of manual calls to setup/loop that the user can call from their entry point. This is the more common use case for Arudino.
Also added the gtest/gmock_main files to the PlatformIO ignore list since we are not supporting that feature.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add AllOfArray matcher that verifies a value matches all member of some array/container/list/set/..., e.g:
EXPECT_THAT(1, AnyOfArray({1, 2, 3}))
In the simplest form this is identical to AnyOf(1, 2, 3). But unlike that one it works on containers.
Add AnyOfArray matcher that verifies a value matches any member of some
array/container/list/set/...
PiperOrigin-RevId: 230403653
|
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Refactor the `Invoke` and `InvokeWithoutArgs` actions:
- Replace pump'd classes and functions with templates.
- Make the polymorphic actions be polymorphic functors instead.
- Fix Invoke(Callback*) to work with subclasses of the callbacks, instead of trying to diagnose that in gmock_doctor.
PiperOrigin-RevId: 229604112
|
| | |
| | |
| | |
| | |
| | |
| | | |
Add move-only argument support to almost all remaining matchers.
PiperOrigin-RevId: 229030728
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Deduplicate testing::ReferenceWrapper with std::reference_wrapper.
Minor cleanups in matchers_test.
PiperOrigin-RevId: 229022872
|
|\ \ \
| | |/
| |/|
| | | |
PiperOrigin-RevId: 228337465
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Replace testing::internal::ImplicitlyConvertible with std::is_convertible
Fixes #2054
PiperOrigin-RevId: 228334305
|
| | |
| | |
| | |
| | |
| | |
| | | |
Drop generated file gmock-generated-internal-utils.h.
PiperOrigin-RevId: 228232195
|
|\ \ \
| |/ /
|/| |
| | | |
PiperOrigin-RevId: 228173023
|
| | |
| | |
| | |
| | |
| | |
| | | |
TestCase->TestSuite refactoring
PiperOrigin-RevId: 227702164
|
|\ \ \
| | | |
| | | | |
Example/sample makefile improvements
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
and googletest.
Library files are now created and named like versions produced
by Cmake.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Internal Change
PiperOrigin-RevId: 227575279
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove the #ifs for old, unsupported and buggy compilers:
* old versions of GCC & MSVC
* Symbian
PiperOrigin-RevId: 227116941
|
|/ /
| |
| |
| |
| |
| |
| | |
Get rid of code generation for NiceMock / StrictMock.
They got small enough that it doesn't make sense to generate them.
PiperOrigin-RevId: 226455689
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use std::function to implement type erasure in Action, wrapping the legacy
ActionInterface if necessary.
This makes functors / std::function the primary way to implement Action; the
existing ActionInterface implementations are handled through ActionAdaptor.
The existing actions are not (yet) migrated though; they'll pay the cost of one
additional indirection - but that should be negligible.
PiperOrigin-RevId: 226126137
|
| |
| |
| |
| |
| |
| | |
Unifdef c++11-related macros from googletest now that it requires C++11.
PiperOrigin-RevId: 225905601
|
| |
| |
| |
| |
| |
| | |
Suppress C4503 for MCVS , again
PiperOrigin-RevId: 225895719
|
| |
| |
| |
| |
| |
| | |
Suppress C4503 for MCVS
PiperOrigin-RevId: 225871050
|
| |
| |
| |
| |
| |
| | |
Remove GTEST_REFERENCE_TO_CONST_ usage from GMock. In C++11, it's redundant.
PiperOrigin-RevId: 225719210
|
| |
| |
| |
| |
| |
| | |
Allow container matchers to accept move-only containers.
PiperOrigin-RevId: 225667441
|
|/
|
|
|
|
| |
Replace pump'd code for DoAll with variadic templates.
PiperOrigin-RevId: 225584656
|
|\
| |
| |
| | |
PiperOrigin-RevId: 225552792
|
| | |
|
| |
| |
| |
| |
| |
| | |
Internal Change
PiperOrigin-RevId: 225231727
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The gmock matchers have a concept of MatchAndExpain; where the details of the
matching are written to a "result listener". A matcher can avoid creating
expensive debug info by checking result_listener->IsInterested(); but,
unfortunately, the default matcher code (called from EXPECT_THAT) is always
"interested".
This change implements EXPECT_THAT matching to first run the matcher in a "not
interested" mode; and then run it a second time ("interested") only if the
match fails.
PiperOrigin-RevId: 225036073
|
| |
| |
| |
| |
| |
| | |
rollback of 224929783
PiperOrigin-RevId: 225008559
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
The gmock matchers have a concept of MatchAndExpain; where the details of the
matching are written to a "result listener". A matcher can avoid creating
expensive debug info by checking result_listener->IsInterested(); but,
unfortunately, the default matcher code (called from EXPECT_THAT) is always
"interested".
This change implements EXPECT_THAT matching to first run the matcher in a "not
interested" mode; and then run it a second time ("interested") only if the
match fails.
PiperOrigin-RevId: 224929783
|
|
|
|
|
|
| |
Deduce SizeType for SizeIs() from the return value of the size() member function
PiperOrigin-RevId: 223835674
|
|
|
|
|
|
| |
Applied fixes for ClangTidy modernize-use-override and modernize-use-using.
PiperOrigin-RevId: 223800219
|
|
|
|
|
|
| |
Replace pump'd Args() matcher with variadic templates.
PiperOrigin-RevId: 223794430
|
|
|
|
|
|
| |
Accept gmock matchers in EXPECT_EXIT and friends to allow matches other than simple regex matches on death output.
PiperOrigin-RevId: 223035409
|
|
|
|
|
|
| |
Fix broken OSS build
PiperOrigin-RevId: 222244158
|
|
|
|
|
|
| |
Remove unintended dependency.
PiperOrigin-RevId: 222243874
|
|
|
|
|
|
| |
Remove redundant Base/Derived types.
PiperOrigin-RevId: 222243634
|
|
|
|
|
|
| |
Silence C4100 msvc warning
PiperOrigin-RevId: 222242329
|
|
|
|
|
|
| |
Internal Change
PiperOrigin-RevId: 222123106
|
|
|
|
|
|
| |
Add stringization based tests for gmock-pp.h macros
PiperOrigin-RevId: 221961835
|
|
|
|
|
|
| |
Validate spec modifiers.
PiperOrigin-RevId: 221810235
|
|
|
|
|
|
| |
Move the Matcher<T> interface to googletest so I can use it to extend death test regex matching in a subsequent change.
PiperOrigin-RevId: 221675910
|