Commit Graph

689 Commits

Author SHA1 Message Date
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
Case, Matt
b93a13ec4d Improvements have been made to the example/sample makefiles for both googlemock
and googletest.
Library files are now created and named like versions produced
by Cmake.
2018-12-20 20:58:56 -06:00
Abseil Team
9494c45e75 Googletest export
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
2018-12-20 14:09:39 -05:00
Abseil Team
e26a3fa13c 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
misterg
9ab640ce5e Googletest export
Suppress C4503 for MCVS , again

PiperOrigin-RevId: 225895719
2018-12-17 17:57:39 -05:00
misterg
7515e39943 Googletest export
Suppress C4503 for MCVS

PiperOrigin-RevId: 225871050
2018-12-17 15:37:31 -05:00
Abseil Team
b7dd66519f Googletest export
Remove GTEST_REFERENCE_TO_CONST_ usage from GMock. In C++11, it's redundant.

PiperOrigin-RevId: 225719210
2018-12-17 13:53:39 -05:00
Abseil Team
1ec20f87e3 Googletest export
Allow container matchers to accept move-only containers.

PiperOrigin-RevId: 225667441
2018-12-17 13:53:33 -05:00
Abseil Team
096fb37a19 Googletest export
Replace pump'd code for DoAll with variadic templates.

PiperOrigin-RevId: 225584656
2018-12-17 13:53:26 -05:00
Gennadiy Civil
b5f5c596a9 Merge pull request #2000 from ciband:feat/add_support_platformio
PiperOrigin-RevId: 225552792
2018-12-14 13:54:43 -05:00
misterg
81f0026066 Googletest export
Internal Change

PiperOrigin-RevId: 225231727
2018-12-13 16:00:11 -05:00
Abseil Team
6ef5913813 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
6cbd3753dc Googletest export
rollback of 224929783

PiperOrigin-RevId: 225008559
2018-12-11 11:36:30 -05:00
Abseil Team
06bb8d4d6d 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
Chris Johnson
2c8ab3f18b
feat: Add initial support for PlatformIO and Arduino 2018-12-04 21:44:39 -06:00
Abseil Team
3d71ab4c37 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
26743363be 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
a42cdf2abd Googletest export
Replace pump'd Args() matcher with variadic templates.

PiperOrigin-RevId: 223794430
2018-12-03 12:54:02 -05:00
durandal
b22d23667b Googletest export
Accept gmock matchers in EXPECT_EXIT and friends to allow matches other than simple regex matches on death output.

PiperOrigin-RevId: 223035409
2018-11-28 23:10:17 -05:00
misterg
a3013cceff Googletest export
Fix broken OSS build

PiperOrigin-RevId: 222244158
2018-11-20 13:30:32 -05:00
Abseil Team
f7779eb3cb Googletest export
Remove unintended dependency.

PiperOrigin-RevId: 222243874
2018-11-20 13:30:24 -05:00
Abseil Team
64368e0584 Googletest export
Remove redundant Base/Derived types.

PiperOrigin-RevId: 222243634
2018-11-20 13:30:16 -05:00
misterg
bb7c0ecbdf Googletest export
Silence C4100 msvc warning

PiperOrigin-RevId: 222242329
2018-11-20 13:30:06 -05:00
misterg
b492666068 Googletest export
Internal Change

PiperOrigin-RevId: 222123106
2018-11-20 13:29:55 -05:00
Abseil Team
c2989fe29b Googletest export
Add stringization based tests for gmock-pp.h macros

PiperOrigin-RevId: 221961835
2018-11-20 13:29:47 -05:00
Abseil Team
5dab7be70d Googletest export
Validate spec modifiers.

PiperOrigin-RevId: 221810235
2018-11-20 13:29:40 -05:00
durandal
8e86f67261 Googletest export
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
2018-11-20 13:29:20 -05:00
Abseil Team
aac18185eb Googletest export
Upgrade WithArgs family of actions to C++11.

