Commit Graph

134 Commits

Author SHA1 Message Date
Tom Hughes
23142843f7 Use "#ifdef GTEST_OS_..." instead of "#if GTEST_OS_..."
This is compatible with compiling with "-Wundef" (#3267).

PiperOrigin-RevId: 513943378
Change-Id: I47cf5fabbb77be061c4483a0adc54511af6b191c
2023-03-06 07:14:21 -08:00
Dino Radakovic
39a26e12d6 Avoid redundant declaration of static constexpr members in c++17
Keep declarations in c++ < 17 using new macro, GTEST_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL.

Fixes #4148.

PiperOrigin-RevId: 511510401
Change-Id: I76c3f2fccf07a0978adcbe5f8f0203b9d0c33872
2023-02-22 09:02:55 -08:00
Derek Mauro
544c96ed5b Remove FloatingPoint::Max() in favor of std::numeric_limits::max()
In #4113 a user says Max clashes with a macro. Since it is only used in
a test, use std::numeric_limits::max() instead.

Note that in headers, the macro issue can be mitigated with
parenthesis like this: `(std::numeric_limits<T>::max)()`

PiperOrigin-RevId: 504284906
Change-Id: Ibf430caec1a6afdf6b303534fec6a4fd00a6373f
2023-01-24 08:41:35 -08:00
Tom Hughes
e5e46b09a1 IWYU: Add missing std includes
PiperOrigin-RevId: 499893032
Change-Id: I33304802b7c82ae2d008f3ee89df38866e5f57ba
2023-01-05 08:44:01 -08:00
Copybara-Service
91480a4e79 Merge pull request #3927 from yutotnh:fix-typo
PiperOrigin-RevId: 461699509
Change-Id: I9bab4474c5f52d4d66691dfb96a4d20f89fbcfeb
2022-07-18 13:29:19 -07:00
Copybara-Service
bea621c3c3 Merge pull request #3928 from venik:venik-clean-up
PiperOrigin-RevId: 460455562
Change-Id: I29efc09887651d8734586703fe0691482ba4c981
2022-07-12 07:19:18 -07:00
Chris Kennelly
e009c3d3dc Enable heterogeneous lookup for RegisteredTestsMap.
PiperOrigin-RevId: 459529190
Change-Id: I6b29693000023b3562990742f27a98cc279b6452
2022-07-07 09:18:52 -07:00
Alexander Nikforov
7107c44188 cleanup from unique_ptr branch 2022-07-01 15:33:13 -07:00
yutotnh
2cf9987ce3
fix: some typos in comment 2022-07-01 18:32:49 +09:00
Abseil Team
49c6185ae7 Remove undefined internal function.
Fixes #3856

PiperOrigin-RevId: 453992227
Change-Id: I5f3330a454bdcd6b0522ebba4cdfe2c888f8e638
2022-06-09 12:57:51 -07:00
Derek Mauro
bf66935e07 Remove the legacy internal GTEST_DISALLOW_* macros
PiperOrigin-RevId: 443715444
Change-Id: I3ffd54b63d2728ae4a668ee7875c8c3c8188087c
2022-04-22 11:26:03 -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
100f6fbf5f Consistently apply IWYU pragmas across googletest and googlemock headers
PiperOrigin-RevId: 422559250
Change-Id: I9f630f2186724950e5e9fbd7093d5264e8bf0a71
2022-01-18 08:11:11 -08:00
Christian Clauss
ee1be03b43 Fix remaining typos discovered by codespell 2021-09-24 08:09:32 +02:00
Abseil Team
96f4ce02a3 Googletest export
Delete GOOGLETEST_CM.* tags from C++ code.

PiperOrigin-RevId: 386268534
2021-07-22 14:54:03 -04:00
John Bampton
050b517518 chore: fix spelling 2021-04-15 11:53:53 +10:00
Abseil Team
3bd41ab23f Internal change
PiperOrigin-RevId: 362216935
2021-03-16 09:51:10 -04:00
Abseil Team
0a3a3a845e Googletest export
Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard, attempt #2

PiperOrigin-RevId: 357056902
2021-02-18 13:26:24 -05:00
Abseil Team
d4144d4ee2 Googletest export
Revert include guard fix

PiperOrigin-RevId: 356588893
2021-02-11 12:49:24 -05:00
Abseil Team
36b7792047 Googletest export
Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard

PiperOrigin-RevId: 355882793
2021-02-11 12:48:43 -05: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
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
Hyuk Myeong
87347d5455 fix typos 2020-11-08 16:36:57 +09:00
dmauro
3c95bf5524 Googletest export
Fixes build warnings from previous CL
Add CMake to internal presubmit to prevent these

PiperOrigin-RevId: 337325504
2020-10-15 13:32:43 -04:00
Abseil Team
a462188865 Googletest export
Add ::testing::FieldsAre matcher for objects that support get<> and structured bindings.
PiperOrigin-RevId: 337165285
2020-10-14 18:27:07 -04:00
dmauro
79dc0f231a Googletest export
Disable -Wmismatched-tags warning for struct/class tuple_size

PiperOrigin-RevId: 337087493
2020-10-14 18:26:32 -04:00
dmauro
fb239f0e4c Googletest export
Fix -Wmismatched-tags error with struct tuple_size vs class tuple_size

PiperOrigin-RevId: 336930166
2020-10-14 18:26:15 -04:00
ofats
2cf1f99b97 Googletest export
Add helper methos to internal FlatTuple. Refactor constructors.

PiperOrigin-RevId: 336306681
2020-10-14 18:25:32 -04:00
Derek Mauro
4abb012c70 Merge pull request #2837 from inazarenko:duck_type_protos
PiperOrigin-RevId: 336087297
2020-10-14 18:25:04 -04:00
Derek Mauro
ce654c2ff5 Merge pull request #2972 from srz-zumix:fix/remove_legacy_testcase_api_
PiperOrigin-RevId: 325220934
2020-08-07 13:08:18 -04:00
srz_zumix
7d47077245 fix tests 2020-08-02 09:18:13 +09:00
jasjuang
7bde252cb7 fix clang tidy modernize-use-equals-default warnings 2020-07-19 15:18:22 -07:00
vslashg
af287b4ffd Merge pull request #2903 from AmatanHead:informative-exception-asserts
PiperOrigin-RevId: 320425648
2020-07-15 14:09:20 -04:00
Vladimir Goncharov
0d2830b283 Make EXPECT_THROW and EXPECT_NO_THROW macros more informative
EXPECT_THROW and EXPECT_NO_THROW will now print exception type and message when an unexpected std::exception-derived error is thrown.

Fixes #2878
2020-06-20 11:45:45 +03:00
Abseil Team
8a32680cee Googletest export
Fixed #2823 - Make it so that a semicolon appearing after an invocation of GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_ does not trigger a redundant semicolon warning.

This works by introducing an else block with a statement that intentionally does not end with a semicolon, forcing users to place the semicolon after the expansion. The approach here is preferred as opposed to removing semicolons that appear after each invocation because complete statements that do not have a visible semicolon or braces confuse users and code formatters, since the macro invocation looks superficially like an expression.

PiperOrigin-RevId: 311327491
2020-05-13 20:35:57 -04:00
Igor Nazarenko
4c9ad191e1 Detect proto messages based on presense of DebugString. 2020-05-05 11:06:33 -07:00
Gennadiy Rozental
472cd8fd8b Merge pull request #2818 from inazarenko:master
PiperOrigin-RevId: 308711492
2020-05-01 17:12:10 -04:00
Gennadiy Rozental
b99b421d8d Merge pull request #2818 from inazarenko:master
PiperOrigin-RevId: 308650221
2020-05-01 17:12:01 -04:00
Arthur O'Dwyer
766ac2e1a4 Remove all uses of GTEST_DISALLOW_{MOVE_,}ASSIGN_.
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.
2020-04-23 22:22:07 -04:00
Igor Nazarenko
9d580ea805 Enable protobuf printing for open-source proto messages. 2020-04-19 17:30:50 -07:00
Abseil Team
c344cb5a8d Googletest export
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
2020-04-04 18:05:22 -04:00
Abseil Team
d854bd6acc Googletest export
Removing GTEST_API from TrueWithString.
This type is only used in test code on one side of a DLL boundary so it is not
necessary.

PiperOrigin-RevId: 288927929
2020-01-09 18:25:32 -05:00
Abseil Team
8417b73322 Googletest export
Close #2658
Mark test case destrucors as override.

PiperOrigin-RevId: 288507991
2020-01-09 18:25:16 -05:00
Andy Soffer
fbe34cecf4 Merge pull request #2639 from trzecieu:trzeci/move_ctor_assign
PiperOrigin-RevId: 286896167
2020-01-02 16:49:07 -05:00
Abseil Team
a13a062618 Googletest export
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
2020-01-02 16:48:59 -05:00
Andy Soffer
008629ae21 Merge pull request #2624 from ShabbyX:master
PiperOrigin-RevId: 286397298
2020-01-02 16:48:50 -05:00
Piotr Paczkowski (trzeci.eu)
cc05a3ca01
Define default destructor for test classes 2019-12-20 09:45:28 +01:00
Piotr Paczkowski (trzeci.eu)
05701fee28
Deleted functions as part of public interface 2019-12-20 09:41:58 +01:00
trzeci
9d8222ad66
Disable move constructor and assignment operator for test classes.
Disable move operations for TEST() and TEST_F() macros.
Previous implementation disabled only copy ctor and assing operator, but
this was violating rule of 5[1], which was captured by static code analysis tools
like clang-tidy `cppcoreguidelines-special-member-functions`.

[1]: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c21-if-you-define-or-delete-any-default-operation-define-or-delete-them-all
2019-12-17 23:43:31 +01:00
Shahbaz Youssefi
d201646906 Workaround VS bug w.r.t empty arguments to macros
Empty arguments can be passed to macros per C99 and C++11 specs, which
can then be forwarded to other macros.

Visual Studio's compiler has a bug in the following situation:

    #define A(x) #x
    #define B(x, y) A(x)
    B(, b)

In the above case, Visual Studio first expands x to nothing, then
complains that A is not invoked with the right amount of arguments.
However, x in A(x) is still one argument, even if it expands to no
preprocessing tokens.  See also https://stackoverflow.com/a/7674214.
2019-12-16 11:27:52 -05:00