Commit Graph
48 Commits
Author SHA1 Message Date
Abseil Team f8b1c1af17 Googletest export
Remove the #ifs for old, unsupported and buggy compilers:
* old versions of GCC & MSVC
* Symbian

PiperOrigin-RevId: 227116941
2019-01-02 16:51:33 -05:00
Abseil Team 34a99e547a Googletest export
Get rid of code generation for NiceMock / StrictMock.
They got small enough that it doesn't make sense to generate them.

PiperOrigin-RevId: 226455689
2018-12-21 11:30:20 -05:00
Abseil Team a83cc11abe Googletest export
Add public entry point testing::RegisterTest.

PiperOrigin-RevId: 226350937
2018-12-20 14:09:52 -05:00
Abseil Team 9494c45e75 Googletest export
Use std::function to implement type erasure in Action, wrapping the legacy
ActionInterface if necessary.

This makes functors / std::function the primary way to implement Action; the
existing ActionInterface implementations are handled through ActionAdaptor.
The existing actions are not (yet) migrated though; they'll pay the cost of one
additional indirection - but that should be negligible.

PiperOrigin-RevId: 226126137
2018-12-20 14:09:39 -05:00
Abseil Team e26a3fa13c Googletest export
Unifdef c++11-related macros from googletest now that it requires C++11.

PiperOrigin-RevId: 225905601
2018-12-20 14:09:31 -05:00
Abseil Team b7dd66519f Googletest export
Remove GTEST_REFERENCE_TO_CONST_ usage from GMock. In C++11, it's redundant.

PiperOrigin-RevId: 225719210
2018-12-17 13:53:39 -05:00
Abseil Team 1ec20f87e3 Googletest export
Allow container matchers to accept move-only containers.

PiperOrigin-RevId: 225667441
2018-12-17 13:53:33 -05:00
Abseil Team 096fb37a19 Googletest export
Replace pump'd code for DoAll with variadic templates.

PiperOrigin-RevId: 225584656
2018-12-17 13:53:26 -05:00
Abseil Team c6cb7e0335 Googletest export
Support skipped in XML and JSON output

PiperOrigin-RevId: 225386540
2018-12-13 16:00:21 -05:00
Abseil Team 6ef5913813 Googletest export
The gmock matchers have a concept of MatchAndExpain; where the details of the
matching are written to a "result listener". A matcher can avoid creating
expensive debug info by checking result_listener->IsInterested(); but,
unfortunately, the default matcher code (called from EXPECT_THAT) is always
"interested".

This change implements EXPECT_THAT matching to first run the matcher in a "not
interested" mode; and then run it a second time ("interested") only if the
match fails.

PiperOrigin-RevId: 225036073
2018-12-12 11:54:22 -05:00
Abseil Team 06bb8d4d6d Googletest export
The gmock matchers have a concept of MatchAndExpain; where the details of the
matching are written to a "result listener". A matcher can avoid creating
expensive debug info by checking result_listener->IsInterested(); but,
unfortunately, the default matcher code (called from EXPECT_THAT) is always
"interested".

This change implements EXPECT_THAT matching to first run the matcher in a "not
interested" mode; and then run it a second time ("interested") only if the
match fails.

PiperOrigin-RevId: 224929783
2018-12-11 10:11:01 -05:00
Abseil Team 3d71ab4c37 Googletest export
Deduce SizeType for SizeIs() from the return value of the size() member function

PiperOrigin-RevId: 223835674
2018-12-04 09:45:03 -05:00
Abseil Team 26743363be Googletest export
Applied fixes for ClangTidy modernize-use-override and modernize-use-using.

PiperOrigin-RevId: 223800219
2018-12-03 12:54:11 -05:00
Abseil Team a42cdf2abd Googletest export
Replace pump'd Args() matcher with variadic templates.

PiperOrigin-RevId: 223794430
2018-12-03 12:54:02 -05:00
Abseil Team f7779eb3cb Googletest export
Remove unintended dependency.

PiperOrigin-RevId: 222243874
2018-11-20 13:30:24 -05:00
Abseil Team 64368e0584 Googletest export
Remove redundant Base/Derived types.

