3586 Commits

Author SHA1 Message Date
Abseil Team
d9c309fdab Googletest export
Add files for GitHub Pages

PiperOrigin-RevId: 358289110
2021-02-19 13:55:48 -05:00
Abseil Team
daa0df7b41 Googletest export
Explicitly skip tests after fatal global environment setup errors

Previously the tests were all skipped, but the resulting output claimed all
tests passed.

Before:
```
[----------] Global test environment set-up.
<failure message>
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (83 ms total)
[  PASSED  ] 1 test.
[  FAILED  ] 0 tests, listed below:
```

After:
```
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
<failure message>
[----------] 1 test from SomeTest
[ RUN      ] SomeTest.DoesFoo
<...>: Skipped
[  SKIPPED ] SomeTest.DoesFoo (0 ms)
[----------] 1 test from SomeTest (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (68 ms total)
[  PASSED  ] 0 tests.
[  SKIPPED ] 1 test, listed below:
[  SKIPPED ] SomeTest.DoesFoo
[  FAILED  ] 0 tests, listed below:
```

PiperOrigin-RevId: 358026389
2021-02-18 13:27:15 -05:00
Abseil Team
7fb047bca3 Googletest export
Explain how to wrap matchers.

PiperOrigin-RevId: 357901293
2021-02-18 13:27:08 -05:00
Abseil Team
5893778716 Googletest export
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
2021-02-18 13:27:00 -05:00
Abseil Team
bc32a87452 Googletest export
Update the custom name example to not use underscores.

The NOTE a few blocks above specifically calls out that test names should not contain undersccores, so probably the example should not suggest using underscores.

PiperOrigin-RevId: 357204578
2021-02-18 13:26:48 -05:00
Abseil Team
1a5a78b9a9 Googletest export
Add files for GitHub Pages

PiperOrigin-RevId: 357096486
2021-02-18 13:26:40 -05:00
Abseil Team
9e2c7ab0d8 Googletest export
Add issue templates

PiperOrigin-RevId: 357075859
2021-02-18 13:26:32 -05:00
Abseil Team
0a3a3a845e Googletest export
Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard, attempt #2

PiperOrigin-RevId: 357056902
2021-02-18 13:26:24 -05:00
Abseil Team
e935e6c387 Googletest export
Internal change

PiperOrigin-RevId: 356867746
2021-02-18 13:26:12 -05:00
Abseil Team
609281088c Googletest export
Docs cleanup

PiperOrigin-RevId: 356798444
2021-02-11 12:49:54 -05:00
Abseil Team
eac6a02cc2 Googletest export
Mark move constructor noexcept

PiperOrigin-RevId: 356772642
2021-02-11 12:49:46 -05:00
Andy Soffer
e09d2b6a79 Merge pull request #3216 from corentinmusard:master
PiperOrigin-RevId: 356610323
2021-02-11 12:49:33 -05:00
Abseil Team
d4144d4ee2 Googletest export
Revert include guard fix

PiperOrigin-RevId: 356588893
2021-02-11 12:49:24 -05:00
Abseil Team
0b4ecf54ca Internal change
PiperOrigin-RevId: 356572459
2021-02-11 12:49:17 -05:00
Andy Soffer
e165773418 Merge pull request #3262 from platisd:master
PiperOrigin-RevId: 356568444
2021-02-11 12:49:08 -05:00
Abseil Team
af058521ad Googletest export
Fix #2987
Removing const before passing any types through UniversalPrinter.

PiperOrigin-RevId: 356508875
2021-02-11 12:49:00 -05:00
Abseil Team
9c2293af06 Googletest export
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
2021-02-11 12:48:52 -05:00
Abseil Team
36b7792047 Googletest export
Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard

PiperOrigin-RevId: 355882793
2021-02-11 12:48:43 -05:00
platisd
46b188577b Do not include void into mocked method arguments
If a function that takes no arguments explicitly states (void)
then do not include it in the mocked method argument list
since it triggers static assertions that expect no arguments
to be present.

Fixes (?) #3261
2021-02-05 21:30:10 +01:00
Abseil Team
f3ef7e173f Googletest export
Fix table formatting in cookbook

PiperOrigin-RevId: 355659722
2021-02-05 10:41:32 -08:00
dmauro
9e975a022e Googletest export
Disable Travis CI. The migration to travis-ci.com is incompatible with
security policy. These tests are now run on Kokoro.

