1. 22 Mar, 2021 1 commit
    • Abseil Team's avatar
      Googletest export · 1a8ecf18
      Abseil Team authored
      Print std::u8string, std::u16string, and std::u32string as string literals
      
      Previously, these types were printed as "{ U+123, U+456, U+789 }". However,
      printed output in that form is difficult to compare against any literals that
      might be defined in code. Instead, just treat these types like std::string
      and std::wstring, escaping non-ASCII characters with a hexadecimal escape
      sequence.
      
      The tests have also been updated to cover the new functionality: as a bonus,
      the tests now also pass with the MSVC toolchain.
      
      Internally, the code has been reorganized to primarily operate in terms of
      char32_t, under the assumption that char32_t will always be at least as big
      as wchar_t. While that assumption is currently true, perhaps it won't be in
      the future...
      
      PiperOrigin-RevId: 364033132
      1a8ecf18
  2. 16 Mar, 2021 2 commits
    • Abseil Team's avatar
      Googletest export · ac1d60c2
      Abseil Team authored
      gtest: Output a canned test suite for environment failures in XML/JSON
      
      This surfaces useful information about the environment failure in a structured form.
      
      As we can see from the updated test, previously unsurfaced information is now present.
      
      PiperOrigin-RevId: 362292322
      ac1d60c2
    • Abseil Team's avatar
      Internal change · 3bd41ab2
      Abseil Team authored
      PiperOrigin-RevId: 362216935
      3bd41ab2
  3. 09 Mar, 2021 2 commits
    • Abseil Team's avatar
      Googletest export · 763eaa43
      Abseil Team authored
      Use monotonic time to measure test duration
      
      System time may be updated while a test is running. When this occurs a
      duration measured using system time may appear to move backwards, or
      jump far forwards.
      This change updates the duration measurement to use monotonic time
      instead. Timestamps for the test start still use system time.
      
      PiperOrigin-RevId: 361700881
      763eaa43
    • Abseil Team's avatar
      Googletest export · bb4f87e6
      Abseil Team authored
      gtest.cc: Split out functions for printing `TestResult` objects
      
      This will make it possible to reuse this code for outputting the "ad_hoc" `TestResult` objects in structured form in XML/JSON.
      
      PiperOrigin-RevId: 361604860
      bb4f87e6
  4. 26 Feb, 2021 2 commits
    • Abseil Team's avatar
      Googletest export · e8b478a7
      Abseil Team authored
      Update gtest doc link
      
      PiperOrigin-RevId: 359622286
      e8b478a7
    • Be's avatar
      remove -Zi from MSVC compiler options · 497db77a
      Be authored
      This is incompatible with compiler caches such as sccache and
      clcache. If a project including Google Test specifies /Z7 instead,
      building fails with:
      
      sccache C:\PROGRA~2\MICROS~1\2019\ENTERP~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe  /nologo /TP -D__SSE2__ -D__SSE__ -I..\lib\googletest-1.10.x\googlemock\include -I..\lib\googletest-1.10.x\googlemock -I..\lib\googletest-1.10.x\googletest\include -I..\lib\googletest-1.10.x\googletest /DWIN32 /D_WINDOWS /W4 /GR  /MD /Z7 /O2 /Ob1 /DNDEBUG -GS -W4 -WX -wd4251 -wd4275 -nologo -J -Zi -D_UNICODE -DUNICODE -DWIN32 -D_WIN32 -DSTRICT -DWIN32_LEAN_AND_MEAN -wd4702 -DGTEST_HAS_PTHREAD=0 -EHsc -D_HAS_EXCEPTIONS=1  /Gy /showIncludes /Folib\googletest-1.10.x\googlemock\CMakeFiles\gmock_main.dir\src\gmock-all.cc.obj /Fdbin\gmock_main.pdb /FS -c ..\lib\googletest-1.10.x\googlemock\src\gmock-all.cc
      FAILED: lib/googletest-1.10.x/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.obj
      ..\lib\googletest-1.10.x\googletest\src\gtest-all.cc: fatal error C1041: cannot open program database 'D:\a\mixxx\mixxx\build\bin\gmock_main.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
      cl : Command line warning D9025 : overriding '/Z7' with '/Zi'
      497db77a
  5. 25 Feb, 2021 1 commit
    • Niels Dekker's avatar
      overload PrintTo for std::type_info and std::type_index · ac3c2a8d
      Niels Dekker authored
      Included the string returned by their `name()` member function with the output of `PrintTo`.
      
      Typical use case:
      
          std::unique_ptr<AbstractProduct> product = FactoryMethod();
          // Assert that the product is of type X:
          ASSERT_EQ(std::type_index{typeid(*product)},
                    std::type_index{typeid(ProductX)});
      
      Possible output in case of a test assert failure, now including the names of the compared type indices:
      
      > error: Expected equality of these values:
      >  std::type_index(typeid(*product))
      >    Which is: 8-byte object <D0-65 54-8C F6-7F 00-00> ("class ProductY")
      >  std::type_index(typeid(ProductX))
      >    Which is: 8-byte object <40-64 54-8C F6-7F 00-00> ("class ProductX")
      
      With help from Krystian Kuzniarek.
      ac3c2a8d
  6. 18 Feb, 2021 2 commits
    • Abseil Team's avatar
      Googletest export · daa0df7b
      Abseil Team authored
      Explicitly skip tests after fatal global environment setup errors
      
      Previously the tests were all skipped, but the resulting output claimed all
      tests passed.
      
      Before:
      ```
      [----------] Global test environment set-up.
      <failure message>
      [----------] Global test environment tear-down
      [==========] 1 test from 1 test suite ran. (83 ms total)
      [  PASSED  ] 1 test.
      [  FAILED  ] 0 tests, listed below:
      ```
      
      After:
      ```
      [==========] Running 1 test from 1 test suite.
      [----------] Global test environment set-up.
      <failure message>
      [----------] 1 test from SomeTest
      [ RUN      ] SomeTest.DoesFoo
      <...>: Skipped
      [  SKIPPED ] SomeTest.DoesFoo (0 ms)
      [----------] 1 test from SomeTest (0 ms total)
      
      [----------] Global test environment tear-down
      [==========] 1 test from 1 test suite ran. (68 ms total)
      [  PASSED  ] 0 tests.
      [  SKIPPED ] 1 test, listed below:
      [  SKIPPED ] SomeTest.DoesFoo
      [  FAILED  ] 0 tests, listed below:
      ```
      
      PiperOrigin-RevId: 358026389
      daa0df7b
    • Abseil Team's avatar
      Googletest export · 0a3a3a84
      Abseil Team authored
      Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard, attempt #2
      
      PiperOrigin-RevId: 357056902
      0a3a3a84
  7. 11 Feb, 2021 4 commits
  8. 05 Feb, 2021 5 commits
  9. 26 Jan, 2021 4 commits
    • Abseil Team's avatar
      Googletest export · 3351eba0
      Abseil Team authored
      Delete obsolete comment, gtest-param-test.h isn't generated by pump anymore
      
      PiperOrigin-RevId: 353680589
      3351eba0
    • Abseil Team's avatar
      Googletest export · 997c36c1
      Abseil Team authored
      Stop using pump for generating internal/custom/gmock-generated-actions.h
      
      PiperOrigin-RevId: 352660735
      997c36c1
    • krzysio's avatar
      Googletest export · 17922f34
      krzysio authored
      Remove obsolete argument limit documentation.
      
      Combine uses variadic templates now, so there is no inherent limit on the number of arguments.
      
      PiperOrigin-RevId: 352580160
      17922f34
    • Abseil Team's avatar
      Googletest export · 14098f20
      Abseil Team authored
      Merge CONTRIBUTORS, delete LICENSEs in googletest/ and googlemock/
      
      PiperOrigin-RevId: 352558822
      14098f20
  10. 15 Jan, 2021 2 commits
    • Abseil Team's avatar
      Googletest export · 41ecb102
      Abseil Team authored
      Internal change
      
      PiperOrigin-RevId: 352002166
      41ecb102
    • Abseil Team's avatar
      Googletest export · a2f906be
      Abseil Team authored
      Add "using is_gtest_matcher = void" to the DivisibleBy7Matcher example.
      
      PiperOrigin-RevId: 351797821
      a2f906be
  11. 14 Jan, 2021 7 commits
    • dmauro's avatar
      Googletest export · 0186caf7
      dmauro authored
      Fix build under GCC 5
      
      PiperOrigin-RevId: 351607537
      0186caf7
    • Abseil Team's avatar
      Googletest export · 6b2e7490
      Abseil Team authored
      Print unique_ptr/shared_ptr recursively.
      Given that they are smart pointers, it is unlikely that the inner object is
      invalid.
      
      PiperOrigin-RevId: 351586888
      6b2e7490
    • Abseil Team's avatar
      Googletest export · 50ce5201
      Abseil Team authored
      Launder buffer before reference
      
      In GCC, directly casting the Buffer reference to another type results in
      strict-aliasing violation errors. This launders the reference using an
      intermediate pointer prior to creating the new reference.
      
      PiperOrigin-RevId: 350809323
      50ce5201
    • Abseil Team's avatar
      Googletest export · c13c27a5
      Abseil Team authored
      Change Matcher<T> to allow binding an implementation by value directly:
       - Drop the requirement of MatcherInterface. Doing manual type erasure avoid
         extra layers in many cases.
       - Avoid the adaptor for `MatcherInterface<T>` and `MatcherInterface<const T&>` mismatch.
       - Use a small object optimization when possible. This makes things like
         `_` and `Eq(1)` really cheap and do not require memory allocations.
       - Migrate some matchers to the new model to speed them up and to test the new framework. More matchers to come in future changes.
      
      PiperOrigin-RevId: 350580998
      c13c27a5
    • Abseil Team's avatar
      Googletest export · 48928352
      Abseil Team authored
      Move all docs into top-level docs/ directory
      
      PiperOrigin-RevId: 350211277
      48928352
    • Abseil Team's avatar
      Googletest export · 996b65e6
      Abseil Team authored
      Fix Objective-C++ compatibility
      
      PiperOrigin-RevId: 350192165
      996b65e6
    • Abseil Team's avatar
      Googletest export · f8304d76
      Abseil Team authored
      Add support for printing incomplete types in the universal printer.
      
      PiperOrigin-RevId: 350154637
      f8304d76
  12. 11 Jan, 2021 1 commit
  13. 06 Jan, 2021 1 commit
  14. 03 Jan, 2021 1 commit
    • Krystian Kuzniarek's avatar
      remove explicit function overloads of CmpHelper?? for BiggestInt arguments · 100ffc33
      Krystian Kuzniarek authored
      Affects macros {ASSERT|EXPECT}_{EQ|NE|LE|LT|GE|GT}.
      
      According to removed comments, these overloads were supposed to reduce
      code bloat and allow anonymous enums on GCC 4.
      
      However, the way it works on GCC 4 and the latest GCC (10.2 by now) is
      that having:
      
      template <typename T1, typename T2>
      void foo(T1, T2);
      
      using BiggestInt = long long;
      void foo(BiggestInt, BiggestInt);
      
      the template version takes precedence for almost every combination of
      integral types except for two long long integers - i.e. implicit
      promotion to long long is a worse match than generating a specific
      template function.
      
      Tested on GCC 4.8.1 (as GoogleTest requires C++11 and this was
      the first C++11 feature-complete release of GCC),
      GCC 4.8.5 (last of 4.8.x series) and the latest GCC (10.2.0).
      100ffc33
  15. 25 Dec, 2020 1 commit
  16. 22 Dec, 2020 1 commit
  17. 10 Dec, 2020 2 commits
    • Abseil Team's avatar
      Googletest export · 5a509dbd
      Abseil Team authored
      Remove ZX_WAIT_ASYNC_ONCE flag
      
      It is deprecated and will soon be removed in fuchsia source.
      It's currently defined as 0 and references should be changed to 0.
      
      PiperOrigin-RevId: 346787585
      5a509dbd
    • dmauro's avatar
      Googletest export · fb4b3b6b
      dmauro authored
      Fix a missing Bazel build dependency
      
      PiperOrigin-RevId: 346783462
      fb4b3b6b
  18. 05 Dec, 2020 1 commit