aboutsummaryrefslogtreecommitdiffstats
path: root/googlemock
Commit message (Collapse)AuthorAgeFilesLines
* Googletest exportAbseil Team2019-02-121-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Googletest exportAbseil Team2019-02-121-146/+0
| | | | | | Internal change PiperOrigin-RevId: 232362580
* Googletest exportmisterg2019-02-041-4/+4
| | | | | | Mark legacy _TEST_CASE_ macros as deprecated PiperOrigin-RevId: 232303251
* Googletest exportAbseil Team2019-02-011-2/+2
| | | | | | Fix stack overflow in AnyOfArray tests. PiperOrigin-RevId: 231881125
* Fixed "make dist"Adam Cozzette2019-01-241-1/+0
| | | | | | 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.
* Merge pull request #2041 from ciband:chore/fix_library_jsonGennadiy Civil2019-01-233-7/+17
|\ | | | | | | PiperOrigin-RevId: 230554814
| * fix: Add Arduino setup()/loop() functions backChris2019-01-071-0/+14
| | | | | | | | Added setup()/loop() functions back to *_main.cc files to support compiling in CI. Future features could enable this for the end user.
| * Merge branch 'master' into chore/fix_library_jsonChris Johnson2019-01-0326-1183/+344
| |\
| * | fix: Remove Arduino entry pointsChris2019-01-032-17/+16
| | | | | | | | | | | | | | | | | | 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.
* | | Googletest exportAbseil Team2019-01-232-0/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Googletest exportAbseil Team2019-01-221-1/+1
| | | | | | | | | | | | | | | | | | Make internal FunctionMocker class final PiperOrigin-RevId: 230332778
* | | Googletest exportAbseil Team2019-01-183-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Googletest exportAbseil Team2019-01-177-496/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Googletest exportAbseil Team2019-01-142-27/+92
| | | | | | | | | | | | | | | | | | Add move-only argument support to almost all remaining matchers. PiperOrigin-RevId: 229030728
* | | Googletest exportAbseil Team2019-01-143-97/+8
| | | | | | | | | | | | | | | | | | | | | Deduplicate testing::ReferenceWrapper with std::reference_wrapper. Minor cleanups in matchers_test. PiperOrigin-RevId: 229022872
* | | Merge pull request #2051 from enptfb55:mastergennadiycivil2019-01-081-7/+23
|\ \ \ | | |/ | |/| | | | PiperOrigin-RevId: 228337465
* | | Googletest exportmisterg2019-01-081-4/+4
| | | | | | | | | | | | | | | | | | | | | Replace testing::internal::ImplicitlyConvertible with std::is_convertible Fixes #2054 PiperOrigin-RevId: 228334305
* | | Googletest exportAbseil Team2019-01-0810-576/+135
| | | | | | | | | | | | | | | | | | Drop generated file gmock-generated-internal-utils.h. PiperOrigin-RevId: 228232195
* | | Merge pull request #2048 from ciband:chore/clang_tidygennadiycivil2019-01-071-23/+7
|\ \ \ | |/ / |/| | | | | PiperOrigin-RevId: 228173023
* | | Googletest exportmisterg2019-01-031-4/+4
| | | | | | | | | | | | | | | | | | TestCase->TestSuite refactoring PiperOrigin-RevId: 227702164
* | | Merge pull request #2026 from justin6case/example_makefile_improvementsGennadiy Civil2019-01-031-7/+23
|\ \ \ | | | | | | | | Example/sample makefile improvements
| * | | Improvements have been made to the example/sample makefiles for both googlemockCase, Matt2018-12-201-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | and googletest. Library files are now created and named like versions produced by Cmake.
* | | | Googletest exportmisterg2019-01-026-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | Internal Change PiperOrigin-RevId: 227575279
* | | | Googletest exportAbseil Team2019-01-0213-180/+24
| |/ / |/| | | | | | | | | | | | | | | | | | | | Remove the #ifs for old, unsupported and buggy compilers: * old versions of GCC & MSVC * Symbian PiperOrigin-RevId: 227116941
* | | Googletest exportAbseil Team2018-12-215-169/+6
|/ / | | | | | | | | | | | | Get rid of code generation for NiceMock / StrictMock. They got small enough that it doesn't make sense to generate them. PiperOrigin-RevId: 226455689
* | Googletest exportAbseil Team2018-12-201-56/+20
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Googletest exportAbseil Team2018-12-2014-467/+19
| | | | | | | | | | | | Unifdef c++11-related macros from googletest now that it requires C++11. PiperOrigin-RevId: 225905601
* | Googletest exportmisterg2018-12-171-4/+0
| | | | | | | | | | | | Suppress C4503 for MCVS , again PiperOrigin-RevId: 225895719
* | Googletest exportmisterg2018-12-171-0/+2
| | | | | | | | | | | | Suppress C4503 for MCVS PiperOrigin-RevId: 225871050
* | Googletest exportAbseil Team2018-12-171-28/+17
| | | | | | | | | | | | Remove GTEST_REFERENCE_TO_CONST_ usage from GMock. In C++11, it's redundant. PiperOrigin-RevId: 225719210
* | Googletest exportAbseil Team2018-12-172-16/+121
| | | | | | | | | | | | Allow container matchers to accept move-only containers. PiperOrigin-RevId: 225667441
* | Googletest exportAbseil Team2018-12-173-165/+40
|/ | | | | | Replace pump'd code for DoAll with variadic templates. PiperOrigin-RevId: 225584656
* Merge pull request #2000 from ciband:feat/add_support_platformioGennadiy Civil2018-12-141-0/+17
|\ | | | | | | PiperOrigin-RevId: 225552792
| * feat: Add initial support for PlatformIO and ArduinoChris Johnson2018-12-041-0/+16
| |
* | Googletest exportmisterg2018-12-139-12/+12
| | | | | | | | | | | | Internal Change PiperOrigin-RevId: 225231727
* | Googletest exportAbseil Team2018-12-122-7/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Googletest exportmisterg2018-12-112-96/+7
| | | | | | | | | | | | rollback of 224929783 PiperOrigin-RevId: 225008559
* | Googletest exportAbseil Team2018-12-112-7/+96
|/ | | | | | | | | | | | | | 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
* Googletest exportAbseil Team2018-12-042-3/+12
| | | | | | Deduce SizeType for SizeIs() from the return value of the size() member function PiperOrigin-RevId: 223835674
* Googletest exportAbseil Team2018-12-0313-174/+156
| | | | | | Applied fixes for ClangTidy modernize-use-override and modernize-use-using. PiperOrigin-RevId: 223800219
* Googletest exportAbseil Team2018-12-035-655/+233
| | | | | | Replace pump'd Args() matcher with variadic templates. PiperOrigin-RevId: 223794430
* Googletest exportdurandal2018-11-281-149/+0
| | | | | | Accept gmock matchers in EXPECT_EXIT and friends to allow matches other than simple regex matches on death output. PiperOrigin-RevId: 223035409
* Googletest exportmisterg2018-11-201-2/+2
| | | | | | Fix broken OSS build PiperOrigin-RevId: 222244158
* Googletest exportAbseil Team2018-11-201-5/+7
| | | | | | Remove unintended dependency. PiperOrigin-RevId: 222243874
* Googletest exportAbseil Team2018-11-201-2/+0
| | | | | | Remove redundant Base/Derived types. PiperOrigin-RevId: 222243634
* Googletest exportmisterg2018-11-201-0/+10
| | | | | | Silence C4100 msvc warning PiperOrigin-RevId: 222242329
* Googletest exportmisterg2018-11-209-12/+12
| | | | | | Internal Change PiperOrigin-RevId: 222123106
* Googletest exportAbseil Team2018-11-201-0/+204
| | | | | | Add stringization based tests for gmock-pp.h macros PiperOrigin-RevId: 221961835
* Googletest exportAbseil Team2018-11-204-7/+79
| | | | | | Validate spec modifiers. PiperOrigin-RevId: 221810235
* Googletest exportdurandal2018-11-202-717/+3
| | | | | | 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