PiperOrigin-RevId: 355438343
2021-02-05 10:41:23 -08:00
Abseil Team
7e73533abc Googletest export
Delete Google-internal IWYU pragmas

PiperOrigin-RevId: 355398547
2021-02-05 10:41:10 -08:00
Abseil Team
b6323d216d Googletest export
Add a note to recommend against using `Property()` for functions that the test author does not own.

PiperOrigin-RevId: 355295183
2021-02-05 10:41:02 -08:00
Abseil Team
aea7f60bf5 Googletest export
Update description of `Property()` matcher

PiperOrigin-RevId: 355253498
2021-02-05 10:40:53 -08:00
Abseil Team
8599d312ce Googletest export
Fix terminal output formatting in advanced guide

PiperOrigin-RevId: 355233178
2021-02-05 10:40:45 -08:00
dmcardle
fd873f6d7d Googletest export
Use linear-time string globbing in UnitTestOptions::MatchesFilter.

Algorithm is based on https://research.swtch.com/glob.

Closes #3227

PiperOrigin-RevId: 355222440
2021-02-05 10:40:36 -08:00
Abseil Team
f4e7727cf4 Googletest export
Fix includes in fuse_gmock_files.py

PiperOrigin-RevId: 355166403
2021-02-05 10:40:23 -08:00
Abseil Team
8c269618a4 Googletest export
Stop referring to Google's internal libraries in FAQ

PiperOrigin-RevId: 355060895
2021-02-05 10:40:10 -08:00
Abseil Team
f23cf00027 Googletest export
Address `-Wpedantic` issue introduced in https://github.com/google/googletest/pull/3204

Raised via 4898cdacfe (commitcomment-46413996)

PiperOrigin-RevId: 354198931
2021-02-05 10:39:47 -08:00
Abseil Team
726118846d Googletest export
Document the fact that MatchAndExplain(T, MatchResultListener*) is supported.

PiperOrigin-RevId: 354172275
2021-02-05 10:39:39 -08:00
Abseil Team
d114398800 Googletest export
Remove uses of GTEST_HAS_TYPED_TEST_P and GTEST_HAS_TYPED_TEST.

PiperOrigin-RevId: 353935996
2021-02-05 10:39:30 -08:00
Abseil Team
273f8cb059 Googletest export
Add missing `is_gtest_matcher` to the polymorphic matcher example.

PiperOrigin-RevId: 353881883
2021-01-26 15:43:54 -05:00
Abseil Team
8a7618672a Googletest export
Delete internal tags from docs

PiperOrigin-RevId: 353769887
2021-01-26 15:43:46 -05:00
Abseil Team
3351eba0aa Googletest export
Delete obsolete comment, gtest-param-test.h isn't generated by pump anymore

PiperOrigin-RevId: 353680589
2021-01-26 15:43:38 -05:00
CJ Johnson
0fe14e2cd9 Merge pull request #3231 from dreamer:po/fix-primer-link
PiperOrigin-RevId: 353327372
2021-01-26 15:43:29 -05:00
Abseil Team
e3827e4e40 Googletest export
Updates the gMock cheat sheet to include the versions of the Field and Property matchers which take an additional name parameter.

PiperOrigin-RevId: 353273968
2021-01-26 15:43:20 -05:00
Abseil Team
a1dde9b182 Googletest export
| `IsEmpty()`             | `argument` is an empty string.                     |

PiperOrigin-RevId: 352880252
2021-01-26 15:43:12 -05:00
ofats
59dea67b81 Googletest export
Remove scripts for code generating together with related files.

PiperOrigin-RevId: 352805926
2021-01-26 15:43:04 -05:00
Abseil Team
997c36c188 Googletest export
Stop using pump for generating internal/custom/gmock-generated-actions.h

PiperOrigin-RevId: 352660735
2021-01-26 15:42:55 -05:00
CJ Johnson
4898cdacfe Merge pull request #3204 from kuzkry:CmpHelperXX-overloads-removal
PiperOrigin-RevId: 352626267
2021-01-26 15:42:45 -05:00
Abseil Team
2c06d021d6 Googletest export
Internal change

PiperOrigin-RevId: 352607401
2021-01-26 15:42:30 -05:00
krzysio
17922f344c Googletest export
Remove obsolete argument limit documentation.

Combine uses variadic templates now, so there is no inherent limit on the number of arguments.

