3385 Commits

Author SHA1 Message Date
Abseil Team
68ca04c261 Googletest export
Updated documentation for Value-Parameterized Tests: Per-default, a TEST_P without a corresponding INSTANTIATE_TEST_SUITE_P now causes a failing test.

PiperOrigin-RevId: 323622468
2020-07-29 15:48:29 -04:00
Abseil Team
18a9aeda7a Googletest export
Internal documentation change.

PiperOrigin-RevId: 323612305
2020-07-28 14:22:08 -04:00
ofats
c64309924d Googletest export
Stop using ADL for InvokeArgument action.

PiperOrigin-RevId: 323234396
2020-07-28 14:21:59 -04:00
vslashg
a781fe29bc Merge pull request #2937 from Ashikpaul:patch-1
PiperOrigin-RevId: 321178217
2020-07-15 14:09:43 -04:00
ofats
eb660507ff Googletest export
Move matchers' tests from *generated* to common files.

PiperOrigin-RevId: 320954068
2020-07-15 14:09:29 -04:00
vslashg
af287b4ffd Merge pull request #2903 from AmatanHead:informative-exception-asserts
PiperOrigin-RevId: 320425648
2020-07-15 14:09:20 -04:00
Ashik Paul
c4a5ee3ac0
Fixed some minor typos 2020-07-11 12:13:05 +05:30
Abseil Team
70b90929b1 Googletest export
Adding std:: namespace to string in the example

PiperOrigin-RevId: 320327910
2020-07-09 13:35:53 -04:00
Gennadiy Rozental
c7f05e08af Merge pull request #2872 from elindsey:master
PiperOrigin-RevId: 320224740
2020-07-09 13:35:44 -04:00
Gennadiy Rozental
592d464243 Merge pull request #2808 from OlivierLDff:cmake-cpp11-feature
PiperOrigin-RevId: 320222294
2020-07-09 13:35:36 -04:00
Gennadiy Rozental
017c8d56ba Merge pull request #2682 from mjvankampen:cmake-QNX-fix
PiperOrigin-RevId: 320191208
2020-07-09 13:35:27 -04:00
ofats
08b787796c Googletest export
Replace ByRef with std::ref everywhere in docs.

PiperOrigin-RevId: 320002303
2020-07-09 13:35:18 -04:00
Abseil Team
9aaaaf3f3d Googletest export
Cleanup: Error message grammar fix.
PiperOrigin-RevId: 319992912
2020-07-09 13:35:10 -04:00
Abseil Team
b9a8afcf2e Googletest export
Fix mismatch between `int` and `int32_t` in the parse function.
On some platforms, those are different types.

PiperOrigin-RevId: 319991862
2020-07-09 13:35:01 -04:00
Abseil Team
356f2d264a Googletest export
Improve compatibility with strict compilers targeting Windows

Remove an unnecessary ##, which could result in warnings about invalid preprocessor tokens when pasting to an initial '('

PiperOrigin-RevId: 319277617
2020-07-05 16:25:43 -04:00
Olivier Ldff
131878ce9e use target_compile_features to use c++11 if cmake > 3.8
If target_compile_features is available and cxx_std_11.
This fix compilation with clang and gcc when c++11 isn't specified by user.
2020-07-02 09:36:22 +02:00
Abseil Team
aee0f9d9b5 Googletest export
Add Bazel build rules for gtest_list_output_unittest.py and correct some off-by-one line number expectations.

PiperOrigin-RevId: 318466071
2020-06-26 12:04:14 -04:00
Abseil Team
e5613588a1 Googletest export
Normalize headers in gMock docs

Increasing Header levels on two pages, to better match other pages in the same directory.

PiperOrigin-RevId: 318280892
2020-06-26 12:04:05 -04:00
Abseil Team
05c4a036bb Googletest export
Update auto_mock to support C++17 nested namespaces

PiperOrigin-RevId: 318192214
2020-06-26 12:03:55 -04:00
Mark Barolak
849ed6b172 Merge pull request #2902 from mshingote:master
PiperOrigin-RevId: 318147761
2020-06-26 12:03:46 -04:00
Abseil Team
a4007e944f Googletest export
Make sure sanitizers do not tamper with the stack here in StackLowerThanAddress().