PiperOrigin-RevId: 222243634
2018-11-20 13:30:16 -05:00
Abseil Team c2989fe29b Googletest export
Add stringization based tests for gmock-pp.h macros

PiperOrigin-RevId: 221961835
2018-11-20 13:29:47 -05:00
Abseil Team 5dab7be70d Googletest export
Validate spec modifiers.

PiperOrigin-RevId: 221810235
2018-11-20 13:29:40 -05:00
Abseil Team 45d66d81be Googletest export
Point IWYU at an existent path.

PiperOrigin-RevId: 221797154
2018-11-20 13:29:32 -05:00
Abseil Team aac18185eb Googletest export
Upgrade WithArgs family of actions to C++11.

PiperOrigin-RevId: 221671690
2018-11-20 13:29:12 -05:00
Abseil Team e46e87bb1f Googletest export
Unify implementation of GMOCK_PP_REPEAT and GMOCK_PP_FOREACH.

PiperOrigin-RevId: 221659669
2018-11-20 13:29:02 -05:00
Abseil Team c5f08bf919 Googletest export
One macro to rule them all.

PiperOrigin-RevId: 221462515
2018-11-15 16:11:19 -05:00
Abseil Team b18d39bd2e Googletest export
Include type_traits header

ElementsAre, UnorderedElementsAre, AllOf, and AnyOf are all defined in terms of std::decay, which is in the type_traits header.

PiperOrigin-RevId: 220818637
2018-11-13 09:20:47 -05:00
Abseil Team de5be0eb28 Googletest export
Move FunctionMocker and MockFunction out of the pump file and implement with variadic templates.

PiperOrigin-RevId: 220640265
2018-11-08 14:49:12 -05:00
Abseil Team 71d4fc8d76 Googletest export
[Fuchsia] Create the death test child process in a separate job.

This creates a separate job to launch the child process into. The
exception port can then be attached to the new job before the child
process is launched, solving a potential race condition.

PiperOrigin-RevId: 219366531
2018-10-30 21:20:50 -04:00
Abseil Team e0d3c37051 Googletest export
Fix broken Fuchsia cc_test.

PiperOrigin-RevId: 219170936
2018-10-30 21:20:35 -04:00
Abseil Team 2e308484d9 Googletest export
[Fuchsia] Make the child process stderr redirection use a socket.

This changes the stderr redirection mechanism for the child process in Fuchsia death tests to use a Zircon socket rather than fd redirection. This should improve performance and reliability of the redirection process.
This also includes some minor style cleanups.

PiperOrigin-RevId: 218903196
2018-10-26 16:23:59 -04:00
Abseil Team b57c703963 Googletest export
Remove linked_ptr and use std::shared_ptr instead

PiperOrigin-RevId: 218618184
2018-10-26 14:19:59 -04:00
Abseil Team 82987067d8 Googletest export
Change ValuesArray to require much less template instantiation depth.

PiperOrigin-RevId: 218170842
2018-10-22 11:29:14 -04:00
Abseil Team 29b47e45cf Googletest export
C++11 code cleanup.

PiperOrigin-RevId: 217364243
2018-10-18 11:32:16 -04:00
Abseil Team bc6a4ce380 Project import generated by Copybara.
PiperOrigin-RevId: 216423319
2018-10-11 12:44:00 -04:00
Abseil Team 7d3b73c85a Unconditionally use std::tuple.
Remove all mention of TR1 tuple and our own implementation of tuple.

PiperOrigin-RevId: 216395043
2018-10-09 16:25:58 -04:00
Abseil Team b652edb39c Apply [[noreturn]] to Abort()
PiperOrigin-RevId: 216383938
2018-10-09 16:25:44 -04:00
Abseil Team f8a1481c0a Make GTestColor and ColoredPrintF available as internal APIs from gtest.h. This is for use in abseil exception safety testing.
PiperOrigin-RevId: 215920581
2018-10-05 12:54:28 -04:00
Abseil Team 4bb49ed640 Apply clang-tidy modernize-use-nullptr to googletest.
Now that googletest has moved to C++11, it should no longer
use NULL or 0 for the null pointer. This patch converts all
such usages to nullptr using clang-tidy.

