3303 Commits

Author SHA1 Message Date
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
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
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
Juergen Bohl
be3ac45cf6 fix signed/unsigned comparison issue (on OpenBSD) 2020-04-12 15:31:02 +02:00
Malcolm Parsons
0b6d567619
Remove redundant .c_str() 2020-04-09 09:47:57 +01:00
Marco Studerus
644f3a992c gtest-unittest-api_test - fix warning in clang build 2020-04-06 23:30:09 -07:00
Andy Getz
e3f0319d89 Merge pull request #2715 from kuzkry:document-premature-exit-file-protocol
PiperOrigin-RevId: 304617903
2020-04-04 18:05:39 -04:00
Andy Getz
7084afda5a Merge pull request #2762 from pkryger:avoid_sigprof
PiperOrigin-RevId: 304613137
2020-04-04 18:05:30 -04: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
Ji Jyun-Neng
879fd9b452 Remove duplicate codes existed in get-nprocessors.sh 2020-04-05 01:09:56 +08:00
Abseil Team
61f010d703 Googletest export
Do not use std::result_of as it was removed in C++20.

PiperOrigin-RevId: 303783600
2020-03-31 19:23:38 -04:00
Andy Getz
dc82a33473 Merge pull request #2765 from kuzkry:unsupported-build-systems
PiperOrigin-RevId: 303742575
2020-03-31 19:23:30 -04:00
Andy Getz
01e4fbf5ca Merge pull request #2764 from kuzkry:googletest-output-test-dead-code
PiperOrigin-RevId: 303414597
2020-03-31 19:23:21 -04:00
Arthur O'Dwyer
6ed4e7168f Replace the last instance of throw() with noexcept. NFC.
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
2020-03-28 15:15:20 -04:00
Arthur O'Dwyer
5504ded3ab Fix a typo in .travis.yml
The old code was trying to pass -Wgnu-zero-variadic-macro-arguments
as part of CXXFLAGS, but it forgot the quotation marks needed around
whitespace. This meant that option was ignored:
https://travis-ci.org/github/google/googletest/jobs/666534177#L760

Unfortunately, the codebase is not remotely clean with respect to that
warning option. It fails like this:
https://travis-ci.org/github/Quuxplusone/googletest/jobs/668118135

So, remove that failing configuration from the test matrix until
someone has time to look at it.
2020-03-28 13:06:55 -04:00
vslashg
189299e957
Merge branch 'master' into quiet-flag 2020-03-27 15:36:58 -04:00
Xiaoyi Zhang
67cc66080d Merge pull request #2350 from adambadura:MockFunctionFromStdFunction
PiperOrigin-RevId: 302677275
2020-03-24 17:32:16 -04:00
Abseil Team
1ced315a48 Googletest export
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
2020-03-24 17:32:07 -04:00
Krystian Kuzniarek
acabdf65fb remove chapters on Autotools, Meson and plain Makefiles 2020-03-24 15:37:34 +01:00
Krystian Kuzniarek
82e5767f78 remove dead code in googletest-output-test 2020-03-24 15:18:30 +01:00
Przemek Kryger
08347d7a16 Swap settimer and sigaction calls to avoid SIGPROF
Fixes #2760.
2020-03-24 10:08:42 +00:00