PiperOrigin-RevId: 352580160
2021-01-26 15:42:21 -05:00
Abseil Team
14098f2015 Googletest export
Merge CONTRIBUTORS, delete LICENSEs in googletest/ and googlemock/

PiperOrigin-RevId: 352558822
2021-01-26 15:42:13 -05:00
Patryk Obara
f31c82efe6
Fix link to Google Test Primer
Markdown file was moved to a different directory. When googling for
"gtest primer", the result is 404 page.
2021-01-16 14:06:02 +01:00
Abseil Team
d128fc8252 Googletest export
Fixes #3222, fixes #3225, closes #3223

PiperOrigin-RevId: 352066131
2021-01-15 15:54:03 -05:00
Derek Mauro
5ae6e6e7e1 Merge pull request #3214 from kuzkry:broken-link
PiperOrigin-RevId: 352044381
2021-01-15 15:53:55 -05:00
Abseil Team
41ecb10253 Googletest export
Internal change

PiperOrigin-RevId: 352002166
2021-01-15 15:53:47 -05:00
Abseil Team
b0eaf9d841 Googletest export
Internal change

PiperOrigin-RevId: 351864506
2021-01-15 15:53:39 -05:00
Derek Mauro
a3c9bb99f1 Merge pull request #3206 from davidben:format-attr-2
PiperOrigin-RevId: 351812507
2021-01-15 15:53:30 -05:00
Abseil Team
a2f906be69 Googletest export
Add "using is_gtest_matcher = void" to the DivisibleBy7Matcher example.

PiperOrigin-RevId: 351797821
2021-01-15 15:53:22 -05:00
Krystian Kuzniarek
1b4e47767f fix a broken link 2021-01-15 12:04:18 +01:00
dmauro
6c58c11d54 Googletest export
Remove platformio tests. This currently uses gcc 4.8.2 which is no
longer supported.

PiperOrigin-RevId: 351667999
2021-01-13 20:59:51 -05:00
dmauro
0186caf753 Googletest export
Fix build under GCC 5

PiperOrigin-RevId: 351607537
2021-01-13 20:59:44 -05:00
Abseil Team
6b2e74905e Googletest export
Print unique_ptr/shared_ptr recursively.
Given that they are smart pointers, it is unlikely that the inner object is
invalid.

PiperOrigin-RevId: 351586888
2021-01-13 20:59:36 -05:00
Abseil Team
50ce520161 Googletest export
Launder buffer before reference

In GCC, directly casting the Buffer reference to another type results in
strict-aliasing violation errors. This launders the reference using an
intermediate pointer prior to creating the new reference.

PiperOrigin-RevId: 350809323
2021-01-13 20:59:28 -05:00
Abseil Team
c13c27a513 Googletest export
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
2021-01-13 20:59:20 -05:00
Abseil Team
489283524e Googletest export
Move all docs into top-level docs/ directory

PiperOrigin-RevId: 350211277
2021-01-13 20:59:12 -05:00
Abseil Team
996b65e64e Googletest export
Fix Objective-C++ compatibility

PiperOrigin-RevId: 350192165
2021-01-13 20:59:05 -05:00
Abseil Team
f8304d762e Googletest export
Add support for printing incomplete types in the universal printer.

PiperOrigin-RevId: 350154637
2021-01-13 20:58:57 -05:00
Abseil Team
95a9bdd9f9 Googletest export
Use an OrderedDict to store templated_types in the AST so that gmock knows how to properly construct the templated Mock class.

This is necessary for functions that make use of the templated typename as an argument or return type.

PiperOrigin-RevId: 349405731
2021-01-13 20:58:49 -05:00
Derek Mauro
d72813110c Merge pull request #3189 from ellert:gtest-help-test-GNU/kFreeBSD
PiperOrigin-RevId: 349349288
2021-01-13 20:58:40 -05:00
Corentin Musard
e6e2f3f455
Simplify cmake install file 2021-01-11 19:05:45 +01:00
David Benjamin
28041f6428 Restore GTEST_ATTRIBUTE_PRINTF_ on ColoredPrintf
This fixes build issues with GoogleTest when built with
-Wformat-nonliteral and unblocks updating GoogleTest in BoringSSL.

