Commit Graph
100 Commits
Author SHA1 Message Date
Abseil Team 912db74253 Defined a testing::SrcDir() function that returns the name of a directory
where ancillary data files can be found.

PiperOrigin-RevId: 487896836
Change-Id: Ie6b1ba734e900fa33872b63090879ee6efe33411
2022-11-11 12:59:10 -08:00
Abseil Team 6b63c98ac4 Remove incorrect GTEST_ATTRIBUTE_UNUSED_ from InSequence class.
Fixes: #4048
PiperOrigin-RevId: 486951561
Change-Id: I4fae101b5ac5ed4f46c32aba8c36519e1f784db1
2022-11-08 07:58:14 -08:00
Abseil Team 386c7665f5 RecordProperty serializes ints and 64-bit ints, including size_ts
PiperOrigin-RevId: 486685761
Change-Id: I164d2646e65670d341dbf437ee571953c456677a
2022-11-07 09:36:56 -08:00
Abseil Team a4f02ef389 Fix typo in documentation of ConvertGenerator()
PiperOrigin-RevId: 486316328
Change-Id: I91d5d5ba1aaf4a4ab14019c8963e7fe181722f95
2022-11-05 01:07:38 -07:00
Abseil Team 66366cea56 Add documentation for --gunit_recreate_environments_when_repeating.
PiperOrigin-RevId: 485895339
Change-Id: I09b0f535941531ef7bcb74593d385891d56b3e32
2022-11-03 09:35:31 -07:00
Abseil Team 03597a01ee Clarify that parameter generator does not evaluate immediately
This aims to avoid confusion as to what kinds of computations are valid inside
a parameter generator expression, calling out flags as a supported use case.

PiperOrigin-RevId: 483397027
Change-Id: I2d036fae95120d617f30a5566ea7498ce1f9bfb6
2022-10-24 09:02:02 -07:00
Abseil Team 6bad847991 CMake: Add GTEST_HAS_ABSL build option for using Absl
PiperOrigin-RevId: 482101793
Change-Id: I1bd140fd6a325f573c8a0c464e4dccd4acd0d0a3
2022-10-18 21:40:24 -07:00
Abseil Team f372c76026 Adds Win32 UNC path support to FilePath::IsAbsolutePath() and FilePath::IsRootDirectory() in GoogleTest
Fixes: #3025
PiperOrigin-RevId: 481932601
Change-Id: I90fcb5b3d189aea79a0fd18735bad038b3511270
2022-10-18 08:52:33 -07:00
Abseil Team 137b6e2770 Terse printing of std::reference_wrapper hides pointer
This matches the intention and documentation of terse printing which generally avoids printing the pointer.

PiperOrigin-RevId: 481178950
Change-Id: I27039dac1870934d2d5b212e2cc7e97ab82c5b34
2022-10-14 10:32:49 -07:00
Abseil Team d29b143bda Workaround for Visual C++ error C2039 with std::tuple_element_t.
Fixes #3931

PiperOrigin-RevId: 480659507
Change-Id: I6fabef63b1285189a06375227273d9de2456e37a
2022-10-12 10:31:07 -07:00
Abseil Team 9fbb657503 Update the POSIX Extended section of the Regular Expression Wikipedia page
PiperOrigin-RevId: 479667644
Change-Id: I4ab03bd5f0520f8586667de8bd1b9443f241337a
2022-10-07 14:21:04 -07:00
Abseil Team 67e264834a [fuchsia] Use __builtin_trap to trigger gunit_break_on_failure on non-x86 arch
In developing tests for the fuchsia debugger, it was found that in addition to catching gtest failures (which are implemented as software breakpoints) we also see PageFault exceptions, caused by this nullptr dereference.