PiperOrigin-RevId: 221671690
2018-11-20 13:29:12 -05:00
Abseil Team
e46e87bb1f Googletest export
Unify implementation of GMOCK_PP_REPEAT and GMOCK_PP_FOREACH.

PiperOrigin-RevId: 221659669
2018-11-20 13:29:02 -05:00
Abseil Team
c5f08bf919 Googletest export
One macro to rule them all.

PiperOrigin-RevId: 221462515
2018-11-15 16:11:19 -05:00
Gennadiy Civil
7a0680dc22 Merge pull request #1959 from robinlinden:remove-msvc-workarounds
PiperOrigin-RevId: 221356626
2018-11-13 21:10:42 -05:00
Abseil Team
b18d39bd2e Googletest export
Include type_traits header

ElementsAre, UnorderedElementsAre, AllOf, and AnyOf are all defined in terms of std::decay, which is in the type_traits header.

PiperOrigin-RevId: 220818637
2018-11-13 09:20:47 -05:00
Robin Lindén
826656b25f
Remove workarounds for unsupported MSVC versions 2018-11-10 15:20:26 +01:00
Abseil Team
de5be0eb28 Googletest export
Move FunctionMocker and MockFunction out of the pump file and implement with variadic templates.

PiperOrigin-RevId: 220640265
2018-11-08 14:49:12 -05:00
krzysio
105579a6e4 Googletest export
Improve Bazel build files.

New target gtest_prod allows access to the FRIEND_TEST macro without depending on the entirety of GTest in production executables. Additionally, duplicate config_setting rules were removed and formatting was adjusted.

PiperOrigin-RevId: 220279205
2018-11-07 14:37:18 -05:00
Jerry Turcios
11319f1c63 Correct grammatical error in README.md 2018-10-31 12:56:21 -04:00
misterg
e857f9cdd9 Googletest export
Remove scoped_ptr replace with std::unique_ptr

PiperOrigin-RevId: 219291284
2018-10-30 21:20:43 -04:00
Alex Konradi
39de88cb9c Add Optional() to the cheat sheet doc.
The Optional() matcher is otherwise undocumented except in the source.
This patch adds it to the cheat sheet for better visibility.
2018-10-29 17:19:53 -04:00
Gennadiy Civil
e9085769d4 Merge pull request #1941 from barkovv:master
PiperOrigin-RevId: 219134349
2018-10-29 13:46:24 -04:00
misterg
80b43d900b Googletest export
Remove linked_ptr and use std::shared_ptr instead

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

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

PiperOrigin-RevId: 218571466
2018-10-26 14:19:51 -04:00
Gennadiy Civil
20eaf6e3a9 Merge pull request #1911 from BrukerJWD:isnice
PiperOrigin-RevId: 218384341
2018-10-23 15:13:42 -04:00
Sergio Valverde
58a8da64ce
ACTION table format 2018-10-23 07:57:23 +02:00
Gennadiy Civil
572050dd28 Merge pull request #1905 from fandjelo:relocatable-pkgconfig-fix
PiperOrigin-RevId: 217923705
2018-10-22 11:28:57 -04:00
Abseil Team
29b47e45cf Googletest export
C++11 code cleanup.

