| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update docs to point to the github.io pages.
PiperOrigin-RevId: 367711335
|
| | |
| | |
| | | |
An incorrect link is output to the user when these conditions are met.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Internal change
PiperOrigin-RevId: 362040448
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 361213113
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update stale links to `gmock_cook_book.md`.
I'm a new googletest user and found these links broken when reading the documentation.
PiperOrigin-RevId: 357786392
|
| | |
| | |
| | |
| | |
| | |
| | | |
Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard, attempt #2
PiperOrigin-RevId: 357056902
|
| | |
| | |
| | |
| | |
| | |
| | | |
Mark move constructor noexcept
PiperOrigin-RevId: 356772642
|
| | |
| | |
| | |
| | |
| | |
| | | |
Revert include guard fix
PiperOrigin-RevId: 356588893
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix build for MinGW + clang
In [1], empty_bases "is only supported when using the Microsoft C++ ABI." Disable it for MinGW.
https://clang.llvm.org/docs/AttributeReference.html#empty-bases
PiperOrigin-RevId: 356373782
|
| | |
| | |
| | |
| | |
| | |
| | | |
Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard
PiperOrigin-RevId: 355882793
|
| | |
| | |
| | |
| | |
| | |
| | | |
Remove uses of GTEST_HAS_TYPED_TEST_P and GTEST_HAS_TYPED_TEST.
PiperOrigin-RevId: 353935996
|
| | |
| | |
| | |
| | |
| | |
| | | |
Remove scripts for code generating together with related files.
PiperOrigin-RevId: 352805926
|
| | |
| | |
| | |
| | |
| | |
| | | |
Stop using pump for generating internal/custom/gmock-generated-actions.h
PiperOrigin-RevId: 352660735
|
| | |
| | |
| | |
| | |
| | |
| | | |
Internal change
PiperOrigin-RevId: 352607401
|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge CONTRIBUTORS, delete LICENSEs in googletest/ and googlemock/
PiperOrigin-RevId: 352558822
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change Matcher<T> to allow binding an implementation by value directly:
- Drop the requirement of MatcherInterface. Doing manual type erasure avoid
extra layers in many cases.
- Avoid the adaptor for `MatcherInterface<T>` and `MatcherInterface<const T&>` mismatch.
- Use a small object optimization when possible. This makes things like
`_` and `Eq(1)` really cheap and do not require memory allocations.
- Migrate some matchers to the new model to speed them up and to test the new framework. More matchers to come in future changes.
PiperOrigin-RevId: 350580998
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Give each of Naggy/Nice/StrictMock a base class whose constructor runs before
the mocked class's constructor, and a destructor that runs after the mocked
class's destructor, so that any mock methods run in either the constructor or
destructor use the same strictness as other calls.
PiperOrigin-RevId: 348511612
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add static_asserts that verify that no class hierarchy contains more than one
of {NiceMock, NaggyMock, StrictMock}. This sort of nesting has always been
disallowed, but this CL adds a compile-time check to prevent it.
PiperOrigin-RevId: 347037822
|
| |
| |
| |
| |
| |
| | |
Introduce a new `Address` matcher to gmock.
PiperOrigin-RevId: 346344591
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a `Pointer` matcher as an analog to `Pointee`.
Similar to `Pointee`, `Pointer` works with either raw or smart pointers and
allows creating a matcher like Pointer(Eq(foo)) for smart pointers.
PiperOrigin-RevId: 346164768
|
| |
| |
| |
| |
| |
| |
| | |
Use a tagged constructor for FlatTuple instead.
Some versions of MSVC are getting confused with that constructor and generating invalid code.
PiperOrigin-RevId: 342050957
|
| |
| |
| |
| |
| |
| |
| |
| | |
Change ACTION{,_Pn,_TEMPLATE} macros to build functors rather than ActionInterface<> subclasses, thus changing the Action<> wrappers they create to use the modernized (non-const) argument tuple type, allowing these macros to mutate their arguments.
Functor-based Action<>s deep-copy the implementing object, so have the functors use a shared_ptr to the non-trivial state of bound value parameters. No longer specialize that shared state to the particular action signature, encoding that information instead only in the instantiation of the implementation function.
PiperOrigin-RevId: 341116208
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GMock: Make Truly explain when it fails
I just wrote a test that had a matcher of the form
Optional(AllOf(
SomeMatcher,
SomeOtherMatcher,
Truly(SomePredicate)))
The predicate failed, the other two matchers succeeded, and I got a hard-to-interpret message saying that the value in the optional "didn't match". Didn't match what?
This change improves situations like that slightly by having Truly explain to its result listener when it fails. When there are multiple Trulys in an AllOf, there will be some ambiguity, but it will at least provide more information than right now.
PiperOrigin-RevId: 341105141
|
| |
| |
| |
| |
| |
| | |
Add support for ref qualifiers in MOCK_METHOD.
PiperOrigin-RevId: 341047839
|
| |
| |
| |
| |
| |
| | |
Rewrite InvokeArgument action without using pump.
PiperOrigin-RevId: 340861582
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove obsolete comment about non-const references.
They used to be banned by the C++ style guide, but positions shifted, and this comment is no longer up to date.
There's another reference (heh) on lines 816-819 to how gmock is a "general framework", with the possible implication that support for non-const references was weird in some way and only there to be "general", but I left it alone because I don't really feel I understand what it's saying.
PiperOrigin-RevId: 339323428
|
| |
| |
| |
| |
| |
| |
| | |
Fixes build warnings from previous CL
Add CMake to internal presubmit to prevent these
PiperOrigin-RevId: 337325504
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Aralox:Issue-2135-modify-mock-template-args-AX-to-TArgX
PiperOrigin-RevId: 337217118
|
| | |
| | |
| | |
| | | |
A1, A2, ... to TArg1, TArg2,... to avoid clash with legacy header files
|
|/ /
| |
| |
| |
| | |
Add ::testing::FieldsAre matcher for objects that support get<> and structured bindings.
PiperOrigin-RevId: 337165285
|
| |
| |
| |
| |
| |
| | |
Fix typo
PiperOrigin-RevId: 333745750
|
| |
| |
| |
| |
| |
| | |
Reduce the demangled name bloat of the Action constructor.
PiperOrigin-RevId: 332234887
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mark ACTION_Pn()-generated functions as must-use-result.
This catches when a client creates an action and discards it, thinking that the action has actually been applied to something.
This will help people who make the mistake of defining, for example, both `void Use(Foo*)` and `ACTION(Use) { Use(arg); }` for later application to a Foo. With such an overload, a client may then write `Use();`, forgetting the param and being confused why nothing happens.
This also catches when a client defines their own action in terms of an ACTION()-generated one, invokes the ACTION's builder, and then fails to invoke the resulting action, thinking it's operating on the outer action's parameters.
PiperOrigin-RevId: 330614454
|
| |
| |
| |
| |
| |
| |
| |
| | |
Replace uses of ACTION_TEMPLATE and ACTION_P with manually written functors.
The latter provide better error diagnostics.
This fixes https://github.com/google/googletest/issues/2729.
PiperOrigin-RevId: 328573022
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Workaround static assert in early versions libc++
The error is "Attempted to construct a reference element in a tuple with an
rvalue". We can fix this by putting everything into a non temporary tuple_args
and implitly convert to the other tuple types. This avoids binding an rvalue
reference to an lvalue reference inside the tuple.
PiperOrigin-RevId: 327624990
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 327294137
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
nitpicks.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This PR adds matchers that accept a callable and verify that when invoked, it throws an exception with the given type and properties.
Fixes #952
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix DoAll to work with move-only sink arguments.
This changes types of the first n - 1 actions so that they only get a readonly
view of the arguments. The last action will accept move only objects.
PiperOrigin-RevId: 327031893
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix DoAll to work with move-only sink arguments.
This changes types of the first n - 1 actions so that they only get a readonly
view of the arguments. The last action will accept move only objects.
PiperOrigin-RevId: 324619666
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Fix DoAll to work with move-only sink arguments.
This changes types of the first n - 1 actions so that they only get a readonly
view of the arguments. The last action will accept move only objects.
PiperOrigin-RevId: 324600664
|
| |
| |
| |
| |
| |
| | |
Stop using ADL for InvokeArgument action.
PiperOrigin-RevId: 323234396
|
| |
| |
| |
| |
| |
| |
| |
| | |
Improve compatibility with strict compilers targeting Windows
Remove an unnecessary ##, which could result in warnings about invalid preprocessor tokens when pasting to an initial '('
PiperOrigin-RevId: 319277617
|
| |
| |
| |
| |
| |
| | |
Change string matchers, like HasSubstr, to accept `string_view` input if available.
PiperOrigin-RevId: 315726484
|
| |
| |
| |
| |
| |
| | |
Rollback of warning on unused ACTION result change
PiperOrigin-RevId: 313380971
|