78 Commits

Author SHA1 Message Date
Tom Lachecki
44932066d3 Fixed issue #2284 (Incompatibility with C++17) 2019-06-13 17:37:33 +01:00
Gennadiy Civil
7e27fc4c95 Merge pull request #2170 from ngie-eign:issue-2146-ver2
PiperOrigin-RevId: 244069956
2019-04-18 09:44:24 -04:00
Enji Cooper
36018b429c clang: fix -Wsign-conversion errors
Cast some values as their unsigned equivalents or `size_t` to match the
parameter type used for the template object under test. Also, provide
UInt32 equivalent delegate methods for some callers (with
int-equivalents for backwards compatibility).

This closes #2146.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-04-05 21:30:19 -07:00
Abseil Team
4d7c867857 Googletest export
Remove support for "global" ::string and ::wstring types.
This support existed for legacy codebases that existed from before namespaces
where a thing. It is no longer necessary.

PiperOrigin-RevId: 241335738
2019-04-01 15:05:10 -04:00
Enji Cooper
5b2a6117d8 Fix clang -Wunused-parameter warnings
Comment out unused method parameters in their relevant definitions.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-02-13 14:38:51 -08:00
Enji Cooper
ba9ae08f6e Fix clang -Winconsistent-missing-override warnings
`DescribeTo(..)` and `MatchAndExplain(..)` in `gmock-matchers_test` both
override virtual methods. Remove the `virtual` keyword and apply `override` to
them instead.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-02-13 14:38:51 -08:00
Enji Cooper
784a918f66 Fix -Wunused-private-field issues with clang
Provide dummy accessors for private values that are set in initializers,
but not actually used.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-02-12 16:40:01 -08:00
Abseil Team
06fe4fc0b0 Googletest export
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
2019-02-12 13:20:14 -05:00
misterg
0ff4c74a41 Googletest export
Mark legacy _TEST_CASE_ macros as deprecated

PiperOrigin-RevId: 232303251
2019-02-04 14:19:50 -05:00
Abseil Team
d3bcc36a0b Googletest export
Add move-only argument support to almost all remaining matchers.

PiperOrigin-RevId: 229030728
2019-01-14 17:02:03 -05:00
Abseil Team
e09cb4a368 Googletest export
Deduplicate testing::ReferenceWrapper with std::reference_wrapper.
Minor cleanups in matchers_test.

PiperOrigin-RevId: 229022872
2019-01-14 17:01:56 -05:00
Abseil Team
cb1ea717e7 Googletest export
Remove the #ifs for old, unsupported and buggy compilers:
* old versions of GCC & MSVC
* Symbian

PiperOrigin-RevId: 227116941
2019-01-02 16:51:33 -05:00
Abseil Team
4645a8b271 Googletest export
Unifdef c++11-related macros from googletest now that it requires C++11.

PiperOrigin-RevId: 225905601
2018-12-20 14:09:31 -05:00
Abseil Team
a59a5353aa Googletest export
Allow container matchers to accept move-only containers.

PiperOrigin-RevId: 225667441
2018-12-17 13:53:33 -05:00
Abseil Team
97bce1c9cc Googletest export
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
2018-12-12 11:54:22 -05:00
misterg
7a01807a11 Googletest export
rollback of 224929783

PiperOrigin-RevId: 225008559
2018-12-11 11:36:30 -05:00
Abseil Team
e9a14888cf Googletest export
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
2018-12-11 10:11:01 -05:00
Abseil Team
0e515e0c3f Googletest export
Deduce SizeType for SizeIs() from the return value of the size() member function

PiperOrigin-RevId: 223835674
2018-12-04 09:45:03 -05:00
Abseil Team
adba5a751f Googletest export
Applied fixes for ClangTidy modernize-use-override and modernize-use-using.

PiperOrigin-RevId: 223800219
2018-12-03 12:54:11 -05:00
Abseil Team
9ddcb0b4dd Googletest export
Replace pump'd Args() matcher with variadic templates.

PiperOrigin-RevId: 223794430
2018-12-03 12:54:02 -05:00
misterg
3b4c2f167b Googletest export
Remove scoped_ptr replace with std::unique_ptr