This prevents LLVM from issuing -Wzero-as-null-pointer-constant
warnings.

PiperOrigin-RevId: 215814400
2018-10-05 12:54:14 -04:00
Abseil Team 2b016ca493 Googletest export
Project import generated by Copybara.

PiperOrigin-RevId: 214456152
2018-09-25 13:05:37 -04:00
Abseil Team 0fc5466dbb Googletest export
Project import generated by Copybara.
Including recently accepted and merged PRs

PiperOrigin-RevId: 213856848
2018-09-25 13:05:03 -04:00
Abseil Team 1b20bd176f Googletest export
support printing std::reference_wrapper<T> in gUnit

PiperOrigin-RevId: 213270392
2018-09-20 11:01:16 -04:00
Abseil Team ffc9baeb4c Googletest export
Treat default-constructed string_view same as constructed from "".
In the context of string comparison (e.g. HasSubstr, StartsWith, EndsWith,
etc.), a default-constructed string_view (nullptr) should be semantically same
as a empty string "".

PiperOrigin-RevId: 212816839
2018-09-14 11:13:48 -04:00
Abseil Team 0d2262138c Googletest export
Make EXPECT_THROW print the actual exception type on the "threw the wrong exception type" case if the actual exception is a std::exception

PiperOrigin-RevId: 211524592
2018-09-06 08:47:43 -04:00
Abseil Team dbd55366c8 Googletest export
Make EXPECT_THROW print the actual exception type on the "threw the wrong exception type" case if the actual exception is a std::exception

PiperOrigin-RevId: 211519873
2018-09-06 08:47:36 -04:00
Abseil Team 00d1ffc8c8 Googletest export
Fix the typed test names in the tests for customized typed test parameters.

As required by googletest documentation, the names should not contain an underscore.

PiperOrigin-RevId: 210678652
2018-08-30 21:32:54 -04:00
Abseil Team 65d03530e6 Googletest export
Fix line that was wrapping in the middle of a link

This looks uglier, but has the advantage that the link is kept in one
piece.

PiperOrigin-RevId: 210537337
2018-08-28 16:53:52 -04:00
Abseil Team 03867b5389 Googletest export
Add the possibility of specifying the name in type parameterized tests.

Similar to how the last parameter of INSTANTIATE_TEST_CASE_P allows to override the name for (non-type) parametrized tests, this adds the possibility of adding a parameter to INSTANTIATE_TYPED_TEST_CASE_P. The argument has to be a class, which contains a static templated function GetName<T>(int), returning the name for type T.

PiperOrigin-RevId: 210532231
2018-08-28 16:53:45 -04:00
Abseil Team 52f8183e7f Googletest export
Breaks Windows builds

PiperOrigin-RevId: 210434120
2018-08-28 16:53:38 -04:00
Abseil Team 167c5e8188 Googletest export
Fix Theta(N^2) memory usage of EXPECT_EQ(string) when the strings don't match.

The underlying CalculateOptimalEdits() implementation used a simple
dynamic-programming approach that always used N^2 memory and time. This meant
that tests for equality of large strings were ticking time bombs: They'd work
fine as long as the test passed, but as soon as the strings differed the test
would OOM, which is very hard to debug.
I switched it out for a Dijkstra search, which is still worst-case O(N^2), but
in the usual case of mostly-matching strings, it is much closer to linear.

PiperOrigin-RevId: 210405025
2018-08-28 16:53:30 -04:00
Abseil Team a0e62d9f1a No longer require a functor passed to ResultOf matcher to define result_of type.
This makes ResultOf more convenient to use. In particular, the matcher now accepts
lambdas.