PiperOrigin-RevId: 217364243
2018-10-18 11:32:16 -04:00
Gennadiy Civil
2c19680bf9
Merge branch 'master' into relocatable-pkgconfig-fix 2018-10-17 09:51:26 -07:00
Jonathan Wendeborn
0cefda7749
Removed last reference to internal::kDefault 2018-10-16 08:51:33 +02:00
Jonathan Wendeborn
96d1615772
Merge branch 'isnice' of https://github.com/BrukerJWD/googletest into isnice 2018-10-16 08:38:34 +02:00
BrukerJWD
8c82ba48e4
Merge branch 'master' into isnice 2018-10-16 08:37:56 +02:00
Jonathan Wendeborn
386391b014
Use existing Mock::GetReactionOnUninterestingCalls() 2018-10-16 08:37:45 +02:00
Jonathan Wendeborn
6bbf911a8d
Don't fully qualify enum member 2018-10-16 08:19:02 +02:00
Jonathan Wendeborn
67a240a107
Added Mock::IsNaggy, IsNice, and IsStrict 2018-10-16 08:07:15 +02:00
Gennadiy Civil
a651a4d44e Merge pull request #1908 from rwoldberg:master
PiperOrigin-RevId: 216909845
2018-10-12 16:12:32 -04:00
Robert Woldberg
dec3b81a08 Change types to remove cast warnings. 2018-10-12 11:12:55 -06:00
Abseil Team
bc6a4ce380 Project import generated by Copybara.
PiperOrigin-RevId: 216423319
2018-10-11 12:44:00 -04:00
misterg
0e71eb069a Internal Change
PiperOrigin-RevId: 216417182
2018-10-11 12:43:52 -04:00
Filipp Andjelo
095b3113e7 Use pcfiledir for prefix in pkgconfig file
Using absolute paths in the pkg-config file makes it not relocatable and
leads to problems, when trying to use it with precompiled cross
toolchains. Setting prefix to relative path based on pcfiledir makes it
more reliable for such cases.
2018-10-11 14:09:57 +02:00
misterg
78761b58fc Remove non-variadic pre C++11 AnyOf
PiperOrigin-RevId: 216411381
2018-10-09 16:30:37 -04:00
Abseil Team
7d3b73c85a 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
5434989dbd Remove testing::internal::BothOfMatcher, no longer needed
PiperOrigin-RevId: 216389313
2018-10-09 16:25:51 -04:00
Gennadiy Civil
272c08380a
Delete CHANGES
We are not maintaining change log, it has not been touched for a long time
2018-10-09 11:16:06 -04:00
misterg
4ac07de8de Fixing AllOfMatches test, where it properly belongs
PiperOrigin-RevId: 216193701
2018-10-08 17:07:05 -04:00
misterg
fab35920ad Remove non-variadic pre C++11 AllOf
PiperOrigin-RevId: 216183352
2018-10-08 10:51:03 -04:00
Abseil Team
4bb49ed640 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
Matthieu
f5260ae757 Merge c798e39a4f into e93da23920
Closes #1836

PiperOrigin-RevId: 215461025
2018-10-02 17:41:16 -04:00
Marco Bubke
7796273056 Merge 86fe8a25eb into 440527a61e
Closes #1867

PiperOrigin-RevId: 215392714
2018-10-02 13:03:35 -04:00
misterg
ba974c97ac Googletest export
Remove non-variadic pre C++11 ElementsAreMatcher and UnorderedElementsAreMatcher

PiperOrigin-RevId: 214266944
2018-09-25 13:05:17 -04:00
Matthieu Longo
0a18c106ac [msys] pass big object file option to assembler for target gmock-matchers_test 2018-09-18 18:28:29 +02:00
Gennadiy Civil
28c2989eea
Merge pull request #1837 from google/9A681768AABE08D1EFA5CA77528236A4
Googletest export
2018-09-14 11:43:05 -04:00
Abseil Team
ffc9baeb4c 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
Gennadiy Civil
5c89346def
Update README.md 2018-09-13 17:22:16 -04:00
Romain Geissler
93b05da26c Fix gcc misleading indentation again. 2018-09-10 01:45:14 +02:00
Arkady Shapkin
e6c407d605 Fix doc links 2018-09-04 23:07:18 +03:00
Gennadiy Civil
990bf4ffd1
Merge branch 'master' into fix-gmock-pkgconfig 2018-09-04 10:59:31 -04:00
Arkady Shapkin
de9675986f Update documentation to syntax highlight code 2018-09-03 21:56:23 +03:00
David Seifert
79875d320e
pkgconfig: Unconditionally depend on GTest when using GMock
* GTest is a required dependency for GMock, hence
  we always need to pull it in.