PiperOrigin-RevId: 219291284
2018-10-30 21:20:43 -04:00
Gennadiy Civil
53bd2a5119 Merge pull request #1941 from barkovv:master
PiperOrigin-RevId: 219134349
2018-10-29 13:46:24 -04:00
misterg
7e9920053e Googletest export
Remove linked_ptr and use std::shared_ptr instead

PiperOrigin-RevId: 219129336
2018-10-29 13:46:16 -04:00
Vadim Barkov
dbe9230f64 Replaced all NULLs with nullptr in googlemock 2018-10-28 03:27:51 +03:00
Abseil Team
63ad9ec911 Googletest export
Remove linked_ptr and use std::shared_ptr instead

PiperOrigin-RevId: 218618184
2018-10-26 14:19:59 -04:00
misterg
55c37984f7 Googletest export
Remove linked_ptr and use std::shared_ptr instead

PiperOrigin-RevId: 218571466
2018-10-26 14:19:51 -04:00
misterg
b208478537 Remove non-variadic pre C++11 AnyOf
PiperOrigin-RevId: 216411381
2018-10-09 16:30:37 -04:00
Abseil Team
dd4e36663c Unconditionally use std::tuple.
Remove all mention of TR1 tuple and our own implementation of tuple.

PiperOrigin-RevId: 216395043
2018-10-09 16:25:58 -04:00
misterg
f4fea9ea8c Fixing AllOfMatches test, where it properly belongs
PiperOrigin-RevId: 216193701
2018-10-08 17:07:05 -04:00
misterg
a48e4d2375 Remove non-variadic pre C++11 AllOf
PiperOrigin-RevId: 216183352
2018-10-08 10:51:03 -04:00
Abseil Team
7a6bc673ea Apply clang-tidy modernize-use-nullptr to googletest.
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
2018-10-05 12:54:14 -04:00
Abseil Team
ccce843d80 Googletest export
Treat default-constructed string_view same as constructed from "".
In the context of string comparison (e.g. HasSubstr, StartsWith, EndsWith,
etc.), a default-constructed string_view (nullptr) should be semantically same
as a empty string "".

PiperOrigin-RevId: 212816839
2018-09-14 11:13:48 -04:00
Abseil Team
b8dfc2efee No longer require a functor passed to ResultOf matcher to define result_of type.
This makes ResultOf more convenient to use. In particular, the matcher now accepts
lambdas.

PiperOrigin-RevId: 210118509
2018-08-27 12:22:26 -04:00
Gennadiy Civil
bdc777e251 Comments changes, no functionality changes 2018-08-14 14:04:07 -04:00
Gennadiy Civil
68683d415c code merge 2018-07-20 11:28:58 -04:00
Gennadiy Civil
21a1dae1b5 code sync 2018-07-19 12:42:39 -04:00
Gennadiy Civil
c38120ec6f Code sync 2018-07-18 11:51:14 -04:00
Scott Graham
7550a4c571 Fix gmock not building when -fno-rtti
Fixes issue #1554. This is internal cl/195020996.
2018-05-02 11:14:39 -07:00
Gennadiy Civil
63e8124d63 merged 2018-04-25 13:16:19 -04:00
Gennadiy Civil
edaeb8bc88 merging, 2018-04-25 13:10:41 -04:00
dnsunderland
e7ef46473f Merge branch 'master' into parameterless 2018-04-18 16:32:31 -07:00
David Sunderland
cf7b25961a Clone of unsubmitted cr/176529515. Introduce parameterless expectations. 2018-04-18 19:28:56 -04:00
Gennadiy Civil
609802ef23 193353312 2018-04-18 10:36:12 -04:00
Gennadiy Civil
cdc2f4b725 cl/193060888 2018-04-17 19:32:15 -04:00
Gennadiy Civil
7690cb75a0 http://cl/193060888 2018-04-17 16:22:35 -04:00
Gennadiy Civil
4308455071 http://cl/193060888 2018-04-17 16:12:04 -04:00
Gennadiy Civil
b8af6195d7 msvc 2018-04-12 11:32:17 -04:00
Gennadiy Civil
acfc19b62a revert this one 2018-04-12 10:28:02 -04:00
Gennadiy Civil
6ebe245ae7 merge, ... gmock-matchers test 2018-04-12 09:45:07 -04:00
Gennadiy Civil
dea55d0bf0 small cleanup 2018-04-12 09:12:02 -04:00