Googletest export

Merge CONTRIBUTORS, delete LICENSEs in googletest/ and googlemock/

PiperOrigin-RevId: 352558822
This commit is contained in:
Abseil Team
2021-01-19 09:57:06 -05:00
committed by CJ Johnson
parent d128fc8252
commit 14098f2015
23 changed files with 916 additions and 149 deletions

View File

@@ -1,8 +1,8 @@
# Advanced googletest Topics
<!-- GOOGLETEST_CM0016 DO NOT DELETE -->
go/gunitadvanced
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
## Introduction

View File

@@ -1,8 +1,8 @@
# Googletest FAQ
<!-- GOOGLETEST_CM0014 DO NOT DELETE -->
go/gunitfaq
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
## Why should test suite names and test names not contain underscore?
@@ -350,7 +350,7 @@ You may still want to use `SetUp()/TearDown()` in the following cases:
* In the body of a constructor (or destructor), it's not possible to use the
`ASSERT_xx` macros. Therefore, if the set-up operation could cause a fatal
test failure that should prevent the test from running, it's necessary to
use `abort` <!-- GOOGLETEST_CM0015 DO NOT DELETE --> and abort the whole test executable,
use `abort` (in google3, use `CHECK`) and abort the whole test executable,
or to use `SetUp()` instead of a constructor.
* If the tear-down operation could throw an exception, you must use
`TearDown()` as opposed to the destructor, as throwing in a destructor leads

View File

@@ -1,10 +1,10 @@
# gMock Cheat Sheet
<!-- GOOGLETEST_CM0019 DO NOT DELETE -->
go/gmockcheat
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
<!-- GOOGLETEST_CM0033 DO NOT DELETE -->
<!--#include file="includes/g3_BUILD_rule.md"-->
## Defining a Mock Class
@@ -229,7 +229,7 @@ and the default action will be taken each time.
## Matchers {#MatcherList}
<!-- GOOGLETEST_CM0020 DO NOT DELETE -->
go/matchers
A **matcher** matches a *single* argument. You can use it inside `ON_CALL()` or
`EXPECT_CALL()`, or use it to validate a value directly using two macros:
@@ -424,9 +424,9 @@ messages, you can use:
| `WhenDynamicCastTo<T>(m)` | when `argument` is passed through `dynamic_cast<T>()`, it matches matcher `m`. |
<!-- mdformat on -->
<!-- GOOGLETEST_CM0026 DO NOT DELETE -->
<!--#include file="includes/g3_proto_matchers.md"-->
<!-- GOOGLETEST_CM0027 DO NOT DELETE -->
<!--#include file="includes/g3_absl_status_matcher.md"-->
### Multi-argument Matchers {#MultiArgMatchers}
@@ -467,7 +467,7 @@ You can make a matcher from one or more other matchers:
| `Not(m)` | `argument` doesn't match matcher `m`. |
<!-- mdformat on -->
<!-- GOOGLETEST_CM0028 DO NOT DELETE -->
<!--#include file="includes/g3_useful_matchers_outsidegmock.md"-->
### Adapters for Matchers
@@ -612,7 +612,7 @@ value, and `foo` by reference.
**Note:** due to technical reasons, `DoDefault()` cannot be used inside a
composite action - trying to do so will result in a run-time error.
<!-- GOOGLETEST_CM0032 DO NOT DELETE -->
<!--#include file="includes/g3_stubby_actions.md"-->
### Composite Actions

View File

