| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
PiperOrigin-RevId: 308711492
|
|\|
| |
| |
| | |
PiperOrigin-RevId: 308650221
|
| | |
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 308625388
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
googletest-param-test-test.cc:502:8: error:
definition of implicit copy constructor for
'NonDefaultConstructAssignString' is deprecated because it has a
user-declared copy assignment operator [-Werror,-Wdeprecated]
void operator=(const NonDefaultConstructAssignString&);
^
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
googletest-port-test.cc:97:11: error:
definition of implicit copy constructor for 'Base' is deprecated because
it has a user-declared destructor [-Werror,-Wdeprecated]
virtual ~Base() {}
^
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
None of these are strictly needed for correctness.
A large number of them (maybe all of them?) trigger `-Wdeprecated`
warnings on Clang trunk as soon as you try to use the implicitly
defaulted (but deprecated) copy constructor of a class that has
deleted its copy assignment operator.
By declaring a deleted copy assignment operator, the old code
also caused the move constructor and move assignment operator
to be non-declared. This means that the old code never got move
semantics -- "move-construction" would simply call the defaulted
(but deprecated) copy constructor instead. With the new code,
"move-construction" calls the defaulted move constructor, which
I believe is what we want to happen. So this is a runtime
performance optimization.
Unfortunately we can't yet physically remove the definitions
of these macros from gtest-port.h, because they are being used
by other code internally at Google (according to zhangxy988).
But no new uses should be added going forward.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Explicitly define copy constructors used in googletest tests
As of C++11, providing a user-declared copy assignment operator should
suppress the availability of an implicit default copy constructor.
Classes that provide (or delete) a copy assignment operator must provide
their own copy constructor if one is desired. This may be an explicit
default copy constructor if appropriate.
As googletest is a C++11 codebase, this change should be made without
qualification.
This addresses the -Wdeprecated-copy warnings issued by trunk clang:
While compiling googletest/test/googletest-death-test-test.cc:
In file included from .../googletest/test/googletest-death-test-test.cc:33:
.../googletest/include/gtest/gtest-death-test.h:196:8: error: definition of implicit copy constructor for 'ExitedWithCode' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
void operator=(const ExitedWithCode& other);
^
.../googletest/test/googletest-death-test-test.cc:279:16: note: in implicit copy constructor for 'testing::ExitedWithCode' first required here
EXPECT_PRED1(pred0, status0);
^
While compiling googletest/test/googletest-param-test-test.cc:
.../googletest/test/googletest-param-test-test.cc:502:8: error: definition of implicit copy constructor for 'NonDefaultConstructAssignString' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
void operator=(const NonDefaultConstructAssignString&);
^
.../googletest/test/googletest-param-test-test.cc:507:36: note: in implicit copy constructor for 'NonDefaultConstructAssignString' first required here
Combine(Values(0, 1), Values(NonDefaultConstructAssignString("A"),
This matches other changes made elsewhere in the googletest codebase,
such as 306f3754a71d. Perhaps those previous changes did not consider
test code.
PiperOrigin-RevId: 307495126
|
|\
| |
| |
| | |
PiperOrigin-RevId: 306460942
|
| | |
|
|\ \
| |/
|/|
| | |
PiperOrigin-RevId: 305707266
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes a -Wdeprecated warning.
/home/travis/build/Quuxplusone/googletest/googletest/test/googletest-death-test_ex_test.cc:62:28: error:
dynamic exception specifications are deprecated [-Werror,-Wdeprecated]
const char* what() const throw() override { return "exceptional message"; }
^~~~~~~
/home/travis/build/Quuxplusone/googletest/googletest/test/googletest-death-test_ex_test.cc:62:28: note:
use 'noexcept' instead
const char* what() const throw() override { return "exceptional message"; }
^~~~~~~
noexcept
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 304613137
|
| | |
| | |
| | |
| | | |
Fixes #2760.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change updates testing::internal::IsAProtocolMessage to return true not
just for full proto messages but also for lite ones (i.e. those inheriting
directly from MessageLite).
PiperOrigin-RevId: 304286535
|
|\ \ \
| |_|/
|/| |
| | | |
PiperOrigin-RevId: 303414597
|
| |/ |
|
|/
|
|
|
|
|
|
|
|
| |
Add --gtest_fail_fast support to googletest.
- Analogous functionality to to golang -test.failfast and python --failfast
- Stops test execution upon first test failure.
- Also add support Bazel equivalent env var (TESTBRIDGE_TEST_RUNNER_FAIL_FAST)
PiperOrigin-RevId: 302488880
|
|
|
|
|
|
| |
Internal change
PiperOrigin-RevId: 299345492
|
|
|
|
|
|
| |
Add gmock Matcher<std::string_view> specialization.
PiperOrigin-RevId: 294443240
|
|
|
|
|
|
|
|
| |
Deleted an orphaned duplicate file and exclude another that shouldn't be part of :gtest_all_test.
This showed up while trying to debug the presubmit failure for: https://github.com/google/googletest/pull/2683
PiperOrigin-RevId: 291398123
|
|
|
|
|
|
| |
Add extra filtering so that the reported message differentiates between the case where INSTANTIATE_TEST_SUITE_P is missing vs. the case where TEST_P is missing.
PiperOrigin-RevId: 290114508
|
|
|
|
|
|
| |
Correct the spelling of PARAMETERIZED.
PiperOrigin-RevId: 289897278
|
|
|
|
|
|
| |
Wire up things to support marking a type paramaterized test as allowed to be un-instantiated.
PiperOrigin-RevId: 289699939
|
|
|
|
|
|
|
|
|
|
| |
Add GTEST_ALLOW_UNINSTANTIATED_PARAMTERIZED_TEST to mark a paramaterized test as allowed to be un-instantiated.
This allows test suites, that are defined in libraries and, for other reasons, get linked in (which should probably be avoided, but isn't always possible) to be marked as allowed to go uninstantiated.
This can also be used to grandfather existing issues and expedite adoption of the checks with regards to new cases before they can be fixed.
PiperOrigin-RevId: 289581573
|
|
|
|
|
|
|
|
| |
Add option (default to disabled) to make C++ type parameterized tests (TYPED_TEST_P) fail when they're not instantiated.
When an un-instantiated TYPED_TEST_P is found, a new test will be inserted that emits a suitable message. For now, that is just a notice, but the hope it to flip the bit to make it fail by default.
PiperOrigin-RevId: 286408038
|
|\
| |
| |
| | |
PiperOrigin-RevId: 286397298
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 20b5b8ecc7a81d23b4716e22a2b35fd53379c8c6.
Reason for revert: Breaks existing applications, such as ANGLE
(angleproject.org), requires adding an extra prefix that needs to be
typed for no reason (when testing from command line) and increases the
logs' sizes by a non-trivial amount due to the very large number of
tests ANGLE runs.
Original commit message:
Add a compile time check to ensure that the parameters to TEST_P and
INSTANTIATE_TEST_SUITE_P are not empty. Some compilers already fail
in that case and, even where it works, it's likely to result in
technically invalid code by virtue of creating reserved identifiers:
https://en.cppreference.com/w/cpp/language/identifiers
First, every project is perfectly capable of adding a prefix if they
want to support such a compiler. This change penalizes every
project.
Second, using a prefix such as `_p` also results in reserved
identifiers, so this change is not really solving the problem. For that
matter, instead of generating `gtest_##prefix##...`, you can generate
`gtest_x##prefix##...` to correctly fix the issue, including when empty
prefixes are used.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 4c25e2b87fcb78abcfdee2739db9ed7a19754cd3.
Reason for revert: Reverting the commit that disallows empty prefixes.
Original commit message:
Remove a test case rendered obsolete by disallowing empty argument for INSTANTIATE_TEST_SUITE_P.
Remove the code that it was testing.
|
|\ \
| |/
|/|
| | |
PiperOrigin-RevId: 285812343
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
kuzkry:remove-workaround_g++-no-space-after-first-macro-argument
PiperOrigin-RevId: 285255373
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Detect when C++ parametric tests (TEST_P) are not instantiated.
When an un-instantiated TEST_P is found, a new test will be inserted that will emit a warning message.
This can be made to error with minor code edits.
In the future, that is intended to be the default.
PiperOrigin-RevId: 284901666
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change googletest to notice failures during SetUpTestSuite() and TearDownTestSuite().
Previously, errors that occurred during those functions were logged but otherwise ignored. After this change, such failures will cause the test to fail and a brief summary will be printed at the bottom of the test log.
See https://github.com/google/googletest/issues/2330.
PiperOrigin-RevId: 284033342
|
| |
| |
| |
| |
| |
| | |
Internal change
PiperOrigin-RevId: 283948137
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 282568282
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make generating goldens work with Python 3
golden_file.write(output) fails with Python 3 with:
TypeError: a bytes-like object is required, not 'str'
PiperOrigin-RevId: 282316101
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use standard C++11 integer types in gtest-port.h.
Remove testing::internal::{Int,Uint}{32,64} in favor of types
guaranteed to be in <cstdint> since C++11.
Tests for built-in integer type coverage are switched from
{Int,Uint}64 to [unsigned] long long, which is guaranteed by
C++11 to exist and be at least 64-bit wide.
PiperOrigin-RevId: 281565263
|
|\ \
| |/
|/|
| | |
PiperOrigin-RevId: 278601074
|
| | |
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 278008286
|
|\| |
| | |
| | |
| | | |
PiperOrigin-RevId: 277979766
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
PiperOrigin-RevId: 275869169
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Closes #2208
Previously, skip messages were invisible, so debugging skips was hard.
Now we have this:
```
$ ./googletest/gtest_skip_test
Running main() from /home/lesha/github/snarkmaster/googletest/googletest/src/gtest_main.cc
[==========] Running 3 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 1 test from SkipTest
[ RUN ] SkipTest.DoesSkip
/home/lesha/github/snarkmaster/googletest/googletest/test/gtest_skip_test.cc:38: Skipped
skipping single test
[ SKIPPED ] SkipTest.DoesSkip (0 ms)
[----------] 1 test from SkipTest (1 ms total)
...
```
|
|\ \ \ \
| |/ / /
|/| | |
| | | | |
PiperOrigin-RevId: 275076905
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Mark more functions with "override" keyword, just like
it was done in commit 2460f97152c.
This should prevent compiler from complaining while compiling both
user code, and the googletest code itself with the -Wsuggest-override
option turned on; with the exception of:
* calls to new MOCK_METHOD() in test/gmock-function-mocker_test.cc
* calls to old MOCK_METHODx()/MOCK_CONST_METHODx() in other
unit test files.
Closes #2493
|