Commit Graph

683 Commits

Author SHA1 Message Date
Krystian Kuzniarek
38ce18e8e6 post-review to db1b7399 (#2396) 2019-08-24 12:08:13 +02:00
Abseil Team
ed2eef6543 Googletest export
Add tuple version of Optional() matches. This allows Optional() to be used in Pointwise matchers.

PiperOrigin-RevId: 265110864
2019-08-23 16:39:21 -04:00
kuzkry
db1b739943 Googletest export
Merge b8ca465e73ac0954a0c9eec2a84bdd8913d5763b into 90a443f9c2

Closes #2396

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2396 from kuzkry:custom-type-traits-true/false_type-and-bool_constant b8ca465e73ac0954a0c9eec2a84bdd8913d5763b
PiperOrigin-RevId: 265064856
2019-08-23 16:39:13 -04:00
Xiaoyi Zhang
46525e1e5d Merge pull request #2394 from kuzkry:custom-type-traits-duplication-of-custom-index_sequence
PiperOrigin-RevId: 264863984
2019-08-23 16:39:04 -04:00
Xiaoyi Zhang
fb49e6c164 Merge pull request #2393 from kuzkry:custom-type-traits-remove_const
PiperOrigin-RevId: 264652890
2019-08-21 17:13:34 -04:00
Abseil Team
d1ad644db4 Googletest export
Update broken links.

PiperOrigin-RevId: 264405918
2019-08-21 17:13:26 -04:00
Krystian Kuzniarek
7bd4a7f3e9 restore mistakenly removed iffs in their explicit form
Due to confusion arisen from "iff" standing for "if and only if",
this commit uses the latter.
2019-08-20 12:14:22 +02:00
Gennadiy Civil
d5e9e0c38f Merge pull request #2397 from kuzkry:custom-type-traits-is_reference
PiperOrigin-RevId: 264193098
2019-08-19 14:20:11 -04:00
Gennadiy Civil
30e58a89a4 Merge pull request #2381 from Yannic:fix_bazel
PiperOrigin-RevId: 264186624
2019-08-19 14:20:03 -04:00
Abseil Team
fcffabb5be Googletest export
Fix broken link to regex syntax guide in cheat_sheet.md

PiperOrigin-RevId: 263840914
2019-08-19 14:19:50 -04:00
Abseil Team
410b52985e Googletest export
Fix a broken link about selecting overloaded methods.

PiperOrigin-RevId: 263807775
2019-08-19 14:19:42 -04:00
misterg
eb78ee170a Googletest export
Fix broken link at beginning of "Mocking Non-virtual Methods" section.

PiperOrigin-RevId: 263772074
2019-08-16 11:23:59 -04:00
misterg
976b37fe93 Googletest export
Internal Change

PiperOrigin-RevId: 263768422
2019-08-16 11:23:51 -04:00
Krystian Kuzniarek
44de869783 remove a dead metafunction 2019-08-16 07:04:49 +02:00
misterg
e9d5f427b5 Googletest export
Internal changes

PiperOrigin-RevId: 263636027
2019-08-15 17:34:42 -04:00
Abseil Team
d44b137fd1 Googletest export
Remove legacy support for signed wchar_t and unsigned wchar_t.

Clang now errors out on these types as well by default. Rather than making the
condition for these types even more complicated, just remove the tests covering
these types since they don't seem to justify the maintenance burden. We
can reasonably expect these types to work in compilers that support them
without needing specific tests for them since they are treated as standard
integral types.

PiperOrigin-RevId: 263577673
2019-08-15 17:34:34 -04:00
Gennadiy Civil
4083746e61 Merge pull request #2391 from adambadura:FixCygwin
PiperOrigin-RevId: 263574695
2019-08-15 17:34:27 -04:00
Gennadiy Civil
9b70406919 Merge pull request #2399 from kuzkry:custom-type-traits-is_same
PiperOrigin-RevId: 263568712
2019-08-15 17:34:18 -04:00
Abseil Team
a92e4a8e92 Googletest export
Internal changes

PiperOrigin-RevId: 262994110
2019-08-15 17:33:52 -04:00
Abseil Team
3835e15d72 Googletest export
Fix a link to the guide for creating custom matchers.

PiperOrigin-RevId: 262572684
2019-08-15 17:33:28 -04:00
Krystian Kuzniarek
6a015ca1cb reuse IndexSequence from googletest 2019-08-14 14:21:32 +02:00
Krystian Kuzniarek
ec49fbca4c remove custom implementations of std::is_same 2019-08-14 14:00:44 +02:00
Krystian Kuzniarek
da76d01b98 remove a custom implementation of std::is_reference 2019-08-14 13:33:13 +02:00
Krystian Kuzniarek
364839ab14 remove a custom implementation of std::remove_const 2019-08-14 00:34:04 +02:00
Adam Badura
6dbddd32b0 Use -Wa,-mbig-obj for Cygwin/MinGW always 2019-08-11 21:10:06 +02:00
Gennadiy Civil
90a443f9c2 Merge pull request #2378 from kuzkry:markdown-table
PiperOrigin-RevId: 262135359
2019-08-07 11:57:30 -04:00
Abseil Team
f8f5fcab3b Googletest export
Fix broken links.

PiperOrigin-RevId: 262123510
2019-08-07 11:57:22 -04:00
Abseil Team
dd5402d9d4 Googletest export
Add general explanation of MOCK_METHOD, including list of supported qualifiers.

PiperOrigin-RevId: 262077180
2019-08-07 11:57:13 -04:00
Gennadiy Civil
79690c5375 Merge pull request #2372 from pitrou:issue2371-windows-crt-asserts
PiperOrigin-RevId: 262040609
2019-08-07 11:57:04 -04:00
Yannic Bonenberger
6fd262ecf7 Prepare for Bazel incompatible changes
Fixes googletest for upcoming `--incompatible_load_cc_rules_from_bzl` (https://github.com/bazelbuild/bazel/issues/8743) and `--incompatible_load_python_rules_from_bzl` (https://github.com/bazelbuild/bazel/issues/9006).

This change was automatically generated with `buildifier -lint=fix -warnings=all $(find . -name "BUILD" -o -name "BUILD.bazel" -o -name "*.bzl")`.
2019-08-07 17:08:10 +02:00
Gennadiy Civil
f64f7bd367 Merge pull request #2375 from kuzkry:broken-links
PiperOrigin-RevId: 261970482
2019-08-06 15:51:51 -04:00
CJ Johnson
07ec69a886 Merge pull request #2359 from kuzkry:superfluous-mutable
PiperOrigin-RevId: 261947085
2019-08-06 15:02:42 -04:00
Krystian Kuzniarek
d0cb77dcce fix broken links 2019-08-06 20:20:50 +02:00
Abseil Team
b4961ab1cb Googletest export
Fix broken link.

PiperOrigin-RevId: 261940226
2019-08-06 13:14:56 -04:00
Gennadiy Civil
2f499db00e Merge pull request #2111 from knuto:pr/remove_slash
PiperOrigin-RevId: 261906004
2019-08-06 13:14:49 -04:00
Gennadiy Civil
cc34e8fa7c Merge pull request #2357 from kuzkry:obsolete-documentation
PiperOrigin-RevId: 261343928
2019-08-02 13:26:55 -04:00
Gennadiy Civil
47092933fd Merge pull request #2361 from guillemglez:master
PiperOrigin-RevId: 261340959
2019-08-02 13:06:47 -04:00
Abseil Team
6a2adc0eed Googletest export
Remove markdown extension which isn't supported on github.

PiperOrigin-RevId: 261321329
2019-08-02 11:32:23 -04:00
Gennadiy Civil
c8d338c629 Merge pull request #2353 from anttsov:patch-1
PiperOrigin-RevId: 261198930
2019-08-02 11:32:15 -04:00
Abseil Team
8756ef9058 Googletest export
Add links to "sampleK_unittest.cc" examples. Fix some broken docs crosslinks.

PiperOrigin-RevId: 261169561
2019-08-01 16:06:11 -04:00
Abseil Team
da28d30191 Googletest export
Fix ON_CALL/EXPECT_CALL example comment

PiperOrigin-RevId: 261150884
2019-08-01 16:05:57 -04:00
misterg
2221875d0b Googletest export
Internal Change

PiperOrigin-RevId: 260939845
2019-08-01 16:05:33 -04:00
Krystian Kuzniarek
637b0411fa remove an excessive mutable type specifier
MockFunction's private member cannot be reached from outside and all its
non-static member functions are not const.
2019-08-01 11:33:36 +02:00
anttsov
64b17693e3
Update README.md
fixed links to docs pages (on googlemock/README.md)
2019-07-31 10:34:36 +03:00
Krystian Kuzniarek
287b37f23f update pre-C++11 paragraphs 2019-07-31 08:17:32 +02:00
Gennadiy Civil
9311242db4 Merge pull request #2356 from kuzkry:typos
PiperOrigin-RevId: 260786935
2019-07-30 18:47:55 -04:00
Gennadiy Civil
4cd6e4d359 Merge pull request #2355 from kuzkry:markdown-numbering
PiperOrigin-RevId: 260782065
2019-07-30 18:47:37 -04:00
Krystian Kuzniarek
bf6df7eaee fix typos 2019-07-30 12:52:27 +02:00
Krystian Kuzniarek
d384b8831f fix numbering of ordered lists in Markdown 2019-07-30 11:16:21 +02:00
anttsov
579591a351
Update README.md
Links to FAQ, Cheat Sheet, Cookbook, gMock for Dummies
2019-07-30 10:17:22 +03:00
Abseil Team
3821ecd573 Googletest export
Fix broken link.

PiperOrigin-RevId: 260548004
2019-07-29 15:36:36 -04:00
Gennadiy Civil
b2983b2f2a Merge pull request #2331 from adambadura:CMakeCorrection
PiperOrigin-RevId: 260509310
2019-07-29 11:58:34 -04:00
Gennadiy Civil
bb481d2da6 Manual docs tweaks still in preparation for including docs with code pushes 2019-07-29 10:53:47 -04:00
Adam Badura
1be5ce0907 Correct CMake to cover Cygwin 2019-07-27 22:25:32 +02:00
Abseil Team
373ed74af5 Googletest export
Add copyright.

PiperOrigin-RevId: 259997211
2019-07-25 20:53:34 -04:00
Gennadiy Civil
15756aa0c8 Manual docs tweaks still in preparation for including docs with code pushes 2019-07-18 11:39:49 -04:00
Gennadiy Civil
34ddfff946 Manual docs tweaks still in preparation for including docs with code pushes 2019-07-18 11:34:17 -04:00
Gennadiy Civil
2ef13f524b remove outdated 2019-07-17 16:45:00 -04:00
Gennadiy Civil
96bf3b1aff remove outdated 2019-07-17 16:43:18 -04:00
Gennadiy Civil
ad52f7d0bd Merge branch 'master' of github.com:google/googletest 2019-07-17 15:36:04 -04:00
Gennadiy Civil
63e878b624 Preparation for including docs in round-trip with OSS, Manual merge, review and merge docs internal-OSS 2019-07-17 15:35:48 -04:00
Abseil Team
0ef404e2e7 Googletest export
Internal change

PiperOrigin-RevId: 258587862
2019-07-17 13:38:25 -04:00
Adam Badura
1f809607b5 Add missing <functional> include
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.
2019-07-16 23:15:51 +02:00
Gennadiy Civil
4ab6f4d709 Preparation for including docs in round-trip with OSS. Manual review and merge docs internal-OSS 2019-07-16 14:38:15 -04:00
misterg
3d9cdd5803 Googletest export
Fix documentation links

PiperOrigin-RevId: 258389329
2019-07-16 13:35:16 -04:00
Abseil Team
e4f097b5fb Googletest export
Update a broken link in a comment.

PiperOrigin-RevId: 257493975
2019-07-16 11:21:11 -04:00
Gennadiy Civil
947aeab281 Preparation for including docs in round-trip with OSS 2019-07-15 16:01:38 -04:00
Gennadiy Civil
5af948b30e Preparation for including docs in round-trip with OSS 2019-07-15 16:01:12 -04:00
Gennadiy Civil
073a2da403 Preparation for including docs in round-trip with OSS 2019-07-15 15:58:44 -04:00
Gennadiy Civil
31ff597888 Preparation for including docs in round-trip with OSS 2019-07-15 15:42:09 -04:00
Gennadiy Civil
5c4d53fd52
Merge pull request #2326 from kuzkry/missing-references-to-documentation
Add missing references to documentation
2019-07-15 13:29:29 -04:00
Krystian Kuzniarek
f81dbd6ce8 add missing references to DesignDoc and KnownIssues 2019-07-13 09:16:52 +02:00
Krystian Kuzniarek
b138afde15 rename and apply snake_case on KnownIssues.md 2019-07-13 08:16:41 +02:00
Krystian Kuzniarek
1d5b7cc1e2 rename and apply snake_case on FrequentlyAskedQuestions.md 2019-07-13 08:15:20 +02:00
Krystian Kuzniarek
92d92f2f55 rename and apply snake_case on ForDummies.md 2019-07-13 08:09:11 +02:00
Krystian Kuzniarek
6078089ef8 rename and apply snake_case on Documentation.md 2019-07-13 08:09:11 +02:00
Krystian Kuzniarek
382cdf9162 rename and apply snake_case on DesignDoc.md 2019-07-13 07:59:14 +02:00
Krystian Kuzniarek
275bbc7884 rename and apply snake_case on CheatSheet.md 2019-07-13 07:47:14 +02:00
Sam Sobell
ee3aa83117 Fix bad advice in cook book (#2308)
This line directly contradicts the warning that google mock spits out on unused mock calls:
```
NOTE: You can safely ignore the above warning unless this call should not happen.  Do not suppress it by blindly adding an EXPECT_CALL() if you don't mean to enforce the call.  See https://github.com/google/googletest/blob/master/googlemock/docs/CookBook.md#knowing-when-to-expect for details.
```
One or the other should be changed, and I believe the advice in this file is incorrect.
2019-07-10 10:37:57 -04:00
Gennadiy Civil
152c7dfd06 missed the actual file in previous commit 2019-06-19 16:50:19 -04:00
Gennadiy Civil
5ed950c9e3 Renaming doc files to make the file names more palatable and in preparation for including documentation in sync process 2019-06-19 16:48:38 -04:00
Gennadiy Civil
ba68290cb3 small docs restucture and cleanup 2019-06-19 16:20:19 -04:00
misterg
ee32b72e12 Googletest export
gmock_output_test has to run under python2. Bazel 0.27.0 causes this test to break. Fixing it.

PiperOrigin-RevId: 253820111
2019-06-18 13:48:06 -04:00
Abseil Team
d7003576dd Googletest export
Project import generated by Copybara.

PiperOrigin-RevId: 253600369
2019-06-17 16:34:31 -04:00
misterg
d1185b9ffd Googletest export
Internal Change

PiperOrigin-RevId: 253581166
2019-06-17 16:34:23 -04:00
Gennadiy Civil
fd20d1ecce
Merge pull request #2286 from gennadiycivil/master
Removing make and automake.
2019-06-17 11:05:13 -04:00
Gennadiy Civil
cd6b9ae324 googlemock/docs/CookBook.md small doc test 2019-06-14 11:12:17 -04:00
Gennadiy Civil
41961e9e05 Merge branch 'master' of https://github.com/google/googletest 2019-06-14 09:38:34 -04:00
Gennadiy Civil
f7c178ecb3 Makefiles are no longer supported. Adding pseudo-break with their impending removal to make sure that people who are interested will notice 2019-06-13 17:16:43 -04:00
Gennadiy Civil
74905ef841 Also remove googlemock/scripts/gmock-config.in 2019-06-13 16:37:17 -04:00
Gennadiy Civil
6b8c138154 Removing make and automake. The only supported build systems are Bazel internally and CMake community supported 2019-06-13 13:49:42 -04:00
Tom Lachecki
d515158d9c Fixed issue #2284 (Incompatibility with C++17) 2019-06-13 17:37:33 +01:00
Gennadiy Civil
fbcb2eb200 removing obsolete language from docs, CMake and Bazel is the only supporeted build methods 2019-06-10 10:51:41 -04:00
Gennadiy Civil
6f79a3b8a7 removing gmock msvc solution, as CMake and Bazel is the only supporeted build methods 2019-06-10 10:35:30 -04:00
Gennadiy Civil
527a493fb2 removing build-aux files , as CMake and Bazel is the only supporeted build methods 2019-06-10 10:34:33 -04:00
Gennadiy Civil
577daedd51
Merge pull request #2274 from goudan-er/master
fix typo
2019-06-07 13:08:03 -04:00
Wenyuan Yan
3ff7cd0f1b
fix typo 2019-06-06 11:47:40 +08:00
Peter Levine
711fccf831 Don't allow signed/unsigned wchar_t in gcc 9 and later 2019-06-04 01:07:18 -04:00
Enji Cooper
699943fe40 Fix typo introduced in 63be3dcc24 (maintaners -> maintainers)
Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-05-19 23:31:04 -07:00
Abseil Team
3f5b5b8f84 Googletest export
Remove special case for protocol buffers. It is no longer needed.

PiperOrigin-RevId: 246550795
2019-05-03 15:11:37 -04:00
misterg
63be3dcc24 Googletest export
Clarify build system support - CMake and automake community supported

PiperOrigin-RevId: 245821927
2019-05-03 15:11:22 -04:00
Abseil Team
9f4f27b2a5 Googletest export
Remove GMock Doctor.
It has not been actively supported for a while.
We also now have better techniques to improve compiler errors where needed
instead of requiring a separate tool to diagnose them.

PiperOrigin-RevId: 244196068
2019-04-18 15:45:56 -04:00
misterg
fa52cd6363 Googletest export
Expose more information in SuiteApiResolver diagnostic output

PiperOrigin-RevId: 244179347
2019-04-18 15:45:49 -04:00
Gennadiy Civil
a0d60bed4d Merge pull request #2170 from ngie-eign:issue-2146-ver2
PiperOrigin-RevId: 244069956
2019-04-18 09:44:24 -04:00
David Benjamin
8e9297b503 MSVC C5046 warning is unavailable in MSVC 2015.
Per the MSVC documentation the warning is new as of Visual Studio 2017,
version 15.8.
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5046?view=vs-2019

GTest users building on MSVC 2015 or older versions of 2017 will, when
C4616 is enabled, see a warning like:

[...]gtest-matchers.h(53): error C2220: warning treated as error - no 'object' file generated
[...]gtest-matchers.h(53): warning C4619: #pragma warning: there is no warning number '5046'

Guard the mention of 5046 by an _MSC_VER check. VS2017 15.8 corresponds
to an _MSC_VER of 1915.
https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2019
2019-04-09 18:13:32 -05:00
Ivaylo Kirov
dc62d1e76d
Update ForDummies.md 2019-04-06 22:06:17 -04:00
Enji Cooper
3829b84e99 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
Gennadiy Civil
2efd659a13 Merge pull request #2163 from ngie-eign:cmake-fix-gtest-binary-prefixing-when-gmock-enabled
PiperOrigin-RevId: 241376090
2019-04-01 15:27:49 -04:00
Abseil Team
d982543131 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
9b6de41b5d Prefix googletest binaries under its own subtree instead of gtest
Building all test binaries under their respective subtrees makes
building the project via cmake easier to grok without additional hacks.
In particular, when dealing with the conversion I proposed in
https://reviews.freebsd.org/D19430 (switching from autotools to cmake),
I ran into unexpected gtest prefixing under the googlemock directory, as
opposed to the googletest directory. Example:

Before: `googlemock/gtest/googletest-break-on-failure-unittest_`
After:  `googletest/googletest-break-on-failure-unittest_`

The latter form is easier to translate to packaging manifests when
building googlemock is disabled, as well as enabled, as the path remains
consistent when the feature flag is disabled.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-03-29 15:00:05 -07:00
Gennadiy Civil
10e98c4f2a Merge pull request #2180 from twam:master
PiperOrigin-RevId: 239404016
2019-03-21 10:43:14 -04:00
Abseil Team
f1883b1824 Googletest export
Remove mention of unused type ProtocolMessage.

PiperOrigin-RevId: 239242706
2019-03-21 10:43:06 -04:00
Abseil Team
a4b63e7efb Googletest export
Action helpers need to pass by const& so that they can work with unique_ptr.

PiperOrigin-RevId: 239062671
2019-03-21 10:42:58 -04:00
Seth Raymond
1619ebcf29
DesignDoc Markdown table was broken
Added a missing newline
2019-03-15 09:27:08 -04:00
Gennadiy Civil
8b6d3f9c4a Merge pull request #2158 from CarloWood:master
PiperOrigin-RevId: 236716851
2019-03-05 08:39:41 -05:00
Abseil Team
a1dd07786b Googletest export
Build gmock cleanly with clang -Wextra-semi and -Wextra-semi-stmt

Extends 56ef07a203 to take -Wc++98-compat-extra-semi
(https://reviews.llvm.org/D43162) and -Wextra-semi-stmt
(https://reviews.llvm.org/D52695) into account.

For https://crbug.com/926235.

PiperOrigin-RevId: 236643095
2019-03-05 08:39:28 -05:00
Abseil Team
56ef07a203 Googletest export
Build gmock cleanly with clang -Wextra-semi

For https://crbug.com/926235.
From https://github.com/google/googletest/pull/2139.
Fixes https://github.com/google/googletest/issues/2138.

PiperOrigin-RevId: 235832527
2019-03-01 16:18:17 -05:00
Carlo Wood
fc979623a9 Minor build system fixes. 2019-03-01 08:11:56 +01:00
Gennadiy Civil
c5a792d1b6 Merge pull request #2125 from ngie-eign:clang-unused-parameter
PiperOrigin-RevId: 234844287
2019-02-20 15:22:35 -05:00
Gennadiy Civil
c374893023 Merge pull request #2123 from ngie-eign:clang-inconsistent-missing-override
PiperOrigin-RevId: 234840107
2019-02-20 15:22:28 -05:00
misterg
873e479817 Googletest export
Internal Change

PiperOrigin-RevId: 234823465
2019-02-20 13:35:36 -05:00
Enji Cooper
1c22797cd3 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
5388473acf 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
2147806d2d 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:50 -08:00
Enji Cooper
ed2fe122f8 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
misterg
c4ccab33aa Googletest export
Internal Change

PiperOrigin-RevId: 233614147
2019-02-12 13:20:40 -05:00
Abseil Team
28a96d1834 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
Abseil Team
dda0df3b0a Googletest export
Internal change

PiperOrigin-RevId: 232362580
2019-02-12 13:20:05 -05:00
misterg
52ea4f7bea Googletest export
Mark legacy _TEST_CASE_ macros as deprecated

PiperOrigin-RevId: 232303251
2019-02-04 14:19:50 -05:00
Abseil Team
0ea2d8f8fa Googletest export
Fix stack overflow in AnyOfArray tests.

PiperOrigin-RevId: 231881125
2019-02-01 12:52:31 -05:00
Adam Cozzette
46b81732b6 Fixed "make dist"
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.
2019-01-24 14:51:40 -08:00
Gennadiy Civil
bf07131c1d Merge pull request #2041 from ciband:chore/fix_library_json
PiperOrigin-RevId: 230554814
2019-01-23 13:27:16 -05:00
Abseil Team
fdc59ffd05 Googletest export
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
2019-01-23 13:27:08 -05:00
Abseil Team
569fba4d74 Googletest export
Make internal FunctionMocker class final

PiperOrigin-RevId: 230332778
2019-01-22 13:12:13 -05:00
Abseil Team
9518a57428 Googletest export
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
2019-01-18 14:06:03 -05:00
Abseil Team
0adeadd283 Googletest export
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
2019-01-17 14:41:08 -05:00
Abseil Team
9acd065a90 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
097407fd3c 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
gennadiycivil
50f1a77955 Merge pull request #2051 from enptfb55:master
PiperOrigin-RevId: 228337465
2019-01-08 11:51:17 -05:00
misterg
f31bf1d362 Googletest export
Replace testing::internal::ImplicitlyConvertible with std::is_convertible
Fixes #2054

PiperOrigin-RevId: 228334305
2019-01-08 11:51:05 -05:00
Abseil Team
216c37f057 Googletest export
Drop generated file gmock-generated-internal-utils.h.

PiperOrigin-RevId: 228232195
2019-01-08 11:50:56 -05:00
Chris
45c58aa6f3 fix: Add Arduino setup()/loop() functions back
Added setup()/loop() functions back to *_main.cc files to support compiling in CI.  Future features could enable this for the end user.
2019-01-07 12:37:34 -06:00
gennadiycivil
644319b9f0 Merge pull request #2048 from ciband:chore/clang_tidy
PiperOrigin-RevId: 228173023
2019-01-07 12:09:34 -05:00
Chris Johnson
0ffa5f9779
Merge branch 'master' into chore/fix_library_json 2019-01-03 21:13:20 -06:00
misterg
3a460a26b7 Googletest export
TestCase->TestSuite refactoring

PiperOrigin-RevId: 227702164
2019-01-03 16:40:20 -05:00
Chris
4d62b5b9ae fix: Remove Arduino entry points
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.
2019-01-03 12:12:19 -06:00
Gennadiy Civil
bfcc47fc2f
Merge pull request #2026 from justin6case/example_makefile_improvements
Example/sample makefile improvements
2019-01-03 11:38:47 -05:00
misterg
14c2fba734 Googletest export
Internal Change

PiperOrigin-RevId: 227575279
2019-01-02 16:51:40 -05:00
Abseil Team
f8b1c1af17 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
34a99e547a Googletest export
Get rid of code generation for NiceMock / StrictMock.
They got small enough that it doesn't make sense to generate them.

PiperOrigin-RevId: 226455689
2018-12-21 11:30:20 -05:00