1. 14 Oct, 2020 13 commits
    • dmauro's avatar
      Googletest export · 7e7e9442
      dmauro authored
      Stop using master.zip to make the build reproducible
      
      PiperOrigin-RevId: 337102716
      7e7e9442
    • Abseil Team's avatar
      Googletest export · 8ccc5ec5
      Abseil Team authored
      Removing a semicolon that triggers a lint error in sample code.
      
      PiperOrigin-RevId: 337095451
      8ccc5ec5
    • dmauro's avatar
      Googletest export · 79dc0f23
      dmauro authored
      Disable -Wmismatched-tags warning for struct/class tuple_size
      
      PiperOrigin-RevId: 337087493
      79dc0f23
    • Abseil Team's avatar
      Googletest export · b2cb220e
      Abseil Team authored
      Prefer using over typedef.
      
      PiperOrigin-RevId: 337080404
      b2cb220e
    • dmauro's avatar
      Googletest export · fb239f0e
      dmauro authored
      Fix -Wmismatched-tags error with struct tuple_size vs class tuple_size
      
      PiperOrigin-RevId: 336930166
      fb239f0e
    • dmauro's avatar
      Googletest export · b55f834c
      dmauro authored
      Fixes AppVeyor by upgrading to Bazel 3.6.0
      
      PiperOrigin-RevId: 336887434
      b55f834c
    • Derek Mauro's avatar
      Merge pull request #3050 from peternewman:patch-1 · 6abcfac2
      Derek Mauro authored
      PiperOrigin-RevId: 336881266
      6abcfac2
    • Abseil Team's avatar
      Googletest export · d4df326d
      Abseil Team authored
      Use absl::StrCat in MATCHER_P example for consistency with https://abseil.io/tips/3
      
      PiperOrigin-RevId: 336878481
      d4df326d
    • Abseil Team's avatar
      Googletest export · d11c7617
      Abseil Team authored
      Suggest using generic lambdas for composing macros.
      
      Long chains of macros hurt legibility; generic lambdas are an easy way to abbreviate them, but are not an obvious solution to casual users.
      
      Compare:
      EXPECT_THAT(f(), ElementsAre(
          Property(&MyClass::foo, Property(&OtherClass::bar, Contains("x"))),
          Property(&MyClass::foo, Property(&OtherClass::bar, Contains("y"))));
      to:
      EXPECT_THAT(f(), ElementsAre(HasFooBar("x"), HasFooBar("y")));
      PiperOrigin-RevId: 336870137
      d11c7617
    • ofats's avatar
      Googletest export · 2cf1f99b
      ofats authored
      Add helper methos to internal FlatTuple. Refactor constructors.
      
      PiperOrigin-RevId: 336306681
      2cf1f99b
    • Abseil Team's avatar
      Googletest export · 0555b0ea
      Abseil Team authored
      Improve lookup of operator<< for user types
      
      Without this fix, trying to use this class with googletest
      
        struct Foo {};
      
        template <typename OutputStream>
        OutputStream& operator<<(OutputStream& os, const Foo&) {
          os << "TemplatedStreamableInFoo";
          return os;
        }
      
      results in an ambiguity error between the class' operator<< and the
      operator<< in gtest-printers.h removed in this CL.
      
      This fix also enables implicit conversions to happen, so that e.g.
      we will find the base class operator<< if a subclass has no
      operator<< of its own.
      
      PiperOrigin-RevId: 336261221
      0555b0ea
    • Abseil Team's avatar
      Googletest export · 72512aa8
      Abseil Team authored
      Make the code Python3 compliant.
      
      PiperOrigin-RevId: 336144198
      72512aa8
    • Derek Mauro's avatar
      Merge pull request #2837 from inazarenko:duck_type_protos · 4abb012c
      Derek Mauro authored
      PiperOrigin-RevId: 336087297
      4abb012c
  2. 12 Oct, 2020 1 commit
  3. 07 Oct, 2020 1 commit
  4. 01 Oct, 2020 1 commit
    • Abseil Team's avatar
      Googletest export · 1fb1bb23
      Abseil Team authored
      Update faq.md on underscore to mention `DISABLED_` prefix.
      
      PiperOrigin-RevId: 334507963
      1fb1bb23
  5. 30 Sep, 2020 5 commits
  6. 29 Sep, 2020 1 commit
  7. 27 Sep, 2020 1 commit
    • keshavgbpecdelhi's avatar
      Update cook_book.md · 1f3484a2
      keshavgbpecdelhi authored
      Please note that changing the default value for a type can make [you]* test.....
      Here "you" word doesn't make sense.. rather "your" seems to make it understandable.
      1f3484a2
  8. 24 Sep, 2020 5 commits
    • Abseil Team's avatar
      Googletest export · fe4d5f10
      Abseil Team authored
      Revision of recent DoubleNearPredFormat change to support more toolchains.
      
      isnan() is a macro in C99, and std::isnan() is a function in C++11.  The previous change used `isnan` directly, and broke some tests in open source.
      
      This CL changes it to follow the practice in gmock-matchers.h, and spell uses of isnan as
        (std::isnan)(f)
      .  The parens around `std::isnan` prevent it from being recognized as a macro in the preprocessor.
      
      PiperOrigin-RevId: 333374377
      fe4d5f10
    • Abseil Team's avatar
      Googletest export · df94fc5f
      Abseil Team authored
      Address OSS Issue #2463 https://github.com/google/googletest/issues/2463
      
      PiperOrigin-RevId: 333289989
      df94fc5f
    • vslashg's avatar
      Merge pull request #3014 from JethroSama:patch-1 · 634c52d9
      vslashg authored
      PiperOrigin-RevId: 333288626
      634c52d9
    • Abseil Team's avatar
      Googletest export · b5687db5
      Abseil Team authored
      Improve DoubleNearPredFormat output on bad epsilons
      
      DoubleNearPredFormat will happily accept epsilon values (abs_error) that
      are so small that they are meaningless. This turns EXPECT_NEAR into a
      complicated and non-obvious version of EXPECT_EQ.
      
      This change modifies DoubleNearPredFormat) so that when there is a
      failure it calculates the smallest meaningful epsilon value, given the
      input values, and then prints a message which explains what happened.
      
      If a true equality test is wanted either pass a literal 0.0 as abs_error
      or use EXPECT_EQ. If a check for being almost equal is wanted consider
      using EXPECT_DOUBLE_EQ which, contrary to its name, verifies that the
      two numbers are *almost* equal (within four ULPs).
      
      With this change the flaky test mentioned in crbug.com/786046 gives this
      output:
      
      The difference between 4.2934311416234112e+18 and 4.2934311416234107e+18 is 512, where
      4.2934311416234112e+18 evaluates to 4.2934311416234112e+18,
      4.2934311416234107e+18 evaluates to 4.2934311416234107e+18.
      The abs_error parameter 1.0 evaluates to 1 which is smaller than the minimum distance between doubles for numbers of this magnitude which is 512, thus making this EXPECT_NEAR check equivalent to EXPECT_EQUAL. Consider using EXPECT_DOUBLE_EQ instead.
      
      Tested:
      I confirmed that this change detects the bad epsilon value that caused
      crbug.com/786046 in Chromium and added a test for the desired output.
      PiperOrigin-RevId: 332946880
      b5687db5
    • tbarbier's avatar
      Fix warning maybe-uninitialized · 4679637f
      tbarbier authored
      4679637f
  9. 20 Sep, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · 7aca8442
      Abseil Team authored
      Simplify FooConcrete static calls in googlemock cookbook.
      
      PiperOrigin-RevId: 332437041
      7aca8442
    • Abseil Team's avatar
      Googletest export · bb272534
      Abseil Team authored
      Reduce the demangled name bloat of the Action constructor.
      
      PiperOrigin-RevId: 332234887
      bb272534
  10. 18 Sep, 2020 1 commit
  11. 10 Sep, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · a4ab0abb
      Abseil Team authored
      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: 330614454
      a4ab0abb
    • Derek Mauro's avatar
      Merge pull request #2994 from xerus2000:gmock-docs · 64660396
      Derek Mauro authored
      PiperOrigin-RevId: 330545489
      64660396
  12. 08 Sep, 2020 1 commit
    • dmauro's avatar
      Googletest export · 5f8fcf4a
      dmauro authored
      Implements GetTimeInMillis() using std::chrono for portability
      Fixes #2995
      
      PiperOrigin-RevId: 329709958
      5f8fcf4a
  13. 01 Sep, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · 7b1cf6dd
      Abseil Team authored
      gtest.cc: make ColoredPrintf static
      
      the prototype was removed from gtest.h in cl/301446904; quiets a
      -Wmissing-declarations warning
      
      PiperOrigin-RevId: 329569020
      7b1cf6dd
    • Abseil Team's avatar
      Googletest export · af1e75ce
      Abseil Team authored
      Add millisecond precision to start timestamp in XML/JSON output
      
      - Previous timestamp had format YYYY-MM-DDThh:mm:ss, now YYYY-MM-DDThh:mm:ss.sss
      - This conforms to the ISO 8601 standard
      
      PiperOrigin-RevId: 329503623
      af1e75ce
  14. 27 Aug, 2020 1 commit
  15. 25 Aug, 2020 1 commit
  16. 24 Aug, 2020 2 commits
    • vslashg's avatar
      Merge pull request #2895 from lantw44:wip/lantw/Avoid-using-environ-on-FreeBSD · 1e315c5b
      vslashg authored
      PiperOrigin-RevId: 327799934
      1e315c5b
    • Abseil Team's avatar
      Googletest export · ec9be15b
      Abseil Team authored
      Workaround static assert in early versions libc++
      
      The error is "Attempted to construct a reference element in a tuple with an
      rvalue". We can fix this by putting everything into a non temporary tuple_args
      and implitly convert to the other tuple types. This avoids binding an rvalue
      reference to an lvalue reference inside the tuple.
      
      PiperOrigin-RevId: 327624990
      ec9be15b