PiperOrigin-RevId: 479365782
Change-Id: I84d805d94c2e46b6f3c982ca1ae49c6ac3ed3430
2022-10-06 11:22:36 -07:00
Abseil Team 08935483cb Makes Clang compilations via Ninja on Windows define _DLL only for shared CRT builds, as one would already expect from MSVC builds. (Previously, static Clang/Ninja builds on Windows also implicitly defined _DLL, which was problematic.)
PiperOrigin-RevId: 479113168
Change-Id: I252d9be90fd33df75dab922e62b197208830d124
2022-10-05 12:27:31 -07:00
Abseil Team 93f08be653 Uses a simpler mechanism to disable the copying of GoogleTest test suites, to move code out of the TEST_P macro.
PiperOrigin-RevId: 478031678
Change-Id: I45f0ce17a4add526c86b8212d836d98d63b3a193
2022-09-30 10:55:15 -07:00
Abseil Team d1a0039b97 Rollback: Moves boilerplate disabling copy constructor/assignment from GoogleTest's TEST_P macro into a header file to avoid triggering warnings in user code.
PiperOrigin-RevId: 477566426
Change-Id: Ia417e295d839f43be6e61a5699457866108f2a01
2022-09-28 15:24:50 -07:00
Abseil Team 19387c9dd5 Rollback: Uses a simpler mechanism to disable the copying of GoogleTest test suites.
PiperOrigin-RevId: 477560280
Change-Id: I1c1f5a1d6645859ec38cb1a75cd267816d2aff35
2022-09-28 14:59:04 -07:00
Abseil Team c43b916a96 Uses a simpler mechanism to disable the copying of GoogleTest test suites.
PiperOrigin-RevId: 477549427
Change-Id: I6421ca09f0f1296cebdc3e54565049f1542dfa8a
2022-09-28 14:14:58 -07:00
Abseil Team 4924e0610a Moves boilerplate disabling copy constructor/assignment from GoogleTest's TEST_P macro into a header file to avoid triggering warnings in user code.
Fixes #4015

PiperOrigin-RevId: 477513399
Change-Id: Ia21928ee12e85946b4c8db86835d225cb257eecc
2022-09-28 11:55:57 -07:00
Abseil Team dfa6735236 Add GoogleTest workaround for MSVC crash with Address Sanitizer (ASAN) on version 17.3.3
PiperOrigin-RevId: 477240422
Change-Id: I894037850617252e462783c0885e30fc8e7ad122
2022-09-27 12:09:46 -07:00
Abseil Team c29315dda4 Use UnorderedElementsAre in example about using matchers with maps
PiperOrigin-RevId: 473353707
Change-Id: Ief5bdbd2b8e28bac8f47be9aaeac4bb93875a793
2022-09-09 15:14:57 -07:00
Abseil Team 0f6885405c Remove obsolete MSVC warning pragmas for Invalid<T>()
Remove the MSVC pragmas for disabling warning C4717 (infinite recursion) for
Invalid<T>() because that warning has been fixed in cl/441474979.

PiperOrigin-RevId: 473012585
Change-Id: I5f1bf88379bd4f2bf005e029c04766ac4caadd84
2022-09-08 09:42:31 -07:00
Abseil Team 0e0d9feefa Fixed header guards to match style guide conventions.
PiperOrigin-RevId: 471524660
Change-Id: Ie11e6a7a5a5497f64d5b9c382f1017094e043093
2022-09-01 07:25:03 -07:00
Abseil Team afd902e992 Consider all TERM values ending in "-256color" to be color supporting. In particular this handles TERM=hterm-256color correctly.
PiperOrigin-RevId: 470232889
Change-Id: Iea594a3fde2b8b0a10e527956d70ba0bb3452e08
2022-08-26 06:35:30 -07:00
Abseil Team dd7a9d29a3 Add support of 18-member structs to gmock UnpackStructImpl.
PiperOrigin-RevId: 463961734
Change-Id: Ib62e320a745c190955f181c1f4f12e4cd407ef22
2022-07-28 17:15:30 -07:00
Abseil Team d9335595b4 Add support of 17-member structs to gmock UnpackStructImpl.
PiperOrigin-RevId: 458018249
Change-Id: I7df8f75ef5b5a6478e7301f959c221810ff9f0b3
2022-06-29 11:10:54 -07:00
Abseil Team 9406a60c78 Mark internal-only function as having internal linkage.
PiperOrigin-RevId: 457550818
Change-Id: I9046801b64ce4581d742d650451332fd56489632
2022-06-27 13:16:09 -07:00
Abseil Team 8b521aa43a gmock_cook_book.md: Delete superfluous statement from 2014.
PiperOrigin-RevId: 454677195
Change-Id: I7a1419e22d617db41a5c310bc6f6158ba4cec1ab
2022-06-13 12:51:26 -07:00
Abseil Team b1f84bf176 Update googletest docs to indicate that RE2 is now used for regexp implementation when building with Bazel and using Abseil.
PiperOrigin-RevId: 454012698
Change-Id: I3a9df78368ffe3cb7cf3d315001125b97b1aebbe
2022-06-09 14:25:17 -07:00
Abseil Team 49c6185ae7 Remove undefined internal function.
Fixes #3856

