Commit Graph

1476 Commits

Author SHA1 Message Date
Abseil Team
3bd41ab23f Internal change
PiperOrigin-RevId: 362216935
2021-03-16 09:51:10 -04:00
Vollstrecker
5065389aab Use Fetchcontent instead of ExternalProject
Hi,

instead of ExternalProject and a new file that is spawned in a new process, it's easier to just use FetchContent. cmake 3.14 should be old enough to be spread.
2021-03-13 16:58:42 +01:00
Abseil Team
763eaa4305 Googletest export
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
2021-03-09 10:59:35 -08:00
Abseil Team
bb4f87e6c6 Googletest export
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
2021-03-09 10:59:28 -08:00
Dino Radaković
bcfcf75ef6 Merge pull request #3184 from N-Dekker:PrintTo-type_index-overload
PiperOrigin-RevId: 361175466
2021-03-09 10:59:10 -08:00
Abseil Team
e8b478a735 Googletest export
Update gtest doc link

PiperOrigin-RevId: 359622286
2021-02-26 17:58:17 -05:00
Be
497db77a0a remove -Zi from MSVC compiler options
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'
2021-02-25 18:19:43 -06:00
Niels Dekker
ac3c2a8d04 overload PrintTo for std::type_info and std::type_index
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.
2021-02-25 13:23:52 +01:00
Abseil Team
daa0df7b41 Googletest export
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
2021-02-18 13:27:15 -05:00
Abseil Team
0a3a3a845e Googletest export
Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard, attempt #2

PiperOrigin-RevId: 357056902
2021-02-18 13:26:24 -05:00
Andy Soffer
e09d2b6a79 Merge pull request #3216 from corentinmusard:master
PiperOrigin-RevId: 356610323
2021-02-11 12:49:33 -05:00
Abseil Team
d4144d4ee2 Googletest export
Revert include guard fix

PiperOrigin-RevId: 356588893
2021-02-11 12:49:24 -05:00
Abseil Team
0b4ecf54ca Internal change
PiperOrigin-RevId: 356572459
2021-02-11 12:49:17 -05:00
Abseil Team
af058521ad Googletest export
Fix #2987
Removing const before passing any types through UniversalPrinter.

PiperOrigin-RevId: 356508875
2021-02-11 12:49:00 -05:00
Abseil Team
36b7792047 Googletest export
Make include guards conform with https://google.github.io/styleguide/cppguide.html#The__define_Guard

PiperOrigin-RevId: 355882793
2021-02-11 12:48:43 -05:00
Abseil Team
7e73533abc Googletest export
Delete Google-internal IWYU pragmas

PiperOrigin-RevId: 355398547
2021-02-05 10:41:10 -08:00
dmcardle
fd873f6d7d Googletest export
Use linear-time string globbing in UnitTestOptions::MatchesFilter.

Algorithm is based on https://research.swtch.com/glob.

Closes #3227

PiperOrigin-RevId: 355222440
2021-02-05 10:40:36 -08:00
Abseil Team
f23cf00027 Googletest export
Address `-Wpedantic` issue introduced in https://github.com/google/googletest/pull/3204

Raised via 4898cdacfe (commitcomment-46413996)

PiperOrigin-RevId: 354198931
2021-02-05 10:39:47 -08:00
Abseil Team
726118846d Googletest export
Document the fact that MatchAndExplain(T, MatchResultListener*) is supported.

PiperOrigin-RevId: 354172275
2021-02-05 10:39:39 -08:00
Abseil Team
d114398800 Googletest export
Remove uses of GTEST_HAS_TYPED_TEST_P and GTEST_HAS_TYPED_TEST.

PiperOrigin-RevId: 353935996
2021-02-05 10:39:30 -08:00
Abseil Team
3351eba0aa Googletest export
Delete obsolete comment, gtest-param-test.h isn't generated by pump anymore

PiperOrigin-RevId: 353680589
2021-01-26 15:43:38 -05:00
Abseil Team
997c36c188 Googletest export
Stop using pump for generating internal/custom/gmock-generated-actions.h

PiperOrigin-RevId: 352660735
2021-01-26 15:42:55 -05:00
CJ Johnson
4898cdacfe Merge pull request #3204 from kuzkry:CmpHelperXX-overloads-removal
PiperOrigin-RevId: 352626267
2021-01-26 15:42:45 -05:00
krzysio
17922f344c Googletest export
Remove obsolete argument limit documentation.

Combine uses variadic templates now, so there is no inherent limit on the number of arguments.

