Commit Graph

4264 Commits

Author SHA1 Message Date
Elliot Goodrich
9ef5e82269 Remove public includes of <iomanip>
This commit removes `<iomanip>` from public GoogleTest header files.

As `<iomanip>` is not a common included file, its content is unlikely
to be included in translation units other than through GoogleTest
includes.

By reducing the number of include directives public headers in
GoogleTest, this may reduce the time taken to compile tests as it would
reduce the amount of work that the preprocessor and compiler front-end
need to do.
2023-08-03 22:14:38 +01:00
Copybara-Service
cc366710bb Merge pull request #4308 from smr99:fix-float-cast
PiperOrigin-RevId: 547250378
Change-Id: I084c30e45f331cb296535822923da1cb7e848e11
2023-07-11 11:37:29 -07:00
Abseil Team
4a1a299b20 Update docstring of PrintWithFallback(..) to reflect the recently changed ordering.
PiperOrigin-RevId: 546373360
Change-Id: I2538b45d8c7710592071cc352da6771480c324e6
2023-07-07 13:43:30 -07:00
Steve Robbins
3044657e7a Use template type FloatType in the cast. 2023-07-03 21:23:18 -05:00
Mike Kruskal
be03d00f5f Fix C++20 compatibility bug.
This was shown to work for C++14, C++17, and C++20 after patched into googletest for the protobuf repo's CI.

Closes #3659

PiperOrigin-RevId: 544795507
Change-Id: I3e0a94f675e78a6ee9aeccae86c23d940efed8eb
2023-06-30 18:50:27 -07:00
Abseil Team
1f531be3a1 Make GoogleTest handle SEH exceptions before stack unwinding rather than afterward
This ensure the erroring stack frame is visible and accessible when the handler is invoked.

Fixes #4298

PiperOrigin-RevId: 544692549
Change-Id: Ia165a8c293e8edc820da5f5ad4416546fffe2493
2023-06-30 10:32:57 -07:00
Abseil Team
251e720391 Change ::testing to testing in Testing Reference doc
PiperOrigin-RevId: 544466397
Change-Id: Icb4d5fae38361cd75d47f908886831696eb2b1c9
2023-06-29 14:40:26 -07:00
Abseil Team
687c589949 Print stack traces on SEH exceptions on Windows
Also tidies up a couple of things:
- Prevent handling of stack overflows, which cannot be done safely
- `exception_code` is a macro, so we rename it
- The `std::string` heap allocation was unnecessary

Fixes #4298

PiperOrigin-RevId: 544117790
Change-Id: I8ba61f87119d5fbdb1f653700d9867ca6f8c28ce
2023-06-28 11:45:07 -07:00
Derek Mauro
2acd538244 On platforms without a file system, don't log an error when no
alternative output format is requested.

Fixes #4299

PiperOrigin-RevId: 543932266
Change-Id: Ide78c313ecf6829e4910f4a8407275c81edb3848
2023-06-27 20:47:07 -07:00
Abseil Team
f269e15c5c Resolve an issue where the resolution of operator<< overloads would attempt to instantiate the incomplete testing::internal::Secret type.
PiperOrigin-RevId: 543799815
Change-Id: Ic0a4f48d825bef26cb8cc74d8a0117b3a5ef3f14
2023-06-27 11:17:00 -07:00
Copybara-Service
8e32de89cf Merge pull request #4300 from eltociear:patch-1
PiperOrigin-RevId: 543586460
Change-Id: I87ee05c4b77fb643a3381018568a4765d0a12b18
2023-06-26 17:24:42 -07:00
Copybara-Service
372e81d814 Merge pull request #4301 from ciband:feat/qn9090
PiperOrigin-RevId: 543523833
Change-Id: I602373a321e2b8080264e3f418ef5b2254f615fb
2023-06-26 13:23:58 -07:00
Chris Johnson
b2a2d36f3a
Merge branch 'google:main' into feat/qn9090 2023-06-22 12:01:48 -05:00
Chris Johnson
e3d405f62b add support for nxp qn9090 mcu
Added additional defines to correctly detect the NXP QN9090 MCU platform
and allow for native googletest compability.
2023-06-22 11:56:59 -05:00
Ikko Eltociear Ashimine
1361c77c4d
Fix typo in googletest-catch-exceptions-test.py
FITLER_OUT_SEH_TESTS_FLAG -> FILTER_OUT_SEH_TESTS_FLAG
2023-06-23 01:20:10 +09:00
Abseil Team
ec4fed9321 Update code examples in the gMock Cookbook following C++ best practices.
PiperOrigin-RevId: 542564354
Change-Id: Ia3307f13f845c662c88fb7303112f41ef8c56b28
2023-06-22 08:15:15 -07:00
Copybara-Service
af39146b45 Merge pull request #4293 from juan-lunarg:juan/fix_remaining_cmake_version
PiperOrigin-RevId: 542299863
Change-Id: I51cf4a4f8d6a97e39e6c46f48fa6acf3bd0ab6b5
2023-06-21 10:40:58 -07:00
Juan Ramos
812f35b26b cmake: Remove remaining checks for CMAKE_VERSION
Remove conditional code that doesn't need to exist anymore.
2023-06-20 19:09:04 -06:00
Copybara-Service
fb11778f43 Merge pull request #4290 from juan-lunarg:juan/cmake_version_cleanup
PiperOrigin-RevId: 542045766
Change-Id: Ib6e0fffdbf1f41fb990603fe2af7c6d5df6b5640
2023-06-20 14:15:01 -07:00
Juan Ramos
efd8db1627 cmake: Clean up policy code
Now that the min is 3.13 these policies don't need to be set
manually anymore.