It was added in 53c478d639b8eebd2942e88266610ebc79c541f6, which caught
some bugs. Then it was moved to the header and accidentally dropped in
482ac6ee63429af2aa9c44f4e6427873fb68fb1f.
2021-01-06 12:01:34 -05:00
Krystian Kuzniarek
100ffc33f5 remove explicit function overloads of CmpHelper?? for BiggestInt arguments
Affects macros {ASSERT|EXPECT}_{EQ|NE|LE|LT|GE|GT}.

According to removed comments, these overloads were supposed to reduce
code bloat and allow anonymous enums on GCC 4.

However, the way it works on GCC 4 and the latest GCC (10.2 by now) is
that having:

template <typename T1, typename T2>
void foo(T1, T2);

using BiggestInt = long long;
void foo(BiggestInt, BiggestInt);

the template version takes precedence for almost every combination of
integral types except for two long long integers - i.e. implicit
promotion to long long is a worse match than generating a specific
template function.

Tested on GCC 4.8.1 (as GoogleTest requires C++11 and this was
the first C++11 feature-complete release of GCC),
GCC 4.8.5 (last of 4.8.x series) and the latest GCC (10.2.0).
2021-01-03 15:04:52 +01:00
Derek Mauro
389cb68b87 Merge pull request #3094 from chuckatkins:update-deprecated-cmake-version
PiperOrigin-RevId: 349296827
2020-12-28 13:32:06 -05:00
Mattias Ellert
ed1bf86846 Fix gtest-help-test failure on GNU/kFreeBSD 2020-12-25 14:58:19 +01:00
Abseil Team
ca4b7c9ff4 Googletest export
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
2020-12-22 12:15:41 -05:00
dmauro
4f6fa70870 Googletest export
Internal Change

PiperOrigin-RevId: 347631521
2020-12-22 12:15:22 -05:00
Abseil Team
18f8200e30 Googletest export
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
2020-12-11 22:11:39 -05:00
Abseil Team
5a509dbd2e Googletest export
Remove ZX_WAIT_ASYNC_ONCE flag

It is deprecated and will soon be removed in fuchsia source.
It's currently defined as 0 and references should be changed to 0.

PiperOrigin-RevId: 346787585
2020-12-10 17:56:33 -05:00
dmauro
fb4b3b6b9a Googletest export
Fix a missing Bazel build dependency

PiperOrigin-RevId: 346783462
2020-12-10 17:56:26 -05:00
Abseil Team
e5644f5f12 Googletest export
Introduce a new `Address` matcher to gmock.

PiperOrigin-RevId: 346344591
2020-12-08 19:15:35 -05:00
Abseil Team
8779937dd0 Googletest export
Fix errata in gmock cook_book.md ON_CALL example

PiperOrigin-RevId: 346165890
2020-12-07 18:04:19 -05:00
Abseil Team
a02a591605 Googletest export
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
2020-12-07 18:04:12 -05:00
Andy Getz
7bf5057a04 Merge pull request #3159 from malcops:master
PiperOrigin-RevId: 346160291
2020-12-07 18:04:04 -05:00
Abseil Team
d0e0529af9 Googletest export
Update README to clarify supported platforms

PiperOrigin-RevId: 346140983
2020-12-07 18:03:56 -05:00
malcops
4fac06b455 Fix typo in CLI help message 2020-12-05 12:37:44 -05:00
Abseil Team
93748a9466 Googletest export
Disable a gmock matcher test under MSVC 2015 (version 14) and earlier.  It interacts badly with Windows structured exceptions in a way we do not have the resources to investigate.  This test passes under MSVC 2017 and SEH.

PiperOrigin-RevId: 345496734
2020-12-03 15:42:58 -05:00
Abseil Team
141e959496 Googletest export
Remove `status` from our internal Subprocess utility.

This facility is unused, so better to just remove it than figure out what its cross-OS semantics should be.

PiperOrigin-RevId: 345279290
2020-12-02 18:23:54 -05:00
Abseil Team
73979ee1b9 Googletest export
Check for a high bit to see if a return value is a signal or an error code in googletest/test.

This is needed because for subprocess under python3 windows, a return value representing a C signal (such as 0x80000003) is represented as a large positive integer rather than a negative one.

PiperOrigin-RevId: 345270460
2020-12-02 18:23:46 -05:00
Abseil Team
b8c4edf95b Googletest export
Include TargetConditionals.h before checking TARGET_OS_IPHONE

New versions of Clang require that you include TargetConditionals.h before checking the TARGET_OS_* macros. Include it where appropriate to keep the compiler happy.