PiperOrigin-RevId: 352580160
2021-01-26 15:42:21 -05:00
Abseil Team
14098f2015 Googletest export
Merge CONTRIBUTORS, delete LICENSEs in googletest/ and googlemock/

PiperOrigin-RevId: 352558822
2021-01-26 15:42:13 -05:00
Abseil Team
41ecb10253 Googletest export
Internal change

PiperOrigin-RevId: 352002166
2021-01-15 15:53:47 -05:00
Derek Mauro
a3c9bb99f1 Merge pull request #3206 from davidben:format-attr-2
PiperOrigin-RevId: 351812507
2021-01-15 15:53:30 -05:00
Abseil Team
a2f906be69 Googletest export
Add "using is_gtest_matcher = void" to the DivisibleBy7Matcher example.

PiperOrigin-RevId: 351797821
2021-01-15 15:53:22 -05:00
dmauro
0186caf753 Googletest export
Fix build under GCC 5

PiperOrigin-RevId: 351607537
2021-01-13 20:59:44 -05:00
Abseil Team
6b2e74905e Googletest export
Print unique_ptr/shared_ptr recursively.
Given that they are smart pointers, it is unlikely that the inner object is
invalid.

PiperOrigin-RevId: 351586888
2021-01-13 20:59:36 -05:00
Abseil Team
50ce520161 Googletest export
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
2021-01-13 20:59:28 -05:00
Abseil Team
c13c27a513 Googletest export
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
2021-01-13 20:59:20 -05:00
Abseil Team
489283524e Googletest export
Move all docs into top-level docs/ directory

PiperOrigin-RevId: 350211277
2021-01-13 20:59:12 -05:00
Abseil Team
996b65e64e Googletest export
Fix Objective-C++ compatibility

PiperOrigin-RevId: 350192165
2021-01-13 20:59:05 -05:00
Abseil Team
f8304d762e Googletest export
Add support for printing incomplete types in the universal printer.

PiperOrigin-RevId: 350154637
2021-01-13 20:58:57 -05:00
Derek Mauro
d72813110c Merge pull request #3189 from ellert:gtest-help-test-GNU/kFreeBSD
PiperOrigin-RevId: 349349288
2021-01-13 20:58:40 -05:00
Corentin Musard
e6e2f3f455 Simplify cmake install file 2021-01-11 19:05:45 +01:00
David Benjamin
28041f6428 Restore GTEST_ATTRIBUTE_PRINTF_ on ColoredPrintf
This fixes build issues with GoogleTest when built with
-Wformat-nonliteral and unblocks updating GoogleTest in BoringSSL.

It was added in 53c478d639, which caught
some bugs. Then it was moved to the header and accidentally dropped in
482ac6ee63.
2021-01-06 12:01:34 -05:00
Krystian Kuzniarek
100ffc33f5 remove explicit function overloads of CmpHelper?? for BiggestInt arguments
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).
2021-01-03 15:04:52 +01:00
Mattias Ellert
05e9fa23f7 Port to GNU/Hurd 2020-12-30 13:50:04 +01:00
Julien JEMINE
9614d8c1d6 Using auto instead of container::const_iterator 2020-12-29 16:46:55 +01:00
Derek Mauro
389cb68b87 Merge pull request #3094 from chuckatkins:update-deprecated-cmake-version
PiperOrigin-RevId: 349296827
2020-12-28 13:32:06 -05:00
Mattias Ellert
ed1bf86846 Fix gtest-help-test failure on GNU/kFreeBSD 2020-12-25 14:58:19 +01:00
Yuriy Chernyshov
263220d2c1 Use proper feature test macro to test if library supports char8_t
Reference is here: https://en.cppreference.com/w/cpp/feature_test

This PR fixes the weird case of compiling with `clang++ -std=c++17 -fchar8_t`
2020-12-24 12:20:38 +03:00
dmauro
4f6fa70870 Googletest export
Internal Change

PiperOrigin-RevId: 347631521
2020-12-22 12:15:22 -05:00
Abseil Team
5a509dbd2e Googletest export
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
2020-12-10 17:56:33 -05:00
dmauro
fb4b3b6b9a Googletest export
Fix a missing Bazel build dependency

PiperOrigin-RevId: 346783462
2020-12-10 17:56:26 -05:00
malcops
4fac06b455 Fix typo in CLI help message 2020-12-05 12:37:44 -05:00
Gautham B A
626ce00bef Fix typo 2020-12-05 16:11:09 +05:30
Peter Hill
2292b6d856 CMake: Add namespaced ALIAS library
Fixes #3125
2020-12-04 17:21:19 +00:00