PiperOrigin-RevId: 453992227
Change-Id: I5f3330a454bdcd6b0522ebba4cdfe2c888f8e638
2022-06-09 12:57:51 -07:00
Abseil Team 548b13dc3c Fix internal files
PiperOrigin-RevId: 452053766
Change-Id: I9498e8809f5e66e42cfa365199a5bbc41462a533
2022-05-31 08:33:31 -07:00
Abseil Team cf942a5d69 Update GoogleTest documentation's spelling of "GoogleTest".
PiperOrigin-RevId: 451067898
Change-Id: I658ab92c4ea616736f0170ac4d1548bb15a944e2
2022-05-25 19:18:09 -07:00
Abseil Team 7041051488 Clarify the pitfalls of EXPECT_THAT and highlight it's best practices
PiperOrigin-RevId: 450721917
Change-Id: I34d63a65b7158975abd46a9a14cded75439e7e7f
2022-05-24 10:57:53 -07:00
Abseil Team 8a011b8a38 Add clarifying comments about when to use EXPECT_NONFATAL_FAILURE vs. EXPECT_FATAL_FAILURE.
PiperOrigin-RevId: 448237839
Change-Id: Id6242f278912f8c47cf19e3ea8c061f8b18ba832
2022-05-12 06:58:02 -07:00
Abseil Team 5e6a533680 Do a consistent way of searching for a temporary directory.
The way temporary directories were discovered from
environment variables in different operating systems
was inconsistent.

On Windows, only the system-specific environment variable
TEMP was considered, but not the bazel-common TEST_TMPDIR.
On Unix, only TEST_TMPDIR was considered, but not
the otherwise typical system specific TMPDIR.

Now, always consider TEST_TMPDIR first, followed by the
system-typical environment variable (TEMP on Windows, TMPDIR on Unix)
before falling back to a default on that particular system.

Also: the value for the temporary directory coming from the
environment variable was only checked for a trailing directory
separator on Windows (and appended if needed), not on the other
platforms.
Make this also consistent accross the systems: Now always apply
the same logic to all of these (to accomodate
tests that just concatenate TempDir() without directory separator).
PiperOrigin-RevId: 447909830
Change-Id: I9ea17acdf5944eb2a965615fd9cf142878c33a58
2022-05-10 22:43:09 -07:00
Abseil Team bda85449f4 Fixup some missing overrides in googletest.
This CL adds a couple missing overrides in the googletest sources.
These were found downstream when -Wsuggest-override and
-Wsuggest-destructor-override were enabled.

PiperOrigin-RevId: 447754883
Change-Id: I7bf35a8757cbc5ae157827037aa3d13f47392406
2022-05-10 09:39:26 -07:00
Abseil Team 2a02723b76 Fix example of DescribeMatcher to properly support negation.
PiperOrigin-RevId: 446259163
Change-Id: I3ad5f405f44fc233f5cf5a18a274a9104b5c4ab8
2022-05-03 12:18:27 -07:00
Abseil Team 0027cf4703 Use TEST_TMPDIR on MacOS as well if available.
Currently MacOS falls back to generic /tmp, but
for all intents and purposes it should behave like
other Unixes using the TEST_TMPDIR environment variable
if available (this environment variable is set in bazel,
which sets up a unique temp directory for the test
process).

