3541 Commits

Author SHA1 Message Date
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
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
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