1. 12 Feb, 2019 2 commits
    • Googletest export · 28a96d18
      Abseil Team authored
      Fix matcher comparisons for std::reference_wrapper.
      
      The googletest docs indicate that std::reference_wrapper should be used to for
      objects that should not be copied by the matcher (in fact, the ByRef() function
      is basically the same as a call to std::cref).
      
      However, for many types (such as std::string), the overloaded operator== will
      not resolve correctly. Specifically, this is problematic if operator== depends
      on template argument deduction, where the same type is named on LHS and RHS.
      
      Because template argument deduction happens before any implict conversions for
      purposes of overload resolution, attempting to compare T with
      std::reference_wrapper<T> simply looks like a comparison of unlike types.
      
      For exapmle, std::reference_wrapper<std::string> is implicitly convertible to
      'const std::string&', which would be able to choose an overload specialization
      of operator==. However, the implicit conversion can only happen after template
      argument deduction for operator==, so a specialization that would other be an
      applicable overload is never considered.
      
      Note also that this change only affects matchers. There are good reasons that
      matchers may need to transparently hold a std::reference_wrapper. Other
      comparisons (like EXPECT_EQ, et. al.) don't need to capture a reference: they
      don't need to defer evaluation (as in googlemock), and they don't need to avoid
      copies (as the call chain of matchers does).
      
      PiperOrigin-RevId: 232499175
    • Googletest export · dda0df3b
      Abseil Team authored
      Internal change
      
      PiperOrigin-RevId: 232362580
  2. 05 Feb, 2019 3 commits
  3. 04 Feb, 2019 7 commits
    • Update .travis.yml · f80d6644
      Gennadiy Civil authored
    • Update .travis.yml · 5dfcd1bc
      Gennadiy Civil authored
    • Test out changes with clang/OSX each PR using Travis CI · 9df5475b
      Enji Cooper authored
      This will help ensure that test coverage isn't missed when changes that
      can impact OSX with clang are submitted. Although not perfect, testing
      changes on OSX with clang is an ok proxy [for now] for testing changes on
      FreeBSD with clang (testing on FreeBSD is non-trivial, as Travis CI doesn't
      support operating systems other than Linux and OSX).
      
      In order to support this, install the packages via homebrew using a
      `addons::homebrew::packages` block (similar to `addons::apt::packages`
      for Ubuntu), as documented in the Travis CI docs
      ( https://docs.travis-ci.com/user/installing-dependencies/ ). While
      here, try pushing apt* calls into the Travis config for Ubuntu, instead
      of delaying the equivalent calls in the `ci/*.sh` scripts. Keep the
      `ci/*.sh` scripts for ease of testing locally (and extend the OSX one to
      install gcc 4.9 and llvm 3.9, like the travis config does).
      
      In order to accomodate this change (and because the homebrew package for
      llvm@3.9 doesn't automatically add clang*-3.9 to `$PATH`), `$PATH` needs
      to be adjusted to find the llvm@3.9 toolchain.
      Signed-off-by: 's avatarEnji Cooper <yaneurabeya@gmail.com>
    • Googletest export · 50059a12
      misterg authored
      Address -Wgnu-zero-variadic-macro-arguments
      Originally in OSS PR #2063 https://github.com/google/googletest/pull/2063
      Fix regression in INSTANTIATE_TEST_SUITE_P macro to accept function pointers properly.
      
      PiperOrigin-RevId: 232316698
    • Googletest export · 52ea4f7b
      misterg authored
      Mark legacy _TEST_CASE_ macros as deprecated
      
      PiperOrigin-RevId: 232303251
    • Googletest export · 876bdfa5
      Abseil Team authored
      Update example code in gtest.h to prefer override over virtual now
      that it is widely available in C++11.
      
      PiperOrigin-RevId: 232057792
    • Merge pull request #2098 from ciband:feat/finish_platformio_support · 471f5bc4
      Gennadiy Civil authored
      PiperOrigin-RevId: 232028696
  4. 01 Feb, 2019 4 commits
  5. 31 Jan, 2019 2 commits
  6. 30 Jan, 2019 5 commits
  7. 29 Jan, 2019 2 commits
  8. 28 Jan, 2019 2 commits
  9. 25 Jan, 2019 1 commit
  10. 24 Jan, 2019 1 commit
    • Fixed "make dist" · 46b81732
      Adam Cozzette authored
      I made a few updates to the Makefile.am files so that "make dist"
      succeeds and produces a usable tarball. We need this for protobuf
      because the protobuf tarballs include a bundled copy of googletest.
  11. 23 Jan, 2019 2 commits
    • Merge pull request #2041 from ciband:chore/fix_library_json · bf07131c
      Gennadiy Civil authored
      PiperOrigin-RevId: 230554814
    • Googletest export · fdc59ffd
      Abseil Team authored
      Add AllOfArray matcher that verifies a value matches all member of some array/container/list/set/..., e.g:
      EXPECT_THAT(1, AnyOfArray({1, 2, 3}))
      In the simplest form this is identical to AnyOf(1, 2, 3). But unlike that one it works on containers.
      
      Add AnyOfArray matcher that verifies a value matches any member of some
      array/container/list/set/...
      
      PiperOrigin-RevId: 230403653
  12. 22 Jan, 2019 1 commit
    • Googletest export · 569fba4d
      Abseil Team authored
      Make internal FunctionMocker class final
      
      PiperOrigin-RevId: 230332778
  13. 18 Jan, 2019 2 commits
    • Googletest export · 9518a574
      Abseil Team authored
      Fix mocking method arguments with templated copy constructors.
      
      A previous change removed workarounds for old compilers from googletest and googlemock. Unfortunately, a bit of code that started as a workaround for Symbian's C++ compiler is still needed to avoid copy/move constructor ambiguity when mocking functions with certain argument types.
      
      The test case added by this CL is extracted from Chrome's codebase, and was discovered while attempting to roll googletest.
      
      PiperOrigin-RevId: 229801765
  14. 17 Jan, 2019 1 commit
    • Googletest export · 0adeadd2
      Abseil Team authored
      Refactor the `Invoke` and `InvokeWithoutArgs` actions:
       - Replace pump'd classes and functions with templates.
       - Make the polymorphic actions be polymorphic functors instead.
       - Fix Invoke(Callback*) to work with subclasses of the callbacks, instead of trying to diagnose that in gmock_doctor.
      
      PiperOrigin-RevId: 229604112
  15. 14 Jan, 2019 3 commits
    • Googletest export · eb9225ce
      misterg authored
      Change remaining samples to use new Test Suite API
      
      PiperOrigin-RevId: 229231566
    • Googletest export · 9acd065a
      Abseil Team authored
      Add move-only argument support to almost all remaining matchers.
      
      PiperOrigin-RevId: 229030728
    • Googletest export · 097407fd
      Abseil Team authored
      Deduplicate testing::ReferenceWrapper with std::reference_wrapper.
      Minor cleanups in matchers_test.
      
      PiperOrigin-RevId: 229022872
  16. 11 Jan, 2019 1 commit
    • Googletest export · 0599a7b8
      misterg authored
      Change tests to use new Test Suite API
      
      PiperOrigin-RevId: 228908894
  17. 10 Jan, 2019 1 commit