PiperOrigin-RevId: 318082465
2020-06-26 12:03:36 -04:00
Mark Barolak
5e0cf72b7c Merge pull request #2718 from NINI1988:master
PiperOrigin-RevId: 317696457
2020-06-26 12:03:26 -04:00
Mark Barolak
62f388e15f Merge pull request #2891 from zoddicus:fixMinGW
PiperOrigin-RevId: 317666280
2020-06-26 12:03:15 -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
Mayur Shingote
93dc015a85 Updated googletest issue tracker url. 2020-06-19 22:43:55 +05:30
Abseil Team
c6e309b268 Googletest export
gtest.cc: fix a couple typos

s/paramaterized/parameterized/

PiperOrigin-RevId: 316878900
2020-06-18 16:09:35 -04:00
Abseil Team
549c5d061e Googletest export
gMock Cookbook: Fix incorrect comment about EXPECT priority order

It's actually the last matching expectation that's used, not the first.

PiperOrigin-RevId: 316490770
2020-06-15 16:56:42 -04:00
dmauro
8567b09290 Googletest export
Adds support for printing pointers of types char8_t, char16_t, and char32_t.

PiperOrigin-RevId: 316112767
2020-06-12 18:24:28 -04:00
Abseil Team
13a433a94d Googletest export
Change string matchers, like HasSubstr, to accept `string_view` input if available.

PiperOrigin-RevId: 315726484
2020-06-10 17:37:39 -04:00
Abseil Team
9f287b46d1 Googletest export
Make visible ParseInt32 in case users have separate gmock/gtest libraries and hidden-by-default symbols.

This function is still considered an internal implementation detail and is subject to change without notice. It is still unsafe/unsupported to link together libraries built at different commits.

PiperOrigin-RevId: 315405429
2020-06-10 17:37:31 -04:00
Abseil Team
ec94d9f24c Googletest export
Fail TEST_Ps or TYPED_TEST_Ps that are defined but are not instantiated, as well as the opposite case, where INSTANTIATE_TEST_SUITE_P or INSTANTIATE_TYPED_TEST_SUITE_P is used but without any matching TEST_P or TYPED_TEST_P.

PiperOrigin-RevId: 315255779
2020-06-10 17:37:22 -04:00
dmauro
1b0cdaae57 Googletest export
Add missing static_cast to char32_t printer

PiperOrigin-RevId: 314925583
2020-06-10 17:37:14 -04:00
Ryan Harrison
1eda5d825a Fix build issue for MinGW
Fixes #2885
2020-06-10 11:32:08 -04:00
dmauro
4fe018038f Googletest export
Adds support for printing the types char8_t, char16_t, and char32_t

This changes prints these types as Unicode code points. It is possible
that there is a better way of printing these types, but that change is
more complex, and the format in which Googletest prints these types is
subject to change if someone implements a better way of printing them.

This fixes the C++20 build, which removed support for printing these types.
https://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt2

Fixes #2854

PiperOrigin-RevId: 314826912
2020-06-05 03:57:06 -04:00
Gennadiy Rozental
07d4a6e93d Merge pull request #2742 from kuzkry:c++17-type-printers
PiperOrigin-RevId: 314593695
2020-06-05 03:56:58 -04:00
Abseil Team
210aab09de Googletest export
gMock Cookbook: Slight rewording

Remove "I" because documentation can have multiple authors. And remove unnecessary "guy".

PiperOrigin-RevId: 314533746
2020-06-05 03:56:49 -04:00
Gennadiy Rozental
cb44c86c1a Merge pull request #2755 from Conan-Kudo:set-version-for-libs
PiperOrigin-RevId: 314427570
2020-06-02 20:45:20 -04:00
Abseil Team
26dadc2241 Googletest export
Note that EXPECT_EQ(actual_value, expected_value) or EXPECT_THAT(actual_value, Eq(expected_value)) is preferred over EXPECT_THAT(actual_value, expected_value).