CMP0054 - 3.1
CMP0063 - 3.3
CMP0069 - 3.9
CMP0077 - 3.13
2023-06-20 13:03:00 -06:00
Copybara-Service
5924e5b355 Merge pull request #4282 from zencatalyst:patch-1
PiperOrigin-RevId: 541940311
Change-Id: I953d347f0041dfcacc2bff9cc1b19e086fdd9ac4
2023-06-20 08:59:17 -07:00
Copybara-Service
29836977ef Merge pull request #4288 from juan-lunarg:juan/cmake_min_3_dot_6
PiperOrigin-RevId: 541929012
Change-Id: I90423820611c2b6a6f81fe3f9ec2d23992ffbed1
2023-06-20 08:20:43 -07:00
Copybara-Service
6c08816416 Merge pull request #4286 from ryandesign:patch-1
PiperOrigin-RevId: 541928566
Change-Id: I72437cb3a06f2af7220b247c6c136a38c5f1089c
2023-06-20 08:18:54 -07:00
Juan Ramos
4fed5f2850 cmake: Raise min to 3.6
From the CMake 3.27 release notes:
Compatibility with versions of CMake older than 3.5 is now
deprecated and will be removed from a future version. Calls to
cmake_minimum_required() or cmake_policy() that set the policy
version to an older value now issue a deprecation diagnostic.

This PR also removes manually setting policy CMP0048. This is
redundant since the CMake min is already 3.X
2023-06-19 11:21:44 -06:00
Ryan Schmidt
124bc587f0
Change C++11 requirement to C++14
Version 1.13.x and later require C++14.

Also fix missing closing backtick.
2023-06-19 06:18:12 -05:00
Copybara-Service
9b12f749fa Merge pull request #4267 from niranjan-nilakantan:niranjan-nilakantan/issue4266
PiperOrigin-RevId: 540901148
Change-Id: Ifd4c4a6d37e9bf7ff63470be401f94d2bb530c22
2023-06-16 09:18:27 -07:00
Kasra Hashemi
148b327ffa
Update README.md
Fixed punctuation issues
2023-06-16 13:59:16 +03:30
Abseil Team
18fa6a4db3 Allow clients to un-suppress output from gUnit EXPECT_EXIT tests.
This is useful for running individual tests in a separate process, which is
useful for testing e.g. flag changes which have a process-global effect.

PiperOrigin-RevId: 540580573
Change-Id: I18a5d24d79425a9d595be3369efc44e2f655f6f8
2023-06-15 07:52:45 -07:00
Dino Radakovic
4c7aee827e Skip entire test suite with GTEST_SKIP() in SetUpTestSuite
Fixes #4273

PiperOrigin-RevId: 540254167
Change-Id: I2555740d10284223539035bf73f88554fcf73f8a
2023-06-14 06:41:11 -07:00
Copybara-Service
e9078161e6 Merge pull request #4188 from Mizzrym1:component
PiperOrigin-RevId: 539684886
Change-Id: Ie7f4175ad413fdb82d265374a4aca9fad23571f5
2023-06-12 09:58:37 -07:00
Abseil Team
65cfeca1a1 internal g3doc documentation change.
PiperOrigin-RevId: 539134110
Change-Id: I28041f77e18bc67aa0ffabdc7205e350deed22c8
2023-06-09 11:29:42 -07:00
Copybara-Service
334704df26 Merge pull request #4269 from elupus:patch-3
PiperOrigin-RevId: 538253216
Change-Id: Ib4bc90974f92939f884d6b5927f8bf37aac4d2c7
2023-06-06 12:04:10 -07:00
Copybara-Service
23f642ab23 Merge pull request #4260 from pratyush3757:readme_table_fix
PiperOrigin-RevId: 537887202
Change-Id: I4a52ec0da24f043eba0aa1a9d7945066c799ce8a
2023-06-05 08:47:33 -07:00
Joakim Plate
001f281926
Check for file system for current directory
Check for current directory instead of death test to get original directory.

A port may support filesystems but not death tests.
2023-06-02 12:17:43 +02:00
Pro3757
5ca3ab8331 change table to unordered list 2023-06-02 01:09:32 +05:30
Pratyush Choudhary
ad1b28b4a9
Merge branch 'google:main' into readme_table_fix 2023-06-02 00:56:36 +05:30
Niranjan Nilakantan
a5b94f6819 Ignore the .cache directory create by VSCode.
This is populated by the clangd language service provider.

