498 Commits

Author SHA1 Message Date
Abseil Team
30a8ce53d8 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
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
gennadiycivil
bd3d66c5f4 Merge pull request #2051 from enptfb55:master
PiperOrigin-RevId: 228337465
2019-01-08 11:51:17 -05:00
misterg
b04ba50ca8 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
7958cbe199 Googletest export
Drop generated file gmock-generated-internal-utils.h.

PiperOrigin-RevId: 228232195
2019-01-08 11:50:56 -05:00
Chris
9536b82e87 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
2c1a7a3d4f Merge pull request #2048 from ciband:chore/clang_tidy
PiperOrigin-RevId: 228173023
2019-01-07 12:09:34 -05:00
Chris Johnson
8d9f5e665a Merge branch 'master' into chore/fix_library_json 2019-01-03 21:13:20 -06:00
misterg
94b4464c9e Googletest export
TestCase->TestSuite refactoring

PiperOrigin-RevId: 227702164
2019-01-03 16:40:20 -05:00
Chris
53527583a8 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
4d41005af2 Merge pull request #2026 from justin6case/example_makefile_improvements
Example/sample makefile improvements
2019-01-03 11:38:47 -05:00
misterg
92feb4d617 Googletest export
Internal Change

PiperOrigin-RevId: 227575279
2019-01-02 16:51:40 -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
9162c72aeb 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
9793b2ae13 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
fd2d6ad71b 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
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
misterg
1290dc93f3 Googletest export
Suppress C4503 for MCVS , again

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

PiperOrigin-RevId: 225871050
2018-12-17 15:37:31 -05:00
Abseil Team
592a6c675d 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
a59a5353aa Googletest export
Allow container matchers to accept move-only containers.

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

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

PiperOrigin-RevId: 225231727
2018-12-13 16:00:11 -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
Chris Johnson
0c47500d26 feat: Add initial support for PlatformIO and Arduino 2018-12-04 21:44:39 -06: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
durandal
0bd64b024a 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
1c0c9391d5 Googletest export
Fix broken OSS build

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

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

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

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

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

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

PiperOrigin-RevId: 221810235
2018-11-20 13:29:40 -05:00
durandal
064abddc5f 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
03ab019046 Googletest export
Upgrade WithArgs family of actions to C++11.

PiperOrigin-RevId: 221671690
2018-11-20 13:29:12 -05:00
Abseil Team
792e898e09 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
4b79fb3001 Googletest export
One macro to rule them all.

PiperOrigin-RevId: 221462515
2018-11-15 16:11:19 -05:00
Gennadiy Civil
60941c0f3b Merge pull request #1959 from robinlinden:remove-msvc-workarounds
PiperOrigin-RevId: 221356626
2018-11-13 21:10:42 -05:00
Abseil Team
84059939ef 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
1f17e0376a Remove workarounds for unsupported MSVC versions 2018-11-10 15:20:26 +01:00
Abseil Team
e8153f252b 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
b6a0bb1499 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
2fefe5aaf1 Correct grammatical error in README.md 2018-10-31 12:56:21 -04:00