PiperOrigin-RevId: 314350852
2020-06-02 20:45:11 -04:00
Abseil Team
df6813f5e0 Googletest export
Modify NULL to nullptr in code examples

PiperOrigin-RevId: 314150792
2020-06-02 20:45:03 -04:00
Eli Lindsey
a2533417ca fix compilation on OpenBSD 6.7
Building on OpenBSD 6.7 current fails due to implicit numeric
conversions:

    OpenBSD clang version 8.0.1 (tags/RELEASE_801/final) (based on LLVM 8.0.1)
    Target: amd64-unknown-openbsd6.7
    Thread model: posix
    InstalledDir: /usr/bin

    In file included from /tmp/u/build/_deps/googletest-src/googletest/src/gtest-all.cc:45:
    /tmp/u/build/_deps/googletest-src/googletest/src/gtest-port.cc:201:19: error: implicit conversion changes signedness:
          'int' to 'unsigned long' [-Werror,-Wsign-conversion]
      mib[5] = size / mib[4];
                    ~ ^~~~~~
    /tmp/u/build/_deps/googletest-src/googletest/src/gtest-port.cc:211:33: error: implicit conversion changes signedness:
          'int' to 'unsigned long' [-Werror,-Wsign-conversion]
      for (size_t i = 0; i < size / mib[4]; i++) {
                                  ~ ^~~~~~
    /tmp/u/build/_deps/googletest-src/googletest/src/gtest-port.cc:215:10: error: implicit conversion changes signedness:
          'int' to 'size_t' (aka 'unsigned long') [-Werror,-Wsign-conversion]
      return nthreads;
      ~~~~~~ ^~~~~~~~
    /tmp/u/build/_deps/googletest-src/googletest/src/gtest-port.cc:201:17: error: implicit conversion loses integer
          precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
      mib[5] = size / mib[4];
             ~ ~~~~~^~~~~~~~
    4 errors generated.
2020-05-30 15:41:06 -04:00
Krystian Kuzniarek
eb3953f805 make UniversalPrinter<std::any> support RTTI 2020-05-29 13:59:42 +02:00
Krystian Kuzniarek
843267f0f1 specialize UniversalPrinter<> for std::any (without support for RTTI) 2020-05-29 13:59:42 +02:00
Krystian Kuzniarek
95b0ea2cf5 specialize UniversalPrinter<> for std::optional 2020-05-29 13:59:42 +02:00
Krystian Kuzniarek
33b44c4b35 specialize UniversalPrinter<> for std::variant 2020-05-29 13:59:42 +02:00
dmauro
859bfe8981 Googletest export
Update Travis CI to use Ubuntu Bionic in some cases

PiperOrigin-RevId: 313639562
2020-05-28 19:55:32 -04:00
dmauro
fd32ba66e2 Googletest export
Fix compile error from protected destructor of std::codecvt

PiperOrigin-RevId: 313584603
2020-05-28 19:55:23 -04:00
Abseil Team
85a4631946 Googletest export
Change 'suite' to 'case' in comments.

PiperOrigin-RevId: 313429487
2020-05-28 19:55:14 -04:00
Derek Mauro
07beabd614 Merge pull request #2767 from mvoorsluys:OutputXmlSkipped
PiperOrigin-RevId: 313386267
2020-05-28 19:55:06 -04:00
dmauro
8f3854e204 Googletest export
Rollback of warning on unused ACTION result change

PiperOrigin-RevId: 313380971
2020-05-28 19:54:56 -04:00
Derek Mauro
130ae78b99 Merge pull request #2862 from prehistoric-penguin:prehistoric-penguin-patch-1
PiperOrigin-RevId: 313289519
2020-05-28 19:54:47 -04:00
Derek Mauro
69fb7e5da3 Merge pull request #2845 from matepek:readme-update-with-opensource-proj
PiperOrigin-RevId: 312530971
2020-05-28 19:54:38 -04:00
Derek Mauro
731d908c09 Merge pull request #2677 from IYP-Programer-Yeah:fix-file-path-normalize-function
PiperOrigin-RevId: 312486861
2020-05-28 19:54:29 -04:00
Derek Mauro
99ea9ca3fe Merge pull request #2698 from aribibek:patch-1
PiperOrigin-RevId: 312342956
2020-05-28 19:54:19 -04:00
Abseil Team
6b08b41e5f Googletest export
Spell out namespace for absl::Notification.

PiperOrigin-RevId: 312300192
2020-05-28 19:54:10 -04:00
Abseil Team
f3a59610fd Googletest export
Addresses https://github.com/google/googletest/issues/2848 by using `_wfopen(...)` on Windows

PiperOrigin-RevId: 312198825
2020-05-28 19:53:52 -04:00
durandal
a0669e070a Googletest export
Silence MSVC C4100 (unused formal parameter) to fix breakage from recently added testcase.  This warning is silenced in many files throughout googletest, but was not needed here until this testcase was added.

PiperOrigin-RevId: 312121200
2020-05-28 19:53:43 -04:00
Abseil Team
1397db9e58 Googletest export
Mark ACTION_Pn()-generated functions as must-use-result.

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*)` and `ACTION(Use) { Use(arg); }` for later application to a Foo.  With such an overload, a client may then write `Use();`, forgetting the param and being confused why nothing happens.

This also catches when a client defines their own action in terms of an ACTION()-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: 312108101
2020-05-28 19:53:34 -04:00
Abseil Team
63713e1ce4 Googletest export
Fix the ACTION* macros to allow for more than 10 arguments in the action.
Only the first 10 will be passed as individual arguments as `argN`, but the rest
can be accessed from the `args` tuple.

PiperOrigin-RevId: 311542098
2020-05-28 19:53:26 -04:00
ppenguin
80d5177ddf
Use count function instead of handwritten loop 2020-05-25 14:25:16 +08:00
Mate Pek
73fdce3b6e Merge remote-tracking branch 'original/master' into readme-update-with-opensource-proj 2020-05-19 23:33:05 +07:00
Mate Pek
7d3946133f README.dm: Renamed related open source project name: Catch2 and Google Test Explorer -> C++ TestMate 2020-05-19 23:32:11 +07:00
Abseil Team
011959aafd Googletest export
Remove broken URL.

PiperOrigin-RevId: 311377660
2020-05-13 20:36:05 -04: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
Andy Getz
48bf552cbf Merge pull request #2778 from lvjp:issue-2777
PiperOrigin-RevId: 310911989
2020-05-13 00:39:57 -04:00
Andy Getz
77b8d767d8 Merge pull request #2844 from mstorsjo:windows-includes
PiperOrigin-RevId: 310910168
2020-05-13 00:39:48 -04:00
Abseil Team
fe5300ebf1 Googletest export
Addresses https://github.com/google/googletest/pull/2784

PiperOrigin-RevId: 310902202
2020-05-13 00:39:40 -04:00
Martin Storsjö
d86e9e23ce Remove an explicit include of debugapi.h
The documentation for IsDebuggerPresent says that one just should
include windows.h, as that one is an umbrella header that includes
the header that declares IsDebuggerPresent. In older Windows SDKs,
debugapi.h didn't exist and IsDebuggerPresent was declared in
winbase.h (also included by windows.h).

This should fix issue #2822 properly.
2020-05-08 10:21:16 +03:00
Martin Storsjö
09f587512a Revert "Googletest export"
This reverts commit a9f6c1ed1401dd9b002d4c43fb9f946d2c7466d0.

That commit cannot fix the issue it sets out to fix.

The original issue, #2822, was that building with a toolset
targeting XP compatibility is missing the debugapi.h header -
as debugapi.h didn't exist in older Windows SDKs.

Commit a9f6c1ed1401dd9b002d4c43fb9f946d2c7466d0 misinterpreted
the Microsoft documentation about IsDebuggerPresent. The information
about which header to use, "debugapi.h (include Windows.h)" means
that the function declaration currently lives in debugapi.h, but
for compatibility, just include the Windows.h umbrella header.
In older Windows SDKs (e.g. the v6.0a SDK), IsDebuggerPresent
is declared in winbase.h, and debugapi.h doesn't exist at all in those
versions.

Including Windows.h with a different capitalization than the existing
include won't help finding headers that don't exist.

Including Windows.h with a capital W breaks cross compilation with mingw
toolchains, where the header always has been spelled with a lower case
W. When building on native windows, the file system is case insensitive
and the capitalization doesn't matter.

This fixes issue #2840.
2020-05-08 10:13:33 +03:00
Abseil Team
a09ea700d3 Googletest export
Fix `-Wgnu-zero-variadic-macro-arguments` in GMock

Passing zero arguments to the variadic part of a macro is a GNU
extension and triggers warnings when build projects using GMock with
`-pedantic`.

 - Fix uses of `GMOCK_PP_INTERNAL_16TH` to always receive at least 17
arguments. (this was triggered when `GMOCK_PP_NARG` or `GMOCK_PP_HAS_COMMA`
were used with an argument containing no commas).
 - Fix `GMOCK_PP_HEAD` to append a dummy unused argument so that
`GMOCK_PP_INTERNAL_HEAD` always has two arguments.

PiperOrigin-RevId: 310414611
2020-05-07 16:15:58 -04:00
vslashg
e589a33717 Merge pull request #2751 from calumr:quiet-flag
PiperOrigin-RevId: 309958629
2020-05-05 17:07:14 -04:00
vslashg
1a9c3e4414 Merge pull request #2830 from keshavgbpecdelhi:patch-1
PiperOrigin-RevId: 309951872
2020-05-05 17:07:05 -04:00
Abseil Team
a9f6c1ed14 Googletest export
Addresses Github issue (https://github.com/google/googletest/issues/2822) by following the Microsoft documention (https://docs.microsoft.com/en-us/windows/win32/api/debugapi/nf-debugapi-isdebuggerpresent) to include capital-W Windows.h before including debugapi.h.

See "Header	debugapi.h (include Windows.h)"

PiperOrigin-RevId: 309745868
2020-05-05 17:06:56 -04:00
Abseil Team
0eea2e9fc6 Googletest export
Fix documentation. This address https://github.com/google/googletest/pull/2827.

PiperOrigin-RevId: 309241571
2020-05-01 17:12:28 -04:00
Abseil Team
3cfb4117f7 Googletest export
Fix link to "high-perf dependency injection technique".

PiperOrigin-RevId: 308893893
2020-05-01 17:12:19 -04: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
Abseil Team
1293297874 Googletest export
internal change

PiperOrigin-RevId: 308648034
2020-05-01 17:11:52 -04:00
Gennadiy Rozental
ef25d27d46 Merge pull request #2815 from Quuxplusone:simple
PiperOrigin-RevId: 308625388
2020-05-01 17:11:43 -04:00
Abseil Team
955552518b Googletest export
Rewrite ReturnNew action without using pump.

PiperOrigin-RevId: 308219616
2020-05-01 17:11:34 -04:00
Abseil Team
d7ca9af004 Googletest export
Use InitGoogleTest() instead of InitGoogle() in code example

PiperOrigin-RevId: 308070819
2020-05-01 17:11:26 -04:00
Gennadiy Rozental
b0e53e2d64 Merge pull request #2797 from Jyun-Neng:master
PiperOrigin-RevId: 307604377
2020-05-01 17:11:17 -04:00
Abseil Team
1b3eb6ef34 Googletest export
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
2020-05-01 17:11:08 -04:00
Abseil Team
fb5d9b66c5 Googletest export
Fix comment that describes how to test against nullopt.

PiperOrigin-RevId: 307448375
2020-05-01 17:11:00 -04:00
Abseil Team
a677010564 Googletest export
Internal change

PiperOrigin-RevId: 307040308
2020-05-01 17:10:51 -04:00
keshavgbpecdelhi
4bab55dc54
Removed a typo in README.md
There is an unnecessary comma before 'and'
2020-05-01 12:24:32 +05:30
Arthur O'Dwyer
1b066f4edf Add -Wdeprecated to the build configuration. 2020-04-23 22:22:34 -04:00
Arthur O'Dwyer
c7d8ec72cc Fix a -Wdeprecated warning.
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&);
             ^
2020-04-23 22:22:34 -04:00
Arthur O'Dwyer
01c0ff5e23 Fix a -Wdeprecated warning.
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() {}
                ^
2020-04-23 22:22:34 -04:00
Arthur O'Dwyer
11b3cec177 Fix a -Wdeprecated warning.
gmock-spec-builders.h:503:3: error:
    definition of implicit copy constructor for 'Expectation' is deprecated
    because it has a user-declared destructor [-Werror,-Wdeprecated]
        ~Expectation();
        ^
2020-04-23 22:22:34 -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
Mario Voorsluys
7c8ab528b7 Fix test with stack. 2020-04-22 07:05:09 +02:00
Igor Nazarenko
9d580ea805 Enable protobuf printing for open-source proto messages. 2020-04-19 17:30:50 -07:00
Arthur O'Dwyer
4f002f1e23 VariadicMatcher needs a non-defaulted move constructor for compile-time performance.
We are about to remove all uses of GTEST_DISALLOW_ASSIGN_ in favor
of using the Rule of Zero everywhere.

Unfortunately, if we use the Rule of Zero here, then when the compiler
needs to figure out if VariadicMatcher is move-constructible, it will
recurse down into `tuple<Args...>`, which on libstdc++ recurses too deeply.

    In file included from googlemock/test/gmock-matchers_test.cc:43:
    In file included from googlemock/include/gmock/gmock-matchers.h:258:
    In file included from /usr/include/c++/5.5.0/algorithm:60:
    In file included from /usr/include/c++/5.5.0/utility:70:
    In file included from /usr/include/c++/5.5.0/bits/stl_pair.h:59:
    In file included from /usr/include/c++/5.5.0/bits/move.h:57:
    /usr/bin/include/c++/5.5.0/type_traits:115:26: fatal error:
          recursive template instantiation exceeded maximum depth of 256
        : public conditional<_B1::value, _B1, _B2>::type
                             ^

The move constructor is the only problematic case, for some unknown reason.
With GTEST_DISALLOW_ASSIGN_, the presence of a copy assignment operator
causes the move constructor to be non-declared, thus non-defaulted, thus
non-problematic. Without GTEST_DISALLOW_ASSIGN_, we have to do one of the
following:

- Default the copy constructor, so that the move constructor will be non-declared.

- Define our own non-defaulted move constructor.

...except that doing the latter STILL did not work!
Fortunately, the former (default the copy constructor, don't provide
any move constructor) both works in practice and is semantically
equivalent to the old code.
2020-04-16 19:12:52 -04:00
Mark Barolak
dcc92d0ab6 Merge pull request #2805 from pepsiman:patch-1
PiperOrigin-RevId: 306462650
2020-04-16 13:33:10 -04:00
Mark Barolak
71d5df6c6b Merge pull request #2802 from e-i-n-s:fix_clang_warning
PiperOrigin-RevId: 306460942
2020-04-16 13:33:01 -04:00
Mark Barolak
4c8e6a9fe1 Merge pull request #2810 from ptahmose:master
PiperOrigin-RevId: 306460738
2020-04-16 13:32:51 -04:00
Abseil Team
373d72b698 Googletest export
Fix link to "After clause". Sorry, reader, but this heading is in another document!

PiperOrigin-RevId: 305947971
2020-04-16 13:32:42 -04:00
Mark Barolak
4fe5ac5333 Merge pull request #2756 from Conan-Kudo:fix-pkgconfig-reqs
PiperOrigin-RevId: 305747437
2020-04-16 13:32:33 -04:00
Mark Barolak
c2032090f3 Merge pull request #2772 from Quuxplusone:travis
PiperOrigin-RevId: 305747317
2020-04-16 13:32:24 -04:00
Mark Barolak
b51a49e0cb Merge pull request #2773 from Quuxplusone:replace-noexcept
PiperOrigin-RevId: 305707266
2020-04-16 13:32:14 -04:00