Commit Graph

1688 Commits

Author SHA1 Message Date
Tom Hughes
16feffa8fa Replace "#if GTEST_HAS_ABSL" with "#ifdef GTEST_HAS_ABSL"
This allows compilation with "-Wundef" (#3267).

PiperOrigin-RevId: 513945230
Change-Id: I45ef19c7ff3d20e97216bd031d406a03365471da
2023-03-06 07:16:32 -08:00
Tom Hughes
dc10c3b5e5 Use "#ifdef" with public macros
This allows compilation with "-Wundef" (#3267).

PiperOrigin-RevId: 513944726
Change-Id: I1a3854bb2333d5dec6c0ff91ee1eddd9a766ab91
2023-03-06 07:15:44 -08:00
Tom Hughes
7b1ced0682 Only define GTEST_IS_THREADSAFE to 1, not 0
According to the comments, "Feature-indicating macros",
such as GTEST_IS_THREADSAFE should be defined to 1 when supported
and otherwise undefined (never 0).

PiperOrigin-RevId: 513944266
Change-Id: I0f5c8bed107a5f20e957ec7c70339540ca2fe831
2023-03-06 07:15:32 -08:00
Tom Hughes
a08c03c5f5 Always specify definitions for internal macros
These macros should only be used within googletest, so changing them will not
affect external users.

This allows compiling with -Wundef (#3267).

PiperOrigin-RevId: 513943800
Change-Id: I697b1005c29b0d5af06f583f202d86db48b567b9
2023-03-06 07:15:17 -08:00
Tom Hughes
23142843f7 Use "#ifdef GTEST_OS_..." instead of "#if GTEST_OS_..."
This is compatible with compiling with "-Wundef" (#3267).

PiperOrigin-RevId: 513943378
Change-Id: I47cf5fabbb77be061c4483a0adc54511af6b191c
2023-03-06 07:14:21 -08:00
Yonggang Luo
6f1c4b3d7b Fixes the test gmock_output_test.py with MSVC
For MSVC, gmock_output_test.py output struct std::pair<int,bool>, for GCC, it's output
std::pair<int, bool>, it's not the same, my intention is getting these to be same by removing
struct  for MSVC's outptu, and strip redundant space for GCC.

As a by-product,
```
#ifdef _MSC_VER
#define ERROR_DESC "class std::runtime_error"
#else
#define ERROR_DESC "std::runtime_error"
#endif
```
can be simplified to

```
#define ERROR_DESC "std::runtime_error"
```

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
2023-03-01 00:13:32 +08:00
Abseil Team
8aa75fa771 Eliminate argv list action parameter.
PiperOrigin-RevId: 512791992
Change-Id: Ie7fc37ea06ea7d9f595268c9ec84a0e144c297bb
2023-02-27 18:47:21 -08:00
Copybara-Service
c7d0bc8309 Merge pull request #4164 from sergio-nsk:patch-2
PiperOrigin-RevId: 512753220
Change-Id: I3f7ad6c62c738d1d7405c50924b36deac8a9ac85
2023-02-27 15:49:24 -08:00
Phoebe Liang
6882aa0987 Reorder printers list.
PiperOrigin-RevId: 512708763
Change-Id: I1f24f2e1d17359aee5aa4cdf614c9357872ca03b
2023-02-27 13:03:15 -08:00
Abseil Team
3d787f5a0d Add const qualifier to gtest_sentinel which doesn't change.
PiperOrigin-RevId: 512094429
Change-Id: I29b116da65bc7471c43021d1650d90f7b2a685c2
2023-02-24 09:50:32 -08:00
Dino Radakovic
39a26e12d6 Avoid redundant declaration of static constexpr members in c++17
Keep declarations in c++ < 17 using new macro, GTEST_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL.

Fixes #4148.

PiperOrigin-RevId: 511510401
Change-Id: I76c3f2fccf07a0978adcbe5f8f0203b9d0c33872
2023-02-22 09:02:55 -08:00
Sergey
10493e3854
Fix error in_death_test_child_process: undeclared identifier
The error occurs if !GTEST_HAS_DEATH_TEST on Windows.
2023-02-21 13:29:20 -07:00
Tom Hughes
750d67d809 Remove int64_t cast in RecordProperty
Historically, calls to RecordProperty with values that are convertible to
int64_t have been casted to int64_t. The result was that types like float or
double would be truncated when printed (e.g., 4.75 -> 4). This change removes
the cast so that the types are printed in a more appropriate manner.

PiperOrigin-RevId: 511238685
Change-Id: I80de5db14462da2a3e1f476086025ae514383a17
2023-02-21 10:25:39 -08:00
Darryl Pogue
fe5b7ef71e
Set CMP0069 policy to avoid warnings
When googletest and googlemock are included as a git submodule and referenced
as part of an existing CMake project, multiple warnings are printed out due to
not setting a value for the CMP0069 policy.
2023-02-17 23:22:27 -08:00
Abseil Team
f063cd25c9 Remove strdup usage
PiperOrigin-RevId: 509947007
Change-Id: I31e1274afa889776829c877c40c9af589298dcf2
2023-02-15 15:22:10 -08:00
Abseil Team
2057566e4e Remove some filesystem APIs and tests under !GTEST_HAS_FILE_SYSTEM
PiperOrigin-RevId: 509537606
Change-Id: I68f7054e34b1fe76c1fd85099fffa4ee3c2b00c0
2023-02-14 08:33:42 -08:00
Abseil Team
b80a07ffe6 Avoid reliance on <any> header without RTTI on MSVC
Fixes: #4144
PiperOrigin-RevId: 509322023
Change-Id: I52bdf6c25ff433327e174d3f9583b3d50b872d58
2023-02-13 13:46:03 -08:00
Tom Hughes
b73f27fd16 Fix _MSC_VER check
Use "#if defined(_MSC_VER)" instead of "#if _MSC_VER" to be consistent
with other usages in googletest and to work with the "-Wundef" warning.

PiperOrigin-RevId: 508087630
Change-Id: I29c16fd2fa51a9dfecd55e10362a020318318956
2023-02-08 08:29:54 -08:00
Tom Hughes
0570e2d930 Remove GTEST_USES_PCRE references
Nothing defines GTEST_USES_PCRE anymore. It was only meant for
internal use, so nothing public should be relying on it:
https://github.com/google/googletest/issues/2735#issuecomment-644849438.

Found when compiling with "-Wundef".

Fixes #2735.

PiperOrigin-RevId: 507823660
Change-Id: Ie19e576ff01dc3b16381338578ece92adccfc09b
2023-02-07 10:38:08 -08:00
Tom Hughes
deaf5615f1 Fix -Wsign-conversion warnings
googletest/test/gtest_xml_outfile2_test_.cc:48:39:
warning: implicit conversion turns floating-point number into integer:
'float' to 'int64_t' (aka 'long') [-Wfloat-conversion]
  RecordProperty("TestFloatProperty", float_prop);
  ~~~~~~~~~~~~~~                      ^~~~~~~~~~

googletest/test/gtest_xml_outfile2_test_.cc:51:40:
warning: implicit conversion turns floating-point number into integer:
'double' to 'int64_t' (aka 'long') [-Wfloat-conversion]
  RecordProperty("TestDoubleProperty", double_prop);
  ~~~~~~~~~~~~~~                       ^~~~~~~~~~~

googletest/test/gtest_xml_outfile2_test_.cc:57:39:
warning: implicit conversion changes signedness:
'size_t' (aka 'unsigned long') to 'int64_t' (aka 'long') [-Wsign-conversion]
  RecordProperty("TestSizetProperty", size_t_prop);
  ~~~~~~~~~~~~~~                      ^~~~~~~~~~~
PiperOrigin-RevId: 506644143
Change-Id: I9c2cd5f52daebe25e73bb97f696687797ed2cabf
2023-02-02 09:31:44 -08:00
Tom Hughes
4f7c63d991 Remove unneccessary "#if _MSC_VER"
The GTEST_DISABLE_MSC_WARNINGS macros already have an _MSC_VER check.
This change also adds a missing GTEST_DISABLE_MSC_WARNINGS_POP_ in
gtest-typed-test_test.cc.

PiperOrigin-RevId: 506636248
Change-Id: Ifdc044528f5448fbf0175887d1671f1e1f3040b9
2023-02-02 09:02:17 -08:00
Abseil Team
6f21175f57 Add a trailing decimal point to FormatTimeInMillisAsSeconds() output when input
is an exact N seconds.

PiperOrigin-RevId: 506610898
Change-Id: Idcd705c719e0e721148c350c8a14f27b9eb5c4f7
2023-02-02 07:15:23 -08:00
Tom Hughes
fd36851c8d Build gmock Python tests when building with cmake
Fixes #4124.

PiperOrigin-RevId: 506379032
Change-Id: Ibc44ffce1012bbf313565728a3d9e5e6e56ba660
2023-02-01 11:44:56 -08:00
Tom Hughes
d9251171f5 Fix sign conversion warning from clang:
googletest/samples/prime_tables.h:81:57: error:
implicit conversion changes signedness: 'int' to 'unsigned long'
[-Werror,-Wsign-conversion]
      : is_prime_size_(max + 1), is_prime_(new bool[max + 1]) {
                                           ~~~      ~~~~^~~

PiperOrigin-RevId: 506065360
Change-Id: Ida4550562531012c089e2f9fcf530b3a78889fa3
2023-01-31 11:37:10 -08:00
Tom Hughes
4fb7039fda Use GTEST_DISABLE_MSC_WARNINGS macros to disable warnings
Prior to this change we had a mixture of pragmas and
GTEST_DISABLE_MSC_WARNINGS; this change consolidates all instances
to use the macros.

PiperOrigin-RevId: 505786926
Change-Id: I2be8f6304387393995081af42ed32c2ad1bba5a7
2023-01-30 13:45:46 -08:00
Tom Hughes
b72202078d Test current behavior of doubles and floats in RecordProperty
PiperOrigin-RevId: 505104193
Change-Id: I4c2758f22ee1321ed6b6662ab2668f6c5b6aa661
2023-01-27 06:38:52 -08:00
Tom Hughes
403a968d3c Fix formatting in Python files
PiperOrigin-RevId: 504890435
Change-Id: Ia9a89d0d7a07fe70c12f7f0202c8256c94d2f118
2023-01-26 11:06:14 -08:00
Tom Hughes
0194f90d0e Fix Python docstrings to match style guide
https://google.github.io/styleguide/pyguide.html#s3.8.3-functions-and-methods

PiperOrigin-RevId: 504857416
Change-Id: I7815ce27e454a120b3974ae7e2bea952108b836c
2023-01-26 09:04:40 -08:00
Tom Hughes
b495f72f1f Use more specific assertLess instead of assertTrue
PiperOrigin-RevId: 504670738
Change-Id: Ib68b676403204098e89f536f9b8317f9f717c24d
2023-01-25 15:01:21 -08:00
Tom Hughes
f47d75faf3 Fix pylint warning
Possible unbalanced tuple unpacking with sequence defined at line N:
left side has 1 label(s), right side has 0 value(s)
[unbalanced-tuple-unpacking]

PiperOrigin-RevId: 504640001
Change-Id: If8d6038a9acf74a409cb6b6ee30cea7745b4b303
2023-01-25 13:03:31 -08:00
Tom Hughes
137dcd18cc Remove pylint disable comments that no longer trigger warnings
PiperOrigin-RevId: 504633130
Change-Id: I3fdbc83975fea97aa53f7325d323adead0a30e24
2023-01-25 12:35:34 -08:00
Tom Hughes
d1ad27e0a4 Fix formatting in subset of Python files
These files were formatted with automated tools. The remaining Python
files require some manual fix ups, so they will be fixed separately.

PiperOrigin-RevId: 504579820
Change-Id: I3923bd414bffe3ded6163ec496cd09ace3951928
2023-01-25 09:14:26 -08:00
Tom Hughes
6c65a1ca35 Replace numeric lints with their string equivalent
PiperOrigin-RevId: 504570278
Change-Id: Iab9c988b3a781eaafbdd97c924a74c2269125799
2023-01-25 08:32:19 -08:00
Tom Hughes
2491710524 Fix formatting of C++ files
PiperOrigin-RevId: 504325204
Change-Id: Iaa1d6d0ab1dccaaeef26f9cb109d530835499240
2023-01-24 11:10:09 -08:00
Tom Hughes
408471e20c Fix formatting of Markdown files
PiperOrigin-RevId: 504308485
Change-Id: Ia4ae97b2173b44b89aa5d987ddefd6e0c1488386
2023-01-24 10:13:03 -08:00
Derek Mauro
544c96ed5b Remove FloatingPoint::Max() in favor of std::numeric_limits::max()
In #4113 a user says Max clashes with a macro. Since it is only used in
a test, use std::numeric_limits::max() instead.

Note that in headers, the macro issue can be mitigated with
parenthesis like this: `(std::numeric_limits<T>::max)()`

PiperOrigin-RevId: 504284906
Change-Id: Ibf430caec1a6afdf6b303534fec6a4fd00a6373f
2023-01-24 08:41:35 -08:00
Tom Hughes
bdb3b0a493 Replace deprecated python calls
assert_ -> assertTrue/assertFalse/assertIn/assertNotIn
assertEquals -> assertEqual

PiperOrigin-RevId: 502654909
Change-Id: I25d30095a83c3806606cb80d676b3c979495e6bd
2023-01-17 12:16:29 -08:00
Tom Hughes
5cd81a7848 Fix -Wimplicit-int-float-conversion warning
We're intentionally losing precision in this case, so add a cast.

googletest/googletest/include/gtest/gtest-printers.h:532:9: error:
implicit conversion from 'int32_t' (aka 'int') to 'float' may lose precision
[-Werror,-Wimplicit-int-float-conversion]
    if (static_cast<int32_t>(val * mulfor6 + 0.5) / mulfor6 == val) return 6;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~

googletest/googletest/include/gtest/gtest-printers.h:544:9: error:
implicit conversion from 'int32_t' (aka 'int') to 'float' may lose precision
[-Werror,-Wimplicit-int-float-conversion]
    if (static_cast<int32_t>(val / divfor6 + 0.5) * divfor6 == val) return 6;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~

PiperOrigin-RevId: 502646042
Change-Id: I05989ee42675b531a9907616c9582a5a7c77bed6
2023-01-17 11:44:46 -08:00
Derek Mauro
9d697cc81c Update documentation for v1.13.0
PiperOrigin-RevId: 502644180
Change-Id: Id20b5e4eec22035da278f1767002657f66dbe79c
2023-01-17 11:38:05 -08:00
Derek Mauro
b5401fef68 Add an explicit #error that C++ versions less than C++14 are not supported
PiperOrigin-RevId: 501568410
Change-Id: I0f78cd96dc9204c8ec97a1cdd09a9d63a613cc5b
2023-01-12 08:10:36 -08:00
Tom Hughes
9345421658 Fix GTEST_OS_ESP8266 check
Everywhere else in the code, we check the value of GTEST_OS_ESP8266, not just
whether it is defined.

PiperOrigin-RevId: 499946909
Change-Id: I86f7e8947abb4e928fc24d1416d8237987b27845
2023-01-05 11:15:29 -08:00
Tom Hughes
e5e46b09a1 IWYU: Add missing std includes
PiperOrigin-RevId: 499893032
Change-Id: I33304802b7c82ae2d008f3ee89df38866e5f57ba
2023-01-05 08:44:01 -08:00
Derek Mauro
0296d7d370 Workaround for GCC12 bug illustrated by https://godbolt.org/z/Pe5aE59xG
Fixes #4108

PiperOrigin-RevId: 499556061
Change-Id: I1cb1564f9b77e1825fddc9236965f4a3b661d96a
2023-01-04 12:50:14 -08:00
Tom Hughes
3a99ab6d83 Fix _MSC_VER check
Use "#if defined(_MSC_VER)" instead of "#if _MSC_VER" to be consistent with other usages in the file and to work with the "-Wundef" warning.

PiperOrigin-RevId: 499471290
Change-Id: I34a9442eecf266afd74d4332cab7d39766df4ed9
2023-01-04 06:40:48 -08:00
Gonzalo Brito Gadeschi
ab669cad0e Fix warnings with nvc++ as the compiler
Closes #3849.
2022-12-28 06:00:31 -08:00
Abseil Team
b0846aaf37 Introduces a new porting flag (GTEST_HAS_FILE_SYSTEM) to indicate whether a platform supports filesystem operations.
PiperOrigin-RevId: 494751986
Change-Id: I07f73bdf478a73934b8f1a69c1ab4abda1b231ae
2022-12-12 09:34:12 -08:00
Tom Hughes
516940f16d Fall back to the system clock when building with newlib on a system without a monotonic clock.
PiperOrigin-RevId: 493917905
Change-Id: I20137cfcda3671ffc8edcda2b6554aa392e3a00a
2022-12-08 09:34:13 -08:00
Derek Mauro
97459e54ec Remove the unused class TestNameIs
Fixes #4076

PiperOrigin-RevId: 493158910
Change-Id: Id66c0443a6f5f4d167ae39ac79766b32cf95a383
2022-12-05 17:39:39 -08:00
Abseil Team
9c332145b7 When printing floating-point numbers, print full precision by default.
To make debug output readable, we still use the faster 6-digit precision
sometimes, but only if it will round-trip.

This way, when a test fails due to a very small difference in floating-point
numbers, users will have enough digits to see the difference.

PiperOrigin-RevId: 488958311
Change-Id: Ibcac43f48a97006d89217530c69386cc4fa2735c
2022-11-16 09:18:37 -08:00
Abseil Team
4408a0288b Remove incorrect usage of GTEST_ATTRIBUTE_UNUSED_ on classes.
Fixes: #4054
PiperOrigin-RevId: 488721587
Change-Id: I8742d8475376635c83edcf524796a6107042e89b
2022-11-15 12:01:35 -08:00
Copybara-Service
0e6aac2571 Merge pull request #4058 from zloylos:support-kitty-term
PiperOrigin-RevId: 488463135
Change-Id: I4180d766dabbe438210904e743e6e963122540f5
2022-11-14 14:06:58 -08:00
Copybara-Service
42c6f57f3c Merge pull request #4060 from RerEngineer:main
PiperOrigin-RevId: 488456139
Change-Id: I648f3d2c6affadfea27214a6a22cacc576971cef
2022-11-14 13:40:08 -08:00
RerEngineer
9c990a7b1e fixing gcc.gnu domain redirection 2022-11-12 15:12:00 +00:00
Abseil Team
912db74253 Defined a testing::SrcDir() function that returns the name of a directory
where ancillary data files can be found.

PiperOrigin-RevId: 487896836
Change-Id: Ie6b1ba734e900fa33872b63090879ee6efe33411
2022-11-11 12:59:10 -08:00
Denis Hananein
4b7f9453c5 Support kitty TERM
Signed-off-by: Denis Hananein <i@zloylos.me>
2022-11-10 17:08:48 +01:00
Copybara-Service
44c03643cf Merge pull request #4039 from zloylos:fix-return-fail-at-4038
PiperOrigin-RevId: 487516335
Change-Id: Ib475750586fc7e6ab01729f65253e3a86916b994
2022-11-10 06:13:31 -08:00
Abseil Team
386c7665f5 RecordProperty serializes ints and 64-bit ints, including size_ts
PiperOrigin-RevId: 486685761
Change-Id: I164d2646e65670d341dbf437ee571953c456677a
2022-11-07 09:36:56 -08:00
Abseil Team
a4f02ef389 Fix typo in documentation of ConvertGenerator()
PiperOrigin-RevId: 486316328
Change-Id: I91d5d5ba1aaf4a4ab14019c8963e7fe181722f95
2022-11-05 01:07:38 -07:00
Copybara-Service
e07617d6c6 Merge pull request #4036 from zloylos:fix-output-json-3884
PiperOrigin-RevId: 482287697
Change-Id: I1179a1570cd64fcb156bda26e5c779b876c51742
2022-10-19 13:25:11 -07:00
Abseil Team
6bad847991 CMake: Add GTEST_HAS_ABSL build option for using Absl
PiperOrigin-RevId: 482101793
Change-Id: I1bd140fd6a325f573c8a0c464e4dccd4acd0d0a3
2022-10-18 21:40:24 -07:00
Abseil Team
f372c76026 Adds Win32 UNC path support to FilePath::IsAbsolutePath() and FilePath::IsRootDirectory() in GoogleTest
Fixes: #3025
PiperOrigin-RevId: 481932601
Change-Id: I90fcb5b3d189aea79a0fd18735bad038b3511270
2022-10-18 08:52:33 -07:00
Derek Mauro
26d3ab5442 Fix detection of the no_sanitize("hwaddress") attribute
PiperOrigin-RevId: 481765573
Change-Id: I1ba829c3cbf364a51d3ba383ee3b474c0e109578
2022-10-17 16:15:59 -07:00
Denis Hananein
6f149520a1 Add return for GTEST_FAIL_AT 2022-10-16 01:57:22 +02:00
Derek Mauro
a9b2f0495c Use attribute testing to simplify portable attribute macros
Fixes #4025

PiperOrigin-RevId: 481186097
Change-Id: Id7d09e4626e5ccf564e8cfaa65581c1cd827918d
2022-10-14 11:00:40 -07:00
Abseil Team
137b6e2770 Terse printing of std::reference_wrapper hides pointer
This matches the intention and documentation of terse printing which generally avoids printing the pointer.

PiperOrigin-RevId: 481178950
Change-Id: I27039dac1870934d2d5b212e2cc7e97ab82c5b34
2022-10-14 10:32:49 -07:00
Denis Hananein
1d505b8e40 Fix JSON output format #3884 2022-10-11 12:11:46 +02:00
Ferenc Géczi
671cfb7dbf Suggests a release with fixed CMakeLists.txt
Signed-off-by: Ferenc Géczi <ferenc.gm@gmail.com>
2022-10-09 16:47:19 +00:00
Abseil Team
67e264834a [fuchsia] Use __builtin_trap to trigger gunit_break_on_failure on non-x86 arch
In developing tests for the fuchsia debugger, it was found that in addition to catching gtest failures (which are implemented as software breakpoints) we also see PageFault exceptions, caused by this nullptr dereference.

PiperOrigin-RevId: 479365782
Change-Id: I84d805d94c2e46b6f3c982ca1ae49c6ac3ed3430
2022-10-06 11:22:36 -07:00
Abseil Team
08935483cb Makes Clang compilations via Ninja on Windows define _DLL only for shared CRT builds, as one would already expect from MSVC builds. (Previously, static Clang/Ninja builds on Windows also implicitly defined _DLL, which was problematic.)
PiperOrigin-RevId: 479113168
Change-Id: I252d9be90fd33df75dab922e62b197208830d124
2022-10-05 12:27:31 -07:00
Copybara-Service
8c4dc11539 Merge pull request #3967 from BMBurstein:custom_type_combine
PiperOrigin-RevId: 478775323
Change-Id: I92231bb8edd8e01b9b7cbe445c43dcf84f458521
2022-10-04 07:06:58 -07:00
Abseil Team
93f08be653 Uses a simpler mechanism to disable the copying of GoogleTest test suites, to move code out of the TEST_P macro.
PiperOrigin-RevId: 478031678
Change-Id: I45f0ce17a4add526c86b8212d836d98d63b3a193
2022-09-30 10:55:15 -07:00
Abseil Team
d1a0039b97 Rollback: Moves boilerplate disabling copy constructor/assignment from GoogleTest's TEST_P macro into a header file to avoid triggering warnings in user code.
PiperOrigin-RevId: 477566426
Change-Id: Ia417e295d839f43be6e61a5699457866108f2a01
2022-09-28 15:24:50 -07:00
Abseil Team
19387c9dd5 Rollback: Uses a simpler mechanism to disable the copying of GoogleTest test suites.
PiperOrigin-RevId: 477560280
Change-Id: I1c1f5a1d6645859ec38cb1a75cd267816d2aff35
2022-09-28 14:59:04 -07:00
Abseil Team
c43b916a96 Uses a simpler mechanism to disable the copying of GoogleTest test suites.
PiperOrigin-RevId: 477549427
Change-Id: I6421ca09f0f1296cebdc3e54565049f1542dfa8a
2022-09-28 14:14:58 -07:00
Abseil Team
4924e0610a Moves boilerplate disabling copy constructor/assignment from GoogleTest's TEST_P macro into a header file to avoid triggering warnings in user code.
Fixes #4015

PiperOrigin-RevId: 477513399
Change-Id: Ia21928ee12e85946b4c8db86835d225cb257eecc
2022-09-28 11:55:57 -07:00
Baruch
24683e2d6a
Merge branch 'google:main' into custom_type_combine 2022-09-28 11:32:21 +03:00
Copybara-Service
e23cdb78e9 Merge pull request #4016 from Maratyszcza:qurt
PiperOrigin-RevId: 477265396
Change-Id: I781dae4ef2c5b6c771d960f1ec5a3c5cff0e97ad
2022-09-27 13:49:56 -07:00
Abseil Team
dfa6735236 Add GoogleTest workaround for MSVC crash with Address Sanitizer (ASAN) on version 17.3.3
PiperOrigin-RevId: 477240422
Change-Id: I894037850617252e462783c0885e30fc8e7ad122
2022-09-27 12:09:46 -07:00
Marat Dukhan
7a3abfec0a Port GoogleTest to QuRT (Hexagon RTOS) 2022-09-26 14:49:00 -07:00
Paul Groke
096014a45d work around GCC 6~11 ADL bug
see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51577
ADL seems to work properly when we do the SFINAE check via the return type, but not when using a dummy template parameter

fix #3992
2022-09-15 13:36:49 +02:00
Baruch
56070d8903
Merge branch 'google:main' into custom_type_combine 2022-09-14 21:46:21 +03:00
Copybara-Service
9080381758 Merge pull request #3916 from asmodai27:main
PiperOrigin-RevId: 471062949
Change-Id: I3f063c441b3d4275d931016c431519c14e68d51c
2022-08-30 12:40:01 -07:00
Abseil Team
afd902e992 Consider all TERM values ending in "-256color" to be color supporting. In particular this handles TERM=hterm-256color correctly.
PiperOrigin-RevId: 470232889
Change-Id: Iea594a3fde2b8b0a10e527956d70ba0bb3452e08
2022-08-26 06:35:30 -07:00
Baruch
dd969ed5fe
Merge branch 'google:main' into custom_type_combine 2022-08-25 10:55:49 +03:00
Dino Radakovic
4c9a3bb62b gtest_unittest: Call FAIL() in lambda, fix incorrect fatality expectation
FAIL() evaluates into a return statement: 5b909beeec/googletest/include/gtest/internal/gtest-internal.h (L1347)
Calling it from the body of the test case turns all subsequent expectations into no-ops.

Fixes #3941

PiperOrigin-RevId: 466104977
Change-Id: Ic15f43acb734295a5c9690a2b5eec6f65e8c0814
2022-08-08 11:48:12 -07:00
Dino Radakovic
5b909beeec Explicitly instantiate matchee std::string in MatchesRegex
If this ever turns out to be a performance issue, we could use std::conditional and std::is_same to avoid copying std::strings.

Fixes #3949

PiperOrigin-RevId: 465353572
Change-Id: If2d691bccb626c692c87e006df5afe88a4ed1542
2022-08-04 10:53:57 -07:00
Copybara-Service
6045bf2ade Merge pull request #3918 from assafpr:master2main
PiperOrigin-RevId: 464586117
Change-Id: Icda62f13b962f7408bb5698ae2b627391257d152
2022-08-01 11:47:51 -07:00
Copybara-Service
fa3f444be1 Merge pull request #3951 from matdibu:main
PiperOrigin-RevId: 464546862
Change-Id: I6ee696f4f66a5f76015a36737b5cde5edc91a9bc
2022-08-01 08:59:08 -07:00
Baruch Burstein
3280a930bf Custom type with Combine(). Fix for #3781 2022-07-31 22:50:04 +03:00
Yuriy Chernyshov
aa2e91fd69
Continuation for #3183
Some of the #ifdefs were missed in original PR.
Should be fixed now.
2022-07-21 14:25:43 +03:00
Matei Dibu
61720589cb gtest-death-test: add 'noreturn' 2022-07-20 19:16:51 +03:00
Copybara-Service
7735334a46 Merge pull request #3940 from anpol:pdb-static-lib
PiperOrigin-RevId: 461703446
Change-Id: I61773eafa6d6bf6294218a5117fdebf5dd8a7bb1
2022-07-18 13:45:12 -07:00
Copybara-Service
43a6712a0c Merge pull request #3946 from anpol:export-tlvhbase
PiperOrigin-RevId: 461701938
Change-Id: I92601aeef9f0bb18a6d1c8b08e497d93dde4012a
2022-07-18 13:39:19 -07:00
Copybara-Service
71feea653b Merge pull request #3939 from anpol:python-find-strategy
PiperOrigin-RevId: 461699564
Change-Id: Id7043073f106f57433a99fea0e8e4ab015bf896d
2022-07-18 13:30:20 -07:00
Copybara-Service
91480a4e79 Merge pull request #3927 from yutotnh:fix-typo
PiperOrigin-RevId: 461699509
Change-Id: I9bab4474c5f52d4d66691dfb96a4d20f89fbcfeb
2022-07-18 13:29:19 -07:00
Andrei Polushin
3655149a60 export ThreadLocalValueHolderBase which is required by exported APIs.
fixes #3944
2022-07-14 21:36:41 +07:00
Andrei Polushin
a2d6ee847e cmake: make PDB output directory match that of a static library.
PDB files should be created at the same location as their primary
artifact, which is either static library or a DLL.

On Windows, an artifact location is controlled by:

* RUNTIME_OUTPUT_DIRECTORY is a directory of a DLL artifact.
* ARCHIVE_OUTPUT_DIRECTORY is a directory of a LIB artifact.

A PDB file location is controlled:

* PDB_OUTPUT_DIRECTORY should match a directory of a DLL artifact.
* COMPILE_PDB_OUTPUT_DIRECTORY should match a directory of a LIB artifact.
2022-07-13 02:13:34 +07:00
Andrei Polushin
96ddde1235 cmake: find python in order specified by PATH environment variable.
CMake policy CMP0094 controls a lookup strategy used to find a Python
executable:

* CMP0094=OLD selects a Python executable with a higher version.
* CMP0094=NEW selects a Python executable found earlier in PATH.

NEW behavior is critical in presence of a Python virtual environment
established and activated, i.e. added to the PATH variable.

In case GoogleTest is embedded into a larger project, the result of
`find_package(Python)` affects the whole build, not only GoogleTest
component itself.
2022-07-13 02:12:53 +07:00
Copybara-Service
bea621c3c3 Merge pull request #3928 from venik:venik-clean-up
PiperOrigin-RevId: 460455562
Change-Id: I29efc09887651d8734586703fe0691482ba4c981
2022-07-12 07:19:18 -07:00
Copybara-Service
2e1346de56 Merge pull request #3868 from eidosmontreal:fix_undefined_symbol_kMaxRange
PiperOrigin-RevId: 460222898
Change-Id: I652b8058aa98b56d849c5ab1399f75e531dcc959
2022-07-11 08:49:28 -07:00
Copybara-Service
8f01400b77 Merge pull request #3844 from akohlmey:intel-llvm-utf8-fix
PiperOrigin-RevId: 460222266
Change-Id: I2fbeac0b333ca16639f172ca1f23794ea9ddc2ad
2022-07-11 08:46:06 -07:00
Derek Mauro
4556086674 CMake: raise the default C++ standard to cxx_std_14
PiperOrigin-RevId: 459761499
Change-Id: Ifb4b8b9f2dc598f3f4afc66a9efc403e001e0262
2022-07-08 08:21:42 -07:00
Chris Kennelly
e009c3d3dc Enable heterogeneous lookup for RegisteredTestsMap.
PiperOrigin-RevId: 459529190
Change-Id: I6b29693000023b3562990742f27a98cc279b6452
2022-07-07 09:18:52 -07:00
Alexander Nikforov
7107c44188 cleanup from unique_ptr branch 2022-07-01 15:33:13 -07:00
yutotnh
644a4bea02
fix: some typos in source 2022-07-01 18:33:14 +09:00
yutotnh
2cf9987ce3
fix: some typos in comment 2022-07-01 18:32:49 +09:00
assafpr
dd72ed19fe
Update gtest.cc
fix a broken link
2022-06-27 09:59:06 +03:00
assafpr
64df55449a
Update gtest-death-test.cc 2022-06-27 09:51:44 +03:00
Jérôme Travert
5eaa113903
Avoid implicit conversion from int to char 2022-06-26 19:01:00 +02:00
Julian Arkenau
b9d2e1f62f docs: update googletest README for release 1.12.0 2022-06-25 14:41:57 +02:00
assafpr
fde6af6790
documentation, change mater branch to main 2022-06-22 16:21:35 +03:00
Derek Mauro
86add13493 Disable warning C4251 around refactored code
PiperOrigin-RevId: 455452553
Change-Id: I1dc3772ae61daf6d2d39484a0b1aad7eb0134525
2022-06-16 13:18:32 -07:00
Copybara-Service
191ca1f3a9 Merge pull request #3863 from eidosmontreal:fix_unused-variable_warning
PiperOrigin-RevId: 454940948
Change-Id: Ic87dadfe9c6fc8882b0f425aa2056f0cc7a90b55
2022-06-14 13:24:55 -07:00
Copybara-Service
b644b4fbbf Merge pull request #3866 from eidosmontreal:simplify_shouldusecolor
PiperOrigin-RevId: 454616721
Change-Id: I33b5671646ec027da48cc941baf84b4ddc722e07
2022-06-13 08:38:29 -07:00
Gaspard Petit
fe735a6986 Move declaration of kStdOutFileNo and kStdErrFileno
Move declaration of kStdOutFileNo and kStdErrFileno closer to where they are used to avoid having to guard for GTEST_HAS_STREAM_REDIRECTION twice
2022-06-11 10:26:41 -04:00
Abseil Team
49c6185ae7 Remove undefined internal function.
Fixes #3856

PiperOrigin-RevId: 453992227
Change-Id: I5f3330a454bdcd6b0522ebba4cdfe2c888f8e638
2022-06-09 12:57:51 -07:00
Gaspard Petit
a86777edf9 Fix for undefined symbol: testing::internal::Random::kMaxRange 2022-05-31 17:35:34 -04:00
Gaspard Petit
59006287cd Simplify ColoredPrintf to rely on ShouldUseColor
Use ShouldUseColor to set use_color instead of having a separate check for the windows mobile cases; these cases are now moved directly to `DoIsATTY`
2022-05-30 14:19:50 -04:00
Gaspard Petit
410e5f9e04 Fix "unused variable" warning
Fix "unused variable" warning when GTEST_HAS_STREAM_REDIRECTION is set to false in gtest-port.cc
2022-05-30 11:04:54 -04:00
Axel Kohlmeyer
6f3f9a9e61 set -utf-8 flag only for real MSVC compilers. E.g. not Intel's icx.exe 2022-05-18 15:51:33 -04:00
Abseil Team
8a011b8a38 Add clarifying comments about when to use EXPECT_NONFATAL_FAILURE vs. EXPECT_FATAL_FAILURE.
PiperOrigin-RevId: 448237839
Change-Id: Id6242f278912f8c47cf19e3ea8c061f8b18ba832
2022-05-12 06:58:02 -07:00
Abseil Team
5e6a533680 Do a consistent way of searching for a temporary directory.
The way temporary directories were discovered from
environment variables in different operating systems
was inconsistent.

On Windows, only the system-specific environment variable
TEMP was considered, but not the bazel-common TEST_TMPDIR.
On Unix, only TEST_TMPDIR was considered, but not
the otherwise typical system specific TMPDIR.

Now, always consider TEST_TMPDIR first, followed by the
system-typical environment variable (TEMP on Windows, TMPDIR on Unix)
before falling back to a default on that particular system.

Also: the value for the temporary directory coming from the
environment variable was only checked for a trailing directory
separator on Windows (and appended if needed), not on the other
platforms.
Make this also consistent accross the systems: Now always apply
the same logic to all of these (to accomodate
tests that just concatenate TempDir() without directory separator).
PiperOrigin-RevId: 447909830
Change-Id: I9ea17acdf5944eb2a965615fd9cf142878c33a58
2022-05-10 22:43:09 -07:00
Abseil Team
bda85449f4 Fixup some missing overrides in googletest.
This CL adds a couple missing overrides in the googletest sources.
These were found downstream when -Wsuggest-override and
-Wsuggest-destructor-override were enabled.

PiperOrigin-RevId: 447754883
Change-Id: I7bf35a8757cbc5ae157827037aa3d13f47392406
2022-05-10 09:39:26 -07:00
Copybara-Service
4348d4efed Merge pull request #3818 from joshiayush:typo
PiperOrigin-RevId: 447003874
Change-Id: Ide8d879f6c939dbf4c10cc6d515c175d9b691e0c
2022-05-06 09:27:29 -07:00
Abseil Team
0027cf4703 Use TEST_TMPDIR on MacOS as well if available.
Currently MacOS falls back to generic /tmp, but
for all intents and purposes it should behave like
other Unixes using the TEST_TMPDIR environment variable
if available (this environment variable is set in bazel,
which sets up a unique temp directory for the test
process).

While at it, remove an incorrect #endif comment, that
looks like a leftover from some older implementation.

PiperOrigin-RevId: 446108391
Change-Id: I118eacf6e86a41d26cb81a130f7c54cccc0c5665
2022-05-02 21:57:01 -07:00
Ayush Joshi
fae793c101 Fix typo in the test name of NormalizeTest
Signed-off-by: Ayush Joshi <ayush854032@gmail.com>
2022-04-30 20:59:00 +05:30
Derek Mauro
e33c2b24ca Use RE2 for the regex implementation when building with Bazel and using Abseil
bazel build --define=absl=1 ...

A dependency on RE2 is now required when building GoogleTest with Abseil.
Using RE2 will provide a consistent cross-platform regex experience.

Users will need to add the com_googlesource_code_re2, bazel_skylib,
and platforms repository to their WORKSPACE files. See our WORKSPACE
file in the root directory of this project for an example of how to
add the dependencies.

Please note that the com_googlesource_code_re2 dependency must use a
commit from the `abseil` branch of the project:
https://github.com/google/re2/tree/abseil

PiperOrigin-RevId: 444650118
Change-Id: I45c55b26684c0c50d721a05b81c5f8a0c092400f
2022-04-26 13:27:20 -07:00
Copybara-Service
b53547bf01 Merge pull request #3797 from glandium:issue3514
PiperOrigin-RevId: 444444700
Change-Id: I8ac5cc96cc6eb9d583fa7e3fb304ef3dcaa95b5b
2022-04-25 20:29:56 -07:00
Derek Mauro
bf66935e07 Remove the legacy internal GTEST_DISALLOW_* macros
PiperOrigin-RevId: 443715444
Change-Id: I3ffd54b63d2728ae4a668ee7875c8c3c8188087c
2022-04-22 11:26:03 -07:00
Derek Mauro
b85864c647 Eliminate the legacy GTEST_COMPILE_ASSERT_ macro
PiperOrigin-RevId: 443462203
Change-Id: I0c43f981663a7531ff5da4d4be01fb3d6762273d
2022-04-21 13:23:32 -07:00
Mike Hommey
d5ad28dbe1 Always initialize fields in MatcherBase constructors
This fixes -Wuninitialized warnings with GCC.

Fixes #3514.
2022-04-20 10:42:11 +09:00
Derek Mauro
25dcdc7e8b Use the Abseil flags library when Abseil is present
When built with `--define=absl=1` under Bazel, GoogleTest
flags use ABSL_FLAG instead of GoogleTest's own implementation.

There are some minor behavior differences in this mode.

The most notable difference is that unrecognized flags result
in a flag parsing error, and are not returned to the user though
a modified argc/argv, unless they appear after the positional
argument delimiter ("--").

For example, to pass a non-Abseil flag, you would have to do
./mytest --gtest_color=false -- --myflag=myvalue

The documentation at https://abseil.io/docs/cpp/guides/flags
may be helpful in understanding the behavior.

There are some other minor differences. For example,
passing --help results in the program returning 1 instead of 0.

https://github.com/google/googletest/issues/3646

PiperOrigin-RevId: 439312700
Change-Id: Id696a25f50f24a5b1785c45ca8fa59794f86fd5c
2022-04-04 07:39:03 -07:00
Copybara-Service
0affd45b62 Merge pull request #3779 from messerb5467:promote-inclusive-behavior
PiperOrigin-RevId: 436579789
Change-Id: I19faae341027efba83f1c2b3839636fc95780fc7
2022-03-22 14:59:23 -07:00
Abseil Team
5d6f38c1e2 Only print disabled test banner if the test matches gtest_filter
Currently, the "[ DISABLED ]" banner is printed for every test in a suite.
When iterating on a single test gtest_filter this is very noisy.

PiperOrigin-RevId: 436489088
Change-Id: If337087a7a0986b073fabf2b0a55d26485eb5c37
2022-03-22 09:07:51 -07:00
Brad Messer
9e71237221
Merge branch 'main' into promote-inclusive-behavior 2022-03-18 12:32:39 -04:00
Brad Messer
794da715d4 Remove sanity as it is offensive to neurodiverse individuals. 2022-03-18 12:19:38 -04:00
Abseil Team
b007c54f29 Running clang-format over all of GoogleTest
A few tests are examining code locations and looking af the resulting line
numbers to verify that GoogleTest shows those to users correctly. Some of those
locations change when clang-format is run. For those locations, I've wrapped
portions in:
// clang-format off
...
// clang-format on

There may be other locations that are currently not tickled by running
clang-format.

PiperOrigin-RevId: 434844712
Change-Id: I3a9f0a6f39eff741c576b6de389bef9b1d11139d
2022-03-15 13:42:11 -07:00
Copybara-Service
8a422b8398 Merge pull request #3774 from sobczyk:main
PiperOrigin-RevId: 434738675
Change-Id: I7c8de4004bac6b750674d19e3e79c0695a42652e
2022-03-15 06:55:30 -07:00
Dino Radakovic
ae5e06dd35 Remove references to deleted script gen_gtest_pred_impl.py
PiperOrigin-RevId: 434464892
Change-Id: Iaa2277f26d0049b3d792e87f64679774a28205c6
2022-03-14 08:00:38 -07:00
Szymon Sobik
5c1b42a58d Adjust xml and json unit tests to test for source file and line location. 2022-03-08 01:15:20 +01:00
Szymon Sobik
ee5e3043ce Add support for testing of xml and json output of source file and line location 2022-03-08 01:14:21 +01:00
Szymon Sobik
f7621f0191 Output source file path and line number in xml and json files.
It outputs the location of testcase only.
Standalone EXPECT will have no location.
2022-03-08 01:12:35 +01:00
Abseil Team
ea55f1f52c Address conversion warning by explicitly casting to size_t
Closes #3762

PiperOrigin-RevId: 428593750
Change-Id: Ifac216568fbc7d999adb71996ec6a1bbe3b97412
2022-02-14 13:28:28 -08:00
Copybara-Service
06519cedc3 Merge pull request #3751 from noiseless:gtest-help-test-OpenBSD
PiperOrigin-RevId: 427207981
Change-Id: Ib93f8f61bf568d4651f9148fbc522288308c0d71
2022-02-08 09:11:25 -08:00
Copybara-Service
504eb98953 Merge pull request #3746 from IYP-Programer-Yeah:use-constant-time-lookup-for-exact-match
PiperOrigin-RevId: 427179775
Change-Id: I9928be2421d559acf0e0f03643ce0b856b63f737
2022-02-08 06:51:54 -08:00
Copybara-Service
43efa0a4ef Merge pull request #3617 from Bagira80:fix_3616
PiperOrigin-RevId: 426976022
Change-Id: Ib9f49cf84775a50cbc806d331349e61a1060b498
2022-02-07 11:51:52 -08:00
Hossein Ghahramanzadeh
d6841c040d Apply requested changes by using std::inserter with move. 2022-02-05 17:43:21 +01:00
Andrew Krasavin
631f4f9947 Fix gtest-help-test failure on OpenBSD 2022-02-05 03:44:54 +03:00
Abseil Team
25ad42aabe GetCurrentOsStackTraceExceptTop (both the method of UnitTestImpl and the wrapper function in gtest.cc) rely on the fact that the inner call is not getting optimized.
This CL annotates them with the appropriate attributes.

PiperOrigin-RevId: 425663217
Change-Id: Ib9ec2a69a7dd98d37640b56d4d7798572da66669
2022-02-01 10:44:59 -08:00
Copybara-Service
4517697675 Merge pull request #3744 from danger89:patch-2
PiperOrigin-RevId: 425519462
Change-Id: I196b22675e471f66929c1cdd0f85a405ebac8484
2022-01-31 20:01:13 -08:00