@@ -1,6 +1,6 @@
# gMock Cookbook
<!-- GOOGLETEST_CM0012 DO NOT DELETE -->
go/gmockcook
You can find recipes for using gMock here. If you haven't yet, please read
[the dummy guide](gmock_for_dummies.md) first to make sure you understand the
@@ -11,7 +11,7 @@ recommended to write `using ::testing::Foo;` once in your file before using the
name `Foo` defined by gMock. We omit such `using` statements in this section for
brevity, but you should do it in your own code.
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
## Creating Mock Classes
@@ -184,7 +184,7 @@ class MockStack : public StackInterface<Elem> {
### Mocking Non-virtual Methods {#MockingNonVirtualMethods}
gMock can mock non-virtual functions to be used in Hi-perf dependency
injection.<!-- GOOGLETEST_CM0017 DO NOT DELETE -->
injection.[See this](http://go/tott/33)
In this case, instead of sharing a common base class with the real class, your
mock class will be *unrelated* to the real class, but contain methods with the
@@ -830,7 +830,7 @@ A frequently used matcher is `_`, which matches anything:
```cpp
EXPECT_CALL(foo, DoThat(_, NotNull()));
```
<!-- GOOGLETEST_CM0022 DO NOT DELETE -->
<!--#include file="includes/g3_matching_proto_buffers_cookbook_recipe.md"-->
### Combining Matchers {#CombiningMatchers}
@@ -1161,7 +1161,7 @@ Note that the predicate function / functor doesn't have to return `bool`. It
works as long as the return value can be used as the condition in in statement
`if (condition) ...`.
<!-- GOOGLETEST_CM0023 DO NOT DELETE -->
<!--#include file="includes/g3_callbacks_as_matchers.md"-->
### Matching Arguments that Are Not Copyable
@@ -1478,7 +1478,7 @@ mock object and gMock.
### Knowing When to Expect {#UseOnCall}
<!-- GOOGLETEST_CM0018 DO NOT DELETE -->
(go/use-on-call)
**`ON_CALL`** is likely the *single most under-utilized construct* in gMock.
@@ -2171,7 +2171,7 @@ own precedence order distinct from the `ON_CALL` precedence order.
If the built-in actions don't suit you, you can use an existing callable
(function, `std::function`, method, functor, lambda) as an action.
<!-- GOOGLETEST_CM0024 DO NOT DELETE -->
<!--#include file="includes/g3_callback_snippet.md"-->
```cpp
using ::testing::_; using ::testing::Invoke;
@@ -3266,7 +3266,7 @@ If you are interested in the mock call trace but not the stack traces, you can
combine `--gmock_verbose=info` with `--gtest_stack_trace_depth=0` on the test
command line.
<!-- GOOGLETEST_CM0025 DO NOT DELETE -->
<!--#include file="includes/g3_testing_code_stubby_server.md"-->
### Running Tests in Emacs
@@ -4313,4 +4313,4 @@ Although `std::function` supports unlimited number of arguments, `MockFunction`
implementation is limited to ten. If you ever hit that limit... well, your
callback has bigger problems than being mockable. :-)
<!-- GOOGLETEST_CM0034 DO NOT DELETE -->
<!--#include file="includes/g3_content.md"-->

View File

@@ -1,8 +1,8 @@
## Legacy gMock FAQ {#GMockFaq}
<!-- GOOGLETEST_CM0021 DO NOT DELETE -->
go/gmockfaq
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
### When I call a method on my mock object, the method for the real object is invoked instead. What's the problem?
@@ -83,7 +83,7 @@ void Bar(int* p); // Neither p nor *p is const.
void Bar(const int* p); // p is not const, but *p is.
```
<!-- GOOGLETEST_CM0030 DO NOT DELETE -->
<!--#include file="includes/g3_mock_multithreaded.md"-->
### I can't figure out why gMock thinks my expectations are not satisfied. What should I do?
@@ -128,7 +128,7 @@ using ::testing::_;
.Times(0);
```
<!-- GOOGLETEST_CM0031 DO NOT DELETE -->
<!--#include file="includes/g3_mock_a_stubby_server.md"-->
### I have a failed test where gMock tells me TWICE that a particular expectation is not satisfied. Isn't this redundant?

View File

@@ -1,8 +1,8 @@
# gMock for Dummies {#GMockForDummies}
<!-- GOOGLETEST_CM0013 DO NOT DELETE -->
go/gmockfordummies
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
## What Is gMock?
@@ -208,7 +208,7 @@ choosing the adaptor interface can make your code easier to write and more
readable (a net win in the long run), as you can choose `FooAdaptor` to fit your
specific domain much better than `Foo` does.
<!-- GOOGLETEST_CM0029 DO NOT DELETE -->
<!--#include file="includes/g3_wrap_external_api_snippet.md"-->
## Using Mocks in Tests

View File

@@ -1,6 +1,6 @@
## Using GoogleTest from various build systems
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
GoogleTest comes with pkg-config files that can be used to determine all
necessary flags for compiling and linking to GoogleTest (and GoogleMock).

View File

@@ -1,8 +1,8 @@
# Googletest Primer
<!-- GOOGLETEST_CM0036 DO NOT DELETE -->
go/gunitprimer
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
## Introduction: Why googletest?

View File

@@ -1,6 +1,6 @@
<b>P</b>ump is <b>U</b>seful for <b>M</b>eta <b>P</b>rogramming.
<!-- GOOGLETEST_CM0035 DO NOT DELETE -->
[TOC]
# The Problem