2018-09-02 16:25:18 +02:00
misterg
a5cc7aa3fe Googletest export
Fix broken OSS windows build.

PiperOrigin-RevId: 210969049
2018-08-30 21:33:10 -04:00
misterg
2cc008538c Googletest export
Internal Change

PiperOrigin-RevId: 210594341
2018-08-30 21:32:41 -04:00
Gennadiy Civil
9ad739833e
Update gmock-matchers.h 2018-08-29 22:32:08 -04:00
Abseil Team
65d03530e6 Googletest export
Fix line that was wrapping in the middle of a link

This looks uglier, but has the advantage that the link is kept in one
piece.

PiperOrigin-RevId: 210537337
2018-08-28 16:53:52 -04:00
Gennadiy Civil
ebb2fca51a
Merge branch 'master' into fix-1764_CMake-errors-in-googlemock 2018-08-27 13:25:45 -04:00
Abseil Team
a0e62d9f1a 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
Dakota Hawkins
b19292e6b6
Use $<INSTALL_PREFIX> in target_include_directories
To make sure packages are relocatable, use `$<INSTALL_PREFIX>` in
`$<INSTALL_INTERFACE:...>` `target_include_directories`.

`$<INSTALL_PREFIX>` was introduced in CMake 2.8.11, which is already
being checked for locally.

References:

- https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#id19
- https://github.com/robotology/how-to-export-cpp-library/blob/claudio/headeronly/src/LibTemplateCMake/CMakeLists.txt#L42

Signed-off-by: Dakota Hawkins <dakotahawkins@gmail.com>
2018-08-24 16:51:55 -04:00
Will Vining
08aa7c67dd Fix #1764 Remove cmake code that leads to a configuration error
This step is no longer necessary. The configuration given in the
googletest README.md is sufficient to bring in all the googlemock
headers.
2018-08-24 12:52:32 -06:00
Stefano Soffia
aff0379441 Install CMake export files
Rework of the closed pull request #768
2018-08-22 17:27:11 +02:00
Dakota Hawkins
759ef7c4e9
Improve CMake exported targets.
I _think_ this represents some of the "best practices" for exporting
targets. They'll be available in a `googletest::` namespace (e.g.
`googletest::gmock`) with non-namespaced `ALIAS` targets.

- Added GOOGLETEST_VERSION variable
- Use `CMakePackageConfigHelpers`, bump minimum CMake version to 2.8.8

Signed-off-by: Dakota Hawkins <dakotahawkins@gmail.com>
2018-08-21 13:02:09 -04:00
Gennadiy Civil
a6e7ba27c7
Merge branch 'master' into josh/fix_scoped_class2 2018-08-20 16:15:04 -04:00
misterg
df428ec118 googletest export
- 209457654 Import of OSS PR, https://github.com/google/googletest/pu... by misterg <misterg@google.com>