While at it, remove an incorrect #endif comment, that
looks like a leftover from some older implementation.

PiperOrigin-RevId: 446108391
Change-Id: I118eacf6e86a41d26cb81a130f7c54cccc0c5665
2022-05-02 21:57:01 -07:00
Abseil Team 8ded48c37b Rewrite "Testing a Certain Property of an Object" as "Defining a Custom Matcher Class", and fix the code examples.
PiperOrigin-RevId: 445252626
Change-Id: I9f038cb669d3da6743606343c2341fc59725d722
2022-04-28 14:41:49 -07:00
Abseil Team 238e4745c6 Generalize gmock-matchers_test to handle is_gtest_matcher-style matchers, too.
PiperOrigin-RevId: 444586594
Change-Id: I0de9b40b3773e3047a492f050266967ea935ae3e
2022-04-26 09:49:03 -07:00
Abseil Team 733f875989 Replace infinite recursion call (intentionally invoking undefined behavior to indicate unreachability) with explicit unreachability marker.
PiperOrigin-RevId: 441474979
Change-Id: I1fcbb437026631212fec954c663482bb7e1cf819
2022-04-13 07:28:00 -07:00
Abseil Team a1cc8c5519 Add support for move-only and &&-qualified actions in WillOnce.
This provides a type-safe way for an action to express that it wants to be
called only once, or to capture move-only objects. It is a generalization of
the type system-evading hack in ByMove, with the improvement that it works for
_any_ action (including user-defined ones), and correctly expresses that the
action can only be used with WillOnce. I'll make existing actions benefit in a
future commit.

PiperOrigin-RevId: 440496139
Change-Id: I4145d191cca5655995ef41360bb126c123cb41d3
2022-04-08 18:40:07 -07:00
Abseil Team c9044ba3dd Trying to make it more clear: this is probably not about mock classes, but about mocked classes
PiperOrigin-RevId: 439427291
Change-Id: I3cac035e732fb3fe4f9c314657932a55269e0416
2022-04-04 15:30:50 -07:00
Abseil Team 137f67e91f gmock: improve SFINAE for actions involving arguments.
Avoid instantiating functions like std::get<index> for an out of range index
when doing SFINAE on the invocability of the action itself.

PiperOrigin-RevId: 439415110
Change-Id: Ifc20285a6d526c34830870cd1910c2b2b92e1e81
2022-04-04 14:38:58 -07:00
Abseil Team 3ffa237f0e Use ResultOf()'s result_description when explaining match result.
PiperOrigin-RevId: 439389646
Change-Id: Ie34adcdd2b24378e85962efac53b7bb89ed93803
2022-04-04 12:56:24 -07:00
Abseil Team af29db7ec2 Address deprecation warning surfaced by Github presubmit tests
PiperOrigin-RevId: 436839469
Change-Id: I2bb90dce524c16bcc31569bb98772dcc62d08fbf
2022-03-23 15:08:26 -07:00
Abseil Team 5d6f38c1e2 Only print disabled test banner if the test matches gtest_filter
Currently, the "[ DISABLED ]" banner is printed for every test in a suite.
When iterating on a single test gtest_filter this is very noisy.

PiperOrigin-RevId: 436489088
Change-Id: If337087a7a0986b073fabf2b0a55d26485eb5c37
2022-03-22 09:07:51 -07:00
Abseil Team 1754febbaa Clarify public access on gmock examples.
PiperOrigin-RevId: 436268062
Change-Id: I3161b36121f78acf920d66fe121b2f1d5e5707b9
2022-03-21 11:57:05 -07:00
Abseil Team b007c54f29 Running clang-format over all of GoogleTest
A few tests are examining code locations and looking af the resulting line
numbers to verify that GoogleTest shows those to users correctly. Some of those
locations change when clang-format is run. For those locations, I've wrapped
portions in:
// clang-format off
...
// clang-format on

