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
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
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
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
[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
[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
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
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
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
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
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
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
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
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
- 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