PiperOrigin-RevId: 210118509
2018-08-27 12:22:26 -04:00
Abseil Team ca87cc72e2 googletest export
- 208874130 Copybara tweaks, testing various round-trip sutuations(fu... by misterg <misterg@google.com>
  - 208880646 Fix header guards and remove special case copybara by misterg <misterg@google.com>
  - 208874252 Copybara tweaks for googletest reversible transform by misterg <misterg@google.com>
  - 208853103 Adding a flow to export PR from GitHub into Google3 and a... by misterg <misterg@google.com>
  - 208708150 Removing leakr-sensitive words.  by misterg <misterg@google.com>
  - 208672083 Import of OSS PR 1665 by misterg <misterg@google.com>
  - 208663904 Remove LEAKR "author" warnings for googletest copybara ex... by misterg <misterg@google.com>
  - 208646244 Incrementally finalizing OSS<->google3 transforms by misterg <misterg@google.com>
  - 208548323 Move custom google3 only code to custom/ by misterg <misterg@google.com>
  - 208234974 Removed scrubs, replaced with reversible transforms by misterg <misterg@google.com>
  - 208211213 Move custom tests under custom by misterg <misterg@google.com>
  - 208082996 Replace of OSS insert with reversible replace by misterg <misterg@google.com>
  - 208072299 Replace scrubs with reversible replaces, incrementally ge... by misterg <misterg@google.com>
  - 208059357 Replace scrub with reversible replace by misterg <misterg@google.com>
  - 208055415 Fixing GCC brace warning that shows up in OSS with GCC8 a... by misterg <misterg@google.com>
  - 207933728 Incrementally getting close to the reversible transformat... by misterg <misterg@google.com>
  - 207917581 Removing stripping with replace dictionary entries to eas... by misterg <misterg@google.com>
  - 207911026 Incremental Tweaks, on the way to reversible google3<-> g... by misterg <misterg@google.com>
  - 207905179 Removing unnecessary comments stripping by misterg <misterg@google.com>
  - 207901741 Fix typo in Fuchsia death-test implementation. by Abseil Team <absl-team@google.com>
  - 207776408 Move custom tests into /custom by misterg <misterg@google.com>
  - 207746583 Remove stripping for printer for absl:variant by misterg <misterg@google.com>
  - 207733597 Suppress default exception handling for death-test proces... by Abseil Team <absl-team@google.com>
  - 207719598 Import of googletest from Github. by misterg <misterg@google.com>
  - 207283991 PR1673, extra parentheses in declaration cause GCC 8.1.1 ... by misterg <misterg@google.com>
  - 206986279 Fix Duplicate definition, (original in googletest-test_te... by misterg <misterg@google.com>
  - 206980794 Allow googletest-json-output unitest to handle supporting... by misterg <misterg@google.com>
  - 206957064 Refactor to avoid OSS round-trip transformation problems ... by misterg <misterg@google.com>
  - 206760733 Fixed weird syntax in these tests that was causing OSS tr... by misterg <misterg@google.com>
  - 206750694 Tweak copybara,  by misterg <misterg@google.com>
  - 206611945 Make files consistent to enable copybara round-trip trans... by misterg <misterg@google.com>
  - 206589404 OSS changes to open source two more tests by misterg <misterg@google.com>
  - 206355044 Fixing copybara (was missing comment) by misterg <misterg@google.com>
  - 206323492 Make reversible transforms possible for Copybara OSS<->go... by misterg <misterg@google.com>
  - 206011852 Consolidate various copybara files into one file. by misterg <misterg@google.com>
  - 205999518 remove weird char, should be space. pump and generated .h... by misterg <misterg@google.com>
  - 205897244 Small cleanups to avoid potentially hard-to-reverse OSS t... by misterg <misterg@google.com>
  - 205894405 Simplifying include path for tests. by misterg <misterg@google.com>
  - 205892873 Removing obsolete files by misterg <misterg@google.com>
  - 205873647 Simplifying include path for samples. by misterg <misterg@google.com>
  - 205712910 Continue restructuring, will have common copybara file to... by misterg <misterg@google.com>
  - 205711819 Removing non-ASCII chars by misterg <misterg@google.com>
  - 205702635 Refactor internal googletest name to match OSS Name by misterg <misterg@google.com>
  - 205403311 Comments change by misterg <misterg@google.com>
  - 205246538 OSS community (https://github.com/google/googletest/pull/... by misterg <misterg@google.com>
  - 205242422 Moving RE2 into custom where it rightfully belongs by misterg <misterg@google.com>
  - 205138666 Add a 3-ary Property() matcher overload for ref-qualified... by Abseil Team <absl-team@google.com>
  - 205128154 Automated g4 rollback of changelist 205108639. by misterg <misterg@google.com>
  - 205108639 Moving RE2 into custom where it rightfully belongs by misterg <misterg@google.com>
  - 205102342 Comment link fix by misterg <misterg@google.com>
  - 205097052 OSS sync, still need to worry about not C++11 by misterg <misterg@google.com>
  - 205080271 Keeping up with the changes, ensure that the code still t... by misterg <misterg@google.com>
  - 204815384 Mark the various RE legacy versions of the matchers as de... by Abseil Team <absl-team@google.com>
  - 204744294 OSS, someone noticed that if GTEST_HAS_EXCEPTIONS is set ... by misterg <misterg@google.com>
  - 204363541 Add stacktrace support to the non-Google3 version of Goog... by Abseil Team <absl-team@google.com>
  - 204330832 Google Test: absl::variant is now open source, so add the by Abseil Team <absl-team@google.com>
  - 204130690 Bringing in OSS PR 1647 by misterg <misterg@google.com>
  - 203979061 Set 'reason' field for leakr.disable_check() transformati... by Abseil Team <absl-team@google.com>
  - 203954557 Fixing comments, otherwise copybara leaves extra "//" in ... by misterg <misterg@google.com>
  - 203487065 Correctly handle legacy regular expressions in googletest... by Abseil Team <absl-team@google.com>
  - 201997367 Remove references to GTEST_HAS_PROTOBUF_. by Abseil Team <absl-team@google.com>
  - 201735597 Upgrade gUnit from RE to RE2 -- Step 3/4 by Abseil Team <absl-team@google.com>
  - 201229160 Upgrade gUnit from RE to RE2 -- Step 1/4 by Abseil Team <absl-team@google.com>
  - 201228020 Remove extra copy of gunit samples - there should really ... by misterg <misterg@google.com>
  - 200602156 Eliminate GTEST_TEST_FILTER_ENV_VAR_. by Abseil Team <absl-team@google.com>
  - 200500026 Make RegisterTasks faster by Abseil Team <absl-team@google.com>
  - 200361990 Add IWYU pragmas to gmock headers. by Abseil Team <absl-team@google.com>
  - 200292286 Fix speling by Abseil Team <absl-team@google.com>
  - 200222319 Adding docs to copybara. by misterg <misterg@google.com>
  - 199815917 Fuchsia: Change fdio include path. by Abseil Team <absl-team@google.com>
  - 199195290 Remove launchpad dependency from Fuchsia. by Abseil Team <absl-team@google.com>
  - 199134849 Add printer for std::nullptr_t. by Abseil Team <absl-team@google.com>
  - 198710999 Properly decay variadic matchers by Abseil Team <absl-team@google.com>
  - 197733704 WIP - copybara script capable of google3-to-github  by misterg <misterg@google.com>
  - 197166689 Keeping up, sync cl/197012432 to combined "googletest" di... by misterg <misterg@google.com>
  - 196253300 Keep up with changes,cl/196162435 by misterg <misterg@google.com>
  - 195816901 go/googletest-plan by misterg <misterg@google.com>
  - 195816542 Moving http://cl/167016557 and http://cl/195690905 into c... by misterg <misterg@google.com>
  - 195712930 Following up for http://cl/195677772 More fixing typos, p... by misterg <misterg@google.com>
  - 195702162 Moving http://cl/195020996 into combined dir by misterg <misterg@google.com>
  - 195677772 Fix typos, the original IWYU was  by misterg <misterg@google.com>
  - 195249681 go/googletest-plan , Combine gUnit and gMock into third_p... by misterg <misterg@google.com>

PiperOrigin-RevId: 208874130
2018-08-15 17:15:36 -04:00