The previous error message could be misinterpreted to mean that `Times` could not be
used in combination with `WillRepeatedly`, when in fact the call to `Times` just needs to happen *first*.
PiperOrigin-RevId: 410070405
Change-Id: I747d34a4334cf2e56d589dcad3a08a8f322d77c8
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
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
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
Guard #includes for threading related headers with GTEST_IS_THREADSAFE
Some platforms that don't support threading give errors for including
these headers
PiperOrigin-RevId: 406133623
Replace the multiple implementations of Notification with a single
portable implementation.
The also removes the awkward loop with sleep in Notification and will
allow the removal of SleepMilliseconds.
PiperOrigin-RevId: 405399733
Showing disabled tests is implemented by a new member function on the
TestEventListener interface (which is responsible for printing
testing output). The new function is called OnTestSkipped and it is
invoked when a disabled test is encountered.
The PrettyUnitTestResultPrinter has the canonical implementation of this
new function. The BriefUnitTestResultPrinter and the
EmptyTestEventListener get a nullary implementation. The
JsonUnitTestResultPrinter and XmlUnitTestResultPrinter
inherit that trivial implementation from the EmptyTestEventListener.
Replace semicolon by `$<SEMICOLON>` in generator-expressions of target
property `INTERFACE_INCLUDE_DIRECTORIES` of CMake targets `gtest`,
`gtest_main`, `gmock` and `gmock_main`.
Fixes: #3616
Signed-off-by: Deniz Bahadir <deniz@code.bahadir.email>
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
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
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
In line number 39 I added an anchor tag in "see detail above", it will redirect user to to particular section i.e. Contributor License Agreements section.
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
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
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
The documentation is clear that the FOO we'll be guarding always matches
the spelling of the DONT macro. A single guard macro should not toggle
more than one implementation macro.
This fixes a regression in 7413280c52c1f759395572a384165023d24eeb57.
Relatedly, improve the documentation of the DONT macros to bring the
list of valid FOO values up to date.
Implement 'Contains(e).Times(n)' matcher modifier which allows to test for arbitrary occurrences including absence with Times(0).
PiperOrigin-RevId: 382210276
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
EXPECT_DEATH() and ASSERT_DEATH() have a switch case where every
possible case is covered. This makes the default case unnecessary
and triggers -Wcovered-switch-default.
Due to these being macros, the lines are expanded in user code and
are thus subject to warnings of the target codebase.
Fixes#3456
Remove -Werror from the CMake compiler flags
We should not force warnings as errors on users.
Sometimes compilers introduce new warnings which
will break builds.
Instead, we manually turn this flag on in our continuous integration
scripts so we can catch these errors, but not force them on our users.
Fixes#3447
PiperOrigin-RevId: 380241852