PiperOrigin-RevId: 209457654
2018-08-20 14:50:48 -04:00
Henry Schreiner
a65a993a3c
Merge branch 'master' into cleanup-cmake 2018-08-17 13:52:35 +02:00
Gennadiy Civil
21e518557a
Merge branch 'master' into josh/fix_scoped_class2 2018-08-16 11:13:12 -04:00
Abseil Team
ca87cc72e2 googletest export
- 208874130 Copybara tweaks, testing various round-trip sutuations(fu... by misterg <misterg@google.com>
  - 208880646 Fix header guards and remove special case copybara by misterg <misterg@google.com>
  - 208874252 Copybara tweaks for googletest reversible transform by misterg <misterg@google.com>
  - 208853103 Adding a flow to export PR from GitHub into Google3 and a... by misterg <misterg@google.com>
  - 208708150 Removing leakr-sensitive words.  by misterg <misterg@google.com>
  - 208672083 Import of OSS PR 1665 by misterg <misterg@google.com>
  - 208663904 Remove LEAKR "author" warnings for googletest copybara ex... by misterg <misterg@google.com>
  - 208646244 Incrementally finalizing OSS<->google3 transforms by misterg <misterg@google.com>
  - 208548323 Move custom google3 only code to custom/ by misterg <misterg@google.com>
  - 208234974 Removed scrubs, replaced with reversible transforms by misterg <misterg@google.com>
  - 208211213 Move custom tests under custom by misterg <misterg@google.com>
  - 208082996 Replace of OSS insert with reversible replace by misterg <misterg@google.com>
  - 208072299 Replace scrubs with reversible replaces, incrementally ge... by misterg <misterg@google.com>
  - 208059357 Replace scrub with reversible replace by misterg <misterg@google.com>
  - 208055415 Fixing GCC brace warning that shows up in OSS with GCC8 a... by misterg <misterg@google.com>
  - 207933728 Incrementally getting close to the reversible transformat... by misterg <misterg@google.com>
  - 207917581 Removing stripping with replace dictionary entries to eas... by misterg <misterg@google.com>
  - 207911026 Incremental Tweaks, on the way to reversible google3<-> g... by misterg <misterg@google.com>
  - 207905179 Removing unnecessary comments stripping by misterg <misterg@google.com>
  - 207901741 Fix typo in Fuchsia death-test implementation. by Abseil Team <absl-team@google.com>
  - 207776408 Move custom tests into /custom by misterg <misterg@google.com>
  - 207746583 Remove stripping for printer for absl:variant by misterg <misterg@google.com>
  - 207733597 Suppress default exception handling for death-test proces... by Abseil Team <absl-team@google.com>
  - 207719598 Import of googletest from Github. by misterg <misterg@google.com>
  - 207283991 PR1673, extra parentheses in declaration cause GCC 8.1.1 ... by misterg <misterg@google.com>
  - 206986279 Fix Duplicate definition, (original in googletest-test_te... by misterg <misterg@google.com>
  - 206980794 Allow googletest-json-output unitest to handle supporting... by misterg <misterg@google.com>
  - 206957064 Refactor to avoid OSS round-trip transformation problems ... by misterg <misterg@google.com>
  - 206760733 Fixed weird syntax in these tests that was causing OSS tr... by misterg <misterg@google.com>
  - 206750694 Tweak copybara,  by misterg <misterg@google.com>
  - 206611945 Make files consistent to enable copybara round-trip trans... by misterg <misterg@google.com>
  - 206589404 OSS changes to open source two more tests by misterg <misterg@google.com>
  - 206355044 Fixing copybara (was missing comment) by misterg <misterg@google.com>
  - 206323492 Make reversible transforms possible for Copybara OSS<->go... by misterg <misterg@google.com>
  - 206011852 Consolidate various copybara files into one file. by misterg <misterg@google.com>
  - 205999518 remove weird char, should be space. pump and generated .h... by misterg <misterg@google.com>
  - 205897244 Small cleanups to avoid potentially hard-to-reverse OSS t... by misterg <misterg@google.com>
  - 205894405 Simplifying include path for tests. by misterg <misterg@google.com>
  - 205892873 Removing obsolete files by misterg <misterg@google.com>
  - 205873647 Simplifying include path for samples. by misterg <misterg@google.com>
  - 205712910 Continue restructuring, will have common copybara file to... by misterg <misterg@google.com>
  - 205711819 Removing non-ASCII chars by misterg <misterg@google.com>
  - 205702635 Refactor internal googletest name to match OSS Name by misterg <misterg@google.com>
  - 205403311 Comments change by misterg <misterg@google.com>
  - 205246538 OSS community (https://github.com/google/googletest/pull/... by misterg <misterg@google.com>
  - 205242422 Moving RE2 into custom where it rightfully belongs by misterg <misterg@google.com>
  - 205138666 Add a 3-ary Property() matcher overload for ref-qualified... by Abseil Team <absl-team@google.com>
  - 205128154 Automated g4 rollback of changelist 205108639. by misterg <misterg@google.com>
  - 205108639 Moving RE2 into custom where it rightfully belongs by misterg <misterg@google.com>
  - 205102342 Comment link fix by misterg <misterg@google.com>
  - 205097052 OSS sync, still need to worry about not C++11 by misterg <misterg@google.com>
  - 205080271 Keeping up with the changes, ensure that the code still t... by misterg <misterg@google.com>
  - 204815384 Mark the various RE legacy versions of the matchers as de... by Abseil Team <absl-team@google.com>
  - 204744294 OSS, someone noticed that if GTEST_HAS_EXCEPTIONS is set ... by misterg <misterg@google.com>
  - 204363541 Add stacktrace support to the non-Google3 version of Goog... by Abseil Team <absl-team@google.com>
  - 204330832 Google Test: absl::variant is now open source, so add the by Abseil Team <absl-team@google.com>
  - 204130690 Bringing in OSS PR 1647 by misterg <misterg@google.com>
  - 203979061 Set 'reason' field for leakr.disable_check() transformati... by Abseil Team <absl-team@google.com>
  - 203954557 Fixing comments, otherwise copybara leaves extra "//" in ... by misterg <misterg@google.com>
  - 203487065 Correctly handle legacy regular expressions in googletest... by Abseil Team <absl-team@google.com>
  - 201997367 Remove references to GTEST_HAS_PROTOBUF_. by Abseil Team <absl-team@google.com>
  - 201735597 Upgrade gUnit from RE to RE2 -- Step 3/4 by Abseil Team <absl-team@google.com>
  - 201229160 Upgrade gUnit from RE to RE2 -- Step 1/4 by Abseil Team <absl-team@google.com>
  - 201228020 Remove extra copy of gunit samples - there should really ... by misterg <misterg@google.com>
  - 200602156 Eliminate GTEST_TEST_FILTER_ENV_VAR_. by Abseil Team <absl-team@google.com>
  - 200500026 Make RegisterTasks faster by Abseil Team <absl-team@google.com>
  - 200361990 Add IWYU pragmas to gmock headers. by Abseil Team <absl-team@google.com>
  - 200292286 Fix speling by Abseil Team <absl-team@google.com>
  - 200222319 Adding docs to copybara. by misterg <misterg@google.com>
  - 199815917 Fuchsia: Change fdio include path. by Abseil Team <absl-team@google.com>
  - 199195290 Remove launchpad dependency from Fuchsia. by Abseil Team <absl-team@google.com>
  - 199134849 Add printer for std::nullptr_t. by Abseil Team <absl-team@google.com>
  - 198710999 Properly decay variadic matchers by Abseil Team <absl-team@google.com>
  - 197733704 WIP - copybara script capable of google3-to-github  by misterg <misterg@google.com>
  - 197166689 Keeping up, sync cl/197012432 to combined "googletest" di... by misterg <misterg@google.com>
  - 196253300 Keep up with changes,cl/196162435 by misterg <misterg@google.com>
  - 195816901 go/googletest-plan by misterg <misterg@google.com>
  - 195816542 Moving http://cl/167016557 and http://cl/195690905 into c... by misterg <misterg@google.com>
  - 195712930 Following up for http://cl/195677772 More fixing typos, p... by misterg <misterg@google.com>
  - 195702162 Moving http://cl/195020996 into combined dir by misterg <misterg@google.com>
  - 195677772 Fix typos, the original IWYU was  by misterg <misterg@google.com>
  - 195249681 go/googletest-plan , Combine gUnit and gMock into third_p... by misterg <misterg@google.com>

PiperOrigin-RevId: 208874130
2018-08-15 17:15:36 -04:00
Gennadiy Civil
1246e5807a
Merge branch 'master' into cleanup-cmake 2018-08-15 13:02:54 -07:00
Gennadiy Civil
02671abb44
Merge branch 'master' into cmake-binary-dir-fix 2018-08-14 14:25:05 -07:00