Also ignore the cmake-variants.yaml file.
This can be created locally to select various build/test configurations.

Fixes #4266
2023-06-01 09:48:54 -07:00
Dino Radakovic
06f44bc951 Copy supported platforms from README onto https://google.github.io/googletest/platforms.html
PiperOrigin-RevId: 537016664
Change-Id: Ie62891a1061465a009b90feba0ccb91d85591160
2023-06-01 07:28:42 -07:00
Dino Radakovic
04cf298916 Provide example for setting C++ language standard in GoogleTest's Bazel quickstart and readme.
An equivalent for CMake was merged in aa99ce5a0d

Fixes #4254

PiperOrigin-RevId: 536759641
Change-Id: I8400064a24e0d78f17a0720046f505efa1167b4f
2023-05-31 10:45:43 -07:00
Paul Wankadia
a7833a19bd Update GoogleTest to RE2 release 2023-06-01.
Note that RE2 has taken a dependency on Abseil, so the `main` branch
should be used from now on. The `abseil` branch will go away soon...

PiperOrigin-RevId: 536737543
Change-Id: I0e595ee8e754b924881f997f286cdec3822763bf
2023-05-31 09:33:31 -07:00
Copybara-Service
f625681bc4 Merge pull request #4256 from niranjan-nilakantan:niranjan-nilakantan/issue4255
PiperOrigin-RevId: 536480185
Change-Id: I9bdd65cd18253703abf3cc92b3f354c1f798aa3e
2023-05-30 12:40:46 -07:00
Pro3757
ded275d75e fix README table 2023-05-30 13:50:23 +05:30
niranjan
029d3dddd4 Disable some warnings for IntelLLVM on Windows.
Use /fp:precise to override IntelLLVM's default of /fp:fast.
This makes IsInf and IsNan work as expected by googletest.

```
[build]...\googletest\googlemock\test\gmock-function-mocker_test.cc(143,21): error: 'VoidReturning' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
[build]   MOCK_METHOD(void, VoidReturning, (int n));  // NOLINT
```

```
[build] ...\googletest\googlemock\test\gmock-function-mocker_test.cc(182,20): error: exception specification of overriding function is more lax than base version [-Werror,-Wmicrosoft-exception-spec]
[build]   MOCK_METHOD(int, CTNullary, (), (Calltype(STDMETHODCALLTYPE)));
```

```
[build] ...\googletest\googletest\test\googletest-death-test-test.cc(209,5): error: unused function 'DieInCRTDebugElse12' [-Werror,-Wunused-function]
[build] int DieInCRTDebugElse12(int* sideeffect) {
[build]     ^
```

```
[build] ...\googletest\googletest\test\gtest_unittest.cc(4096,7): error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable]
[build]   int n = 0;
```
2023-05-24 17:33:46 -07:00
Niranjan Nilakantan
e032d57642 Build googletest with IntelLLVM compilers.
Use the same flags as Clang if the compiler id is IntelLLVM.

IntelLLVM warns if a double constant is assigned to a float.

```
[build] .../googletest/googletest/include/gtest/gtest-printers.h:516:17: warning: implicit conversion between floating point types of different sizes [-Wimplicit-float-size-conversion]
[build]       mulfor6 = 1e1;
```

IntelLLVM uses fp-model=fast by default, breaking IsNan and IsInf tests.
Use -ffp-model=precise to fix this.

IntelLLVM does not support -Wchar-subscripts

Fixes #4255
2023-05-24 12:48:51 -07:00
Copybara-Service
4580469122 Merge pull request #4250 from shlomnissan:cmake-quickstart-update
PiperOrigin-RevId: 534150776
Change-Id: Ib6c07c6abd06c259494928102e2cb800b6652612
2023-05-22 12:41:47 -07:00
Shlomi Nissan
aa99ce5a0d Add CXX_STANDARD_REQUIRED to CMake quickstart 2023-05-21 16:40:06 -07:00
Dino Radakovic
cb455a71fb Fix typo in version number example in README
PiperOrigin-RevId: 532796425
Change-Id: If81029216cf12b9b05f8e2d79671ba106ebd28fb
2023-05-17 08:31:17 -07:00
Dino Radakovic
d6fb5e3bf7 Explicitly document googletest release tag format
Fixes #4235

PiperOrigin-RevId: 532446854
Change-Id: If7e1dade02a80d9a30813c136bba3f20c796f0fa
2023-05-16 07:05:45 -07:00
Copybara-Service
60c3602aaa Merge pull request #4231 from yagneshprajapati:main
PiperOrigin-RevId: 532204016
Change-Id: Ifa309f31bb959b43faa54c5ce631a823e6a2888a
2023-05-15 13:17:55 -07:00
Copybara-Service
e42cc2294f Merge pull request #4234 from pateldeev:missing_dep
PiperOrigin-RevId: 532143036
Change-Id: I3dd57e975006478eb6b16b8ea289531738a8a0b5
2023-05-15 09:54:08 -07:00