PiperOrigin-RevId: 345106443
2020-12-02 18:23:38 -05:00
dmauro
d737069111 Googletest export
Fix the TravisCI build by updating the required tools

PiperOrigin-RevId: 344882646
2020-12-02 18:23:22 -05:00
Abseil Team
1544828d27 Googletest export
Put "value" in SetArgReferee's description between code backticks.

PiperOrigin-RevId: 344054658
2020-12-02 18:23:14 -05:00
Abseil Team
b1fbd33c06 Googletest export
Internal change: Add self-shortlink

PiperOrigin-RevId: 343960442
2020-11-24 03:46:27 -05:00
Abseil Team
efe703618c Googletest export
Update note on static const data members for C++17.

Using `constexpr` provides a tidier solution, where applicable.

PiperOrigin-RevId: 343276402
2020-11-24 03:46:19 -05:00
Gennadiy Rozental
60b8906d14 Merge pull request #3114 from marbre:FindPython
PiperOrigin-RevId: 342977338
2020-11-24 03:46:09 -05:00
Derek Mauro
36d8eb5320 Merge pull request #3118 from vinsonlee:initialize-TestInfo-is_in_another_shard_
PiperOrigin-RevId: 342731771
2020-11-17 14:41:11 -05:00
Vinson Lee
341429be36 Initialize TestInfo member is_in_another_shard_ in constructor.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2020-11-13 17:23:11 -08:00
Abseil Team
9dce5e5d87 Googletest export
Use override instead of virtual for destructor

https://google.github.io/styleguide/cppguide.html says: "Explicitly annotate overrides of virtual functions or virtual destructors with exactly one of an override or (less frequently) final specifier. Do not use virtual when declaring an override". The mocked class _should_ have a virtual destructor most of the times.

PiperOrigin-RevId: 342082140
2020-11-13 10:57:24 -05:00
Abseil Team
0e202cdbe3 Googletest export
Use environment variable TEST_TMPDIR in Linux environments
for temporary directory if available otherwise use /tmp/.

Bazel sets the environment variable TEST_TMPDIR when launching tests.

PiperOrigin-RevId: 342058921
2020-11-12 13:32:42 -05:00
Abseil Team
a1adec799a Googletest export
Use a tagged constructor for FlatTuple instead.
Some versions of MSVC are getting confused with that constructor and generating invalid code.

PiperOrigin-RevId: 342050957
2020-11-12 13:32:33 -05:00
dmauro
e7ed50fd13 Googletest export
Disable the wide character printing tests that were discovered to fail
under MSVC. Created a bug to debug this.

PiperOrigin-RevId: 341886318
2020-11-12 13:32:23 -05:00
dmauro
d385a77297 Googletest export
Fix *_THROW tests under MSVC, which produce slightly different type
names from std::type_info (e.g. "class std::runtime_error" instead of
"std::runtime_error")

PiperOrigin-RevId: 341874178
2020-11-12 13:32:13 -05:00
dmauro
336fd36fee Googletest export
Rollback change from
https://github.com/google/googletest/pull/1836. This change generates
a script on Windows to actually run each test, but the script itself
doesn't correctly report if the test passed.

This change will "break tests" that were already broken on Windows,
but weren't being reported as such.

PiperOrigin-RevId: 341850671
2020-11-12 13:32:03 -05:00
Abseil Team
b4999a1e2b Googletest export
Remove unreachable code when GTEST_CUSTOM_TEMPDIR_FUNCTION_ is defined.

PiperOrigin-RevId: 341810264
2020-11-11 11:11:04 -05:00
Marius Brehler
826e9f25a1 Refactor finding python
Use `find_package(Python ..)` if available, instead of the deprecated
`find_package(PythonInterp)` CMake module.
2020-11-11 16:12:11 +01:00
Mark Barolak
035de8c7fd Merge pull request #3109 from hyukmyeong:typo
PiperOrigin-RevId: 341604515
2020-11-10 15:22:27 -05:00
Mark Barolak
cda3906456 Merge pull request #3090 from knutpett:working_dir_on_diskless
PiperOrigin-RevId: 341604408
2020-11-10 15:22:17 -05:00
Abseil Team
fbef0711cf Googletest export
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
2020-11-09 15:43:33 -05:00
Abseil Team
0c400f67fc Googletest export
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
2020-11-09 15:43:24 -05:00