3663 Commits

Author SHA1 Message Date
Abseil Team
1a8ecf1813 Googletest export
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
2021-03-22 15:18:50 -04:00
Andy Soffer
3ff1e8b98a Merge pull request #3315 from zaucy:master
PiperOrigin-RevId: 363176008
2021-03-18 11:55:57 -04:00
Austin Sullivan
9c047902ac
Update nicestrictnaggy gmock cook_book links
An incorrect link is output to the user when these conditions are met.
2021-03-17 10:33:19 -04:00
Andy Soffer
b7d472f122 Merge pull request #3291 from Be-ing:remove_zi_msvc
PiperOrigin-RevId: 363063211
2021-03-16 09:51:31 -04:00
Abseil Team
ac1d60c2b5 Googletest export
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
2021-03-16 09:51:18 -04:00
Abseil Team
3bd41ab23f Internal change
PiperOrigin-RevId: 362216935
2021-03-16 09:51:10 -04:00
Abseil Team
d0dbf0f6c8 Googletest export
Update CONTRIBUTING link in README

PiperOrigin-RevId: 362141000
2021-03-16 09:51:03 -04:00
Abseil Team
98ca420679 Googletest export
Internal change

PiperOrigin-RevId: 362040448
2021-03-16 09:50:49 -04:00
Ezekiel Warren
5c08f92c88
Use @platforms instead of @bazel_tools for windows constraint 2021-03-14 18:41:28 -07: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
e8512bc38c Googletest export
Add missing period and use "that" in restrictive clause.

PiperOrigin-RevId: 361941663
2021-03-10 08:49:41 -08:00
Abseil Team
861d535e25 Googletest export
Update READMEs and issue template

PiperOrigin-RevId: 361931644
2021-03-10 08:49:32 -08: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
Abseil Team
bf465ff05d Internal change
PiperOrigin-RevId: 361213113
2021-03-09 10:59:19 -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
79b556eff6 Googletest export
Add CI test scripts

PiperOrigin-RevId: 360931988
2021-03-09 10:59:01 -08:00
Abseil Team
e7e591764b Googletest export
Format WORKSPACE and googlemock/test/BUILD.bazel using buildifier

PiperOrigin-RevId: 360913861
2021-03-04 12:07:39 -05:00
Abseil Team
32983d211b Googletest export
Fix enum names in a value-parameterized test example.

PiperOrigin-RevId: 360559723
2021-03-04 12:07:32 -05:00
Abseil Team
de41f8223c Googletest export
Add Supported Platforms page to docs

PiperOrigin-RevId: 360307129
2021-03-04 12:07:25 -05:00
Abseil Team
e8b478a735 Googletest export
Update gtest doc link

PiperOrigin-RevId: 359622286
2021-02-26 17:58:17 -05:00
Abseil Team
3832a41ef9 Googletest export
Update links in index.md

PiperOrigin-RevId: 358956598
2021-02-26 17:58:04 -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
1de637fbdd Googletest export
Remove anchors from page titles in docs

PiperOrigin-RevId: 358474917
2021-02-22 10:40:11 -05:00
Abseil Team
d9c309fdab Googletest export
Add files for GitHub Pages

PiperOrigin-RevId: 358289110
2021-02-19 13:55:48 -05: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
7fb047bca3 Googletest export
Explain how to wrap matchers.

PiperOrigin-RevId: 357901293
2021-02-18 13:27:08 -05:00
Abseil Team
5893778716 Googletest export
Update stale links to `gmock_cook_book.md`.

I'm a new googletest user and found these links broken when reading the documentation.

PiperOrigin-RevId: 357786392
2021-02-18 13:27:00 -05:00
Abseil Team
bc32a87452 Googletest export
Update the custom name example to not use underscores.

The NOTE a few blocks above specifically calls out that test names should not contain undersccores, so probably the example should not suggest using underscores.

PiperOrigin-RevId: 357204578
2021-02-18 13:26:48 -05:00
Abseil Team
1a5a78b9a9 Googletest export
Add files for GitHub Pages

PiperOrigin-RevId: 357096486
2021-02-18 13:26:40 -05:00
Abseil Team
9e2c7ab0d8 Googletest export
Add issue templates

PiperOrigin-RevId: 357075859
2021-02-18 13:26:32 -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
Abseil Team
e935e6c387 Googletest export
Internal change

PiperOrigin-RevId: 356867746
2021-02-18 13:26:12 -05:00
Abseil Team
609281088c Googletest export
Docs cleanup

PiperOrigin-RevId: 356798444
2021-02-11 12:49:54 -05:00
Abseil Team
eac6a02cc2 Googletest export
Mark move constructor noexcept

PiperOrigin-RevId: 356772642
2021-02-11 12:49:46 -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
Andy Soffer
e165773418 Merge pull request #3262 from platisd:master
PiperOrigin-RevId: 356568444
2021-02-11 12:49:08 -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
9c2293af06 Googletest export
Fix build for MinGW + clang

In [1], empty_bases "is only supported when using the Microsoft C++ ABI." Disable it for MinGW.

https://clang.llvm.org/docs/AttributeReference.html#empty-bases

PiperOrigin-RevId: 356373782
2021-02-11 12:48:52 -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
platisd
46b188577b Do not include void into mocked method arguments
If a function that takes no arguments explicitly states (void)
then do not include it in the mocked method argument list
since it triggers static assertions that expect no arguments
to be present.

Fixes (?) #3261
2021-02-05 21:30:10 +01:00
Abseil Team
f3ef7e173f Googletest export
Fix table formatting in cookbook

PiperOrigin-RevId: 355659722
2021-02-05 10:41:32 -08:00
dmauro
9e975a022e Googletest export
Disable Travis CI. The migration to travis-ci.com is incompatible with
security policy. These tests are now run on Kokoro.

PiperOrigin-RevId: 355438343
2021-02-05 10:41:23 -08:00
Abseil Team
7e73533abc Googletest export
Delete Google-internal IWYU pragmas

PiperOrigin-RevId: 355398547
2021-02-05 10:41:10 -08:00
Abseil Team
b6323d216d Googletest export
Add a note to recommend against using `Property()` for functions that the test author does not own.

PiperOrigin-RevId: 355295183
2021-02-05 10:41:02 -08:00
Abseil Team
aea7f60bf5 Googletest export
Update description of `Property()` matcher

PiperOrigin-RevId: 355253498
2021-02-05 10:40:53 -08:00
Abseil Team
8599d312ce Googletest export
Fix terminal output formatting in advanced guide

PiperOrigin-RevId: 355233178
2021-02-05 10:40:45 -08:00