There may be other locations that are currently not tickled by running
clang-format.

PiperOrigin-RevId: 434844712
Change-Id: I3a9f0a6f39eff741c576b6de389bef9b1d11139d
2022-03-15 13:42:11 -07:00
Abseil Team ae1b7ad430 Mark ACTION_Pn()-generated functions as must-use-result, adding non-compilation tests.
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*, Bar)` and `ACTION_P(Use, bar) { Use(arg, bar); }` for later application to a Foo.  With such an overload, a client may then write `Use(bar);`, selecting the Action<> overload and being confused why nothing happens.

This also catches when a client defines their own action in terms of an ACTION_P()-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: 433197479
Change-Id: I98e4389150d01a5e753230113016d9fc38b1d260
2022-03-08 06:42:11 -08:00
Abseil Team ea55f1f52c Address conversion warning by explicitly casting to size_t
Closes #3762

PiperOrigin-RevId: 428593750
Change-Id: Ifac216568fbc7d999adb71996ec6a1bbe3b97412
2022-02-14 13:28:28 -08:00
Abseil Team 0e402173c9 Add a 3-arg overload for ResultOf() matcher that takes a description string for better error messages.
PiperOrigin-RevId: 427598749
Change-Id: I8c7a5d7b2dde017641534f1c7eed8dd56c33e845
2022-02-09 16:20:06 -08:00
Abseil Team 25ad42aabe GetCurrentOsStackTraceExceptTop (both the method of UnitTestImpl and the wrapper function in gtest.cc) rely on the fact that the inner call is not getting optimized.
This CL annotates them with the appropriate attributes.

PiperOrigin-RevId: 425663217
Change-Id: Ib9ec2a69a7dd98d37640b56d4d7798572da66669
2022-02-01 10:44:59 -08:00
Abseil Team f45d5865ed Make recreate_environments_when_repeating=false the default.
So that global test environments are by default set up and torn down once,
regardless of the value of the repeat flag.

The point of global environments is to be set up and torn down once, and shared
by all tests in the process. There is no obvious reason why multiple runs of the
same test should be treated distinctly from single runs of different tests.

Having this be false by default means that repeats using a global environment
run faster. It can still be set to true if it's desired that every repeat get a
fresh environment, but this seems less important given the nature of a global
environment. Every test I've seen using a global environment uses it to set up
some expensive external resource, not something that can/should be set up for
each test anew. (Again this is unsurprising, since the environment is a global.)

PiperOrigin-RevId: 424003937
Change-Id: I9e8a825cb8900960dd65b85fe5ffcc0a337e57f3
2022-01-24 23:46:52 -08:00
Abseil Team 2ddfdf819d Factor out AssertionResult into dedicated gtest-assertion-result header + implementation files to prevent cyclic includes between gtest.h and gtest_pred_impl.h
PiperOrigin-RevId: 422863083
Change-Id: I299018a860152216adc206780c32923c03bedb2a
2022-01-19 11:31:36 -08:00
Abseil Team 100f6fbf5f Consistently apply IWYU pragmas across googletest and googlemock headers
PiperOrigin-RevId: 422559250
Change-Id: I9f630f2186724950e5e9fbd7093d5264e8bf0a71
2022-01-18 08:11:11 -08:00
Abseil Team 2d07f12b60 Fix run-on sentence
dispatch. It will use the definition from the class the constructor of which

PiperOrigin-RevId: 421291241
Change-Id: If81e3d6d3774edfbbb4baaec8a3cd96566b3b09c
2022-01-12 07:19:51 -08:00
Abseil Team 6b74da4757 Include the param names in the generated description of the MATCHER_P matchers.
PiperOrigin-RevId: 418497526
Change-Id: Ie53c3c0810c10a32cbcb941e3ca1ee8fb1ddd9f9
2021-12-27 08:05:24 -08:00
Abseil Team d81ae2f0bf Clarify "package" means "Bazel package", and promote testonly=True rather than testing sub-directory.
PiperOrigin-RevId: 417945818
Change-Id: I8686ee0414fb80269528677f291877a231d1c991
2021-12-22 22:50:04 -08:00
Abseil Team 4c5650f688 Add NOLINT to address modernize-use-trailing-return-type in TEST_F uses
Example command:

```
clang_tidy '--config={Checks: "modernize-use-trailing-return-type"}' googletest-death-test-test.cc
```

Example error:

```
warning: use a trailing return type for this function [modernize-use-trailing-return-type]
TEST(NotADeathTest, Test) {
^
```
PiperOrigin-RevId: 414836261
Change-Id: I5f758423667559abfbf313190543666bc4ce0e6e
2021-12-07 15:09:13 -08:00
Abseil Team d61d4d8e64 Support std::reference_wapper as a smart pointer type in gmock
PiperOrigin-RevId: 413963503
Change-Id: I33440780bf087698f4e4325399227405885430b3
2021-12-03 10:14:13 -08:00
Abseil Team 1b2606425c Fix typo in GoogleMock Cookbook.
PiperOrigin-RevId: 413674665
Change-Id: I466f87348390f42434a70f183efdf0557be9dddd
2021-12-02 07:44:32 -08:00
Abseil Team bb9216085f Work around Android KitKat tzset bug
On KitKat, calling tzset with UTC+nn doesn't initialize all the
timezone state. If the previous timezone was something like
America/Chicago, then changing it to UTC+nn might have no effect.
Setting the timezone to an intermediate value like "UTC" avoids the
problem.

Works around https://github.com/android/ndk/issues/1604.

PiperOrigin-RevId: 413050236
Change-Id: I99b2d3330ae68f1d58cd2ca278d3eaae30bd1e83
2021-11-29 20:53:29 -08:00
Abseil Team 1b18723e87 Fix typo in gmock-matchers_test.cc: CanDescribeNegationOfExpectingOneElment => CanDescribeNegationOfExpectingOneElement
PiperOrigin-RevId: 409484263
Change-Id: I7448d6f04a9868602e0bc8dec40ea3eb63d3e387
2021-11-12 13:09:59 -08:00
Abseil Team 9ca071b6e5 Googletest export
Revert CL that updated example for SetUpTestSuite/TearDownTestSuite to initialize static member variables inline.

It seems that non-const static data members for some reason still must be initialized out-of-line.

PiperOrigin-RevId: 408913846
2021-11-10 17:21:19 -05:00
Abseil Team 79efd968bf Googletest export
Update example for SetUpTestSuite/TearDownTestSuite to use modern C++ standards.

Currently it is using an outdated C++ construct (defining static member variables separately from the declaration).

PiperOrigin-RevId: 408663014
2021-11-09 16:31:33 -05:00
Abseil Team aa486f165e Googletest export
Add missing InitGoogleTest line in "Registering tests" example code

Copying the original code gives the following error message
"""
IMPORTANT NOTICE - DO NOT IGNORE:
This test program did NOT call testing::InitGoogleTest() before calling RUN_ALL_TESTS(). This is INVALID. Soon Google Test will start to enforce the valid usage. Please fix it ASAP, or IT WILL START TO FAIL.
"""

PiperOrigin-RevId: 408385714
2021-11-09 10:24:14 -05:00
Abseil Team c3792825bf Googletest export
Add printer for std::type_info.

PiperOrigin-RevId: 408375407
2021-11-09 10:24:05 -05:00
Abseil Team d4e084a1cc Googletest export
Style only change. Make use of advanced testing functions `FloatLE` and `DoubleLE` consistent.

PiperOrigin-RevId: 407660542
2021-11-09 10:23:55 -05:00
Abseil Team bf0701daa9 Googletest export
Address unused variable warning in gtest.h

Closes #3645

PiperOrigin-RevId: 407393922
2021-11-03 15:12:53 -04:00
Abseil Team 7cf37a18d1 Googletest export
Add docs section on test sharding

Fixes #3622

PiperOrigin-RevId: 405712812
2021-11-03 13:45:51 -04:00
Abseil Team b3062166a1 Googletest export
Internal change

PiperOrigin-RevId: 405710296
2021-11-03 13:45:46 -04:00
Abseil Team 16f637fbf4 Googletest export
Add printer for __{u,}int128_t.

PiperOrigin-RevId: 402417369
2021-10-13 12:28:20 -04:00
Abseil Team 178cfacb24 Googletest export
add missing using ::testing::DoAll when DoAll used in example

PiperOrigin-RevId: 402416497
2021-10-13 12:28:13 -04:00
Abseil Team b2dda9ed83 Googletest export
Use newer Docker images in CI

The new floor image contains GCC 5.5.0, like the old one.

PiperOrigin-RevId: 402402465
2021-10-13 12:28:00 -04:00
Abseil Team 3b49be074d Googletest export
googletest: Add printer for {std,absl}::nullopt.
PiperOrigin-RevId: 399928554
2021-09-30 19:07:32 -04:00
Abseil Team ab36804e42 Googletest export
Ensure `.what()` is printed in `ThrowsMessage(...)` to address https://github.com/google/googletest/issues/3582

Closes #3582

PiperOrigin-RevId: 399462851
2021-09-28 16:33:40 -04:00
Abseil Team 0570d97fb6 Googletest export
Do not attempt to continue running a test suite if it already failed during
`SetUpTestSuite`.
The suite already failed and running the tests might just add noise to the run, or even crash the process unnecessarily.

Fixes #2187

PiperOrigin-RevId: 397770405
2021-09-23 23:31:14 +00:00
Abseil Team de34ef4e4c Internal change
PiperOrigin-RevId: 397651677
2021-09-23 23:31:03 +00:00
Abseil Team 6bfab0becc Googletest export
Add a caveat section for potential memory leak with derived classes using `SetUpTestSuite`.

PiperOrigin-RevId: 396986728
2021-09-16 13:00:01 -04:00
Abseil Team 314adcd40e Googletest export
gmock-internal-utils.cc: Use `static_cast` instead of implicit conversion between signed and unsigned types
Fixes #3550

PiperOrigin-RevId: 396826071
2021-09-15 13:34:00 -04:00
Abseil Team 6202251f09 Googletest export
Introduce GMOCK_FLAG_GET and GMOCK_FLAG_SET macros.

PiperOrigin-RevId: 396649214
2021-09-15 13:33:42 -04:00
Abseil Team 159c9ad23e Googletest export
Avoid segfault on null premature_exit_filepath.

PiperOrigin-RevId: 395965853
2021-09-14 10:15:17 -04:00
Abseil Team 6204633979 Googletest export
Bump `cmake_minimum_required` to 3.5.

Delete conditional branches exclusive to older versions.

Notable dependents:
  - github.com/grpc/grpc >= 3.5.1
  - github.com/abseil/abseil-cpp >= 3.5
  - github.com/googleapis/google-cloud-cpp >= 3.5

On the other hand, github.com/protocolbuffers/protobuf is >= 3.1.3, but it only depends on GoogleTest 1.10.

Fixes #3523

PiperOrigin-RevId: 392073834
2021-08-24 12:28:58 -04:00
Abseil Team 2f80c2ba71 Googletest export
Standardize access to GoogleTest flags on GTEST_FLAG_GET/GTEST_FLAG_SET

Custom implementations can decide how access to flags is performed depending on the implementation of flags being used.

PiperOrigin-RevId: 391971115
2021-08-20 15:08:40 -04:00
Abseil Team 21514e0be7 Googletest export
Identify bad specs of the type (const something, ...).

PiperOrigin-RevId: 390346843
2021-08-13 12:42:17 -04:00
Abseil Team aefb45469e Internal change
PiperOrigin-RevId: 389163232
2021-08-06 15:28:29 -04:00
Abseil Team 5b40153003 Googletest export
Format documentation

PiperOrigin-RevId: 388592443
2021-08-04 13:54:45 -04:00
Abseil Team 652ec31f9f Googletest export
Introduce a new matcher for unescaping Base-64 strings to gmock.

PiperOrigin-RevId: 388471904
2021-08-04 13:54:39 -04:00
Abseil Team c22ce88775 Googletest export
Standardize access to GoogleTest flags on GTEST_FLAG_GET/GTEST_FLAG_SET

Custom implementations can decide how access to flags is performed depending on the implementation of flags being used.

PiperOrigin-RevId: 388181424
2021-08-04 13:54:33 -04:00
Abseil Team 29d2540622 Googletest export
Proliferation of inclusive language.

PiperOrigin-RevId: 387535677
2021-08-04 13:54:27 -04:00
Abseil Team 2d924d7a97 Internal change
PiperOrigin-RevId: 387381497
2021-07-29 03:27:05 +00:00
Abseil Team 96f4ce02a3 Googletest export
Delete GOOGLETEST_CM.* tags from C++ code.

PiperOrigin-RevId: 386268534
2021-07-22 14:54:03 -04:00
Abseil Team ce4895aae8 Googletest export
Fix include guards in gen_pred_test.py

PiperOrigin-RevId: 386052814
2021-07-22 14:53:50 -04:00
Abseil Team 8d51ffdfab Googletest export
Remove unneeded using ::std::get;

PiperOrigin-RevId: 383688097
2021-07-09 09:28:13 -04:00
Abseil Team 43cf52911a Googletest export
Suppress a clang-tidy warning in the MATCHER(name, description) macro.

PiperOrigin-RevId: 383587271
2021-07-09 09:28:04 -04:00
Abseil Team 8306020a3e Googletest export
Add `Conditional` wrapper to gtest

This follows an initial proposal for an 'EqIff` matcher. `Conditional` was considered more precise as an EqIff() matcher may suffer from `Iff` not being universally understood.

PiperOrigin-RevId: 383407665
2021-07-07 14:34:28 -04:00
Abseil Team 977cffc442 Googletest export
Introduce GTEST_FLAG_GET and GTEST_FLAG_SET macros.

PiperOrigin-RevId: 382808313
2021-07-07 14:34:19 -04:00
Abseil Team 4cfd14984f Googletest export
gtest: Add a flag to only set up/tear down test environments once when repeating

Currently when running a test multiple times using `--gtest_repeat` the global
test environment(s) are set up and torn down for each iteration of the test.
When checking for flakes in tests that have expensive dependencies that are set
up in the test environment (subprocesses, external dependencies, etc) this can
become expensive.

To support finding flakes in tests that fit into this category, where the setup
phase is expensive but each test case is fast, allow callers to specify via
`--gtest_recreate_environments_when_repeating=false` that the test environments
should only be set up once, for the first iteration, and only torn down once, on
the last iteration. This makes running a test with `--gtest_repeat=1000` a much
faster and more pleasant experience.

PiperOrigin-RevId: 382748942
2021-07-07 14:34:08 -04:00
Abseil Team 4ec4cd23f4 Googletest export
Implement 'Contains(e).Times(n)' matcher modifier which allows to test for arbitrary occurrences including absence with Times(0).

PiperOrigin-RevId: 382210276
2021-06-30 13:33:57 -04:00
Abseil Team 22e6055c75 Googletest export
Make multiple attempts to verify GetThreadCount()

Testing GetThreadCount() is inheritently noisy, as other threads can be started
or destroyed between two calls to GetThreadCount(). This is especially true
under certain analyzer configurations, such as TSAN.

PiperOrigin-RevId: 381951799
2021-06-30 13:33:29 -04:00