Commit Graph

1304 Commits

Author SHA1 Message Date
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
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
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
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
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
Abseil Team
41ecb10253 Googletest export
Internal change

PiperOrigin-RevId: 352002166
2021-01-15 15:53:47 -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
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
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 53c478d639, which caught
some bugs. Then it was moved to the header and accidentally dropped in
482ac6ee63.
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
dmauro
4f6fa70870 Googletest export
Internal Change

PiperOrigin-RevId: 347631521
2020-12-22 12:15:22 -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
malcops
4fac06b455 Fix typo in CLI help message 2020-12-05 12:37:44 -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
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
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
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
Knut Petter Svendsen
e5686bb18b Only save original working directory if death tests are enabled
On a diskless system you cannot get the current directory. So if
death tests are disabled anyway, there is no point trying to
get current directory.

Without this fix, running tests on diskless systems will fail,
even when death tests are disabled.
2020-11-09 10:04:43 +01:00
Hyuk Myeong
87347d5455 fix typos 2020-11-08 16:36:57 +09:00
Andy Getz
fb98f7447e Merge pull request #3008 from hyukmyeong:update_tutorial
PiperOrigin-RevId: 340286884
2020-11-02 22:26:39 -05:00
Andy Getz
9fd2843866 Merge pull request #2714 from kuzkry:remove-repeated-include
PiperOrigin-RevId: 340266002
2020-11-02 22:26:31 -05:00
Chuck Atkins
32f4f52d95 Bump CMake minimum to 2.8.12 2020-10-30 11:31:54 -04:00
Elliott Brossard
bd619dee05 Add instructions for sanitizer integration 2020-10-27 15:31:34 +00:00