100 Commits
Author SHA1 Message Date
Derek Mauro 5a9c3f9e8d Upgrade most builds to use Bazel 9.0.0
Keep one build on 8.5.1 to test WORKSPACE

Fixes the -Wdeprecated-declaration warnings
enabled by default in Bazel 9 that come from the
single-arg Invoke().

Fixes the new -Winconsistent-missing-override that
we intentionally use in a test.

Upgrades RE2 to a version compatible with Bazel 9.

PiperOrigin-RevId: 865966282
Change-Id: I5f7c3b60daf5f8a90be08004d96aaa59611e35c4
2026-02-05 08:42:50 -08:00
Derek Mauro 872d386a87 Upgrade CI to XCode 26.2
The new build environment (Sequoia) does not have CMake
pre-installed, so install it, and set the variables necessary
for parallel builds.

PiperOrigin-RevId: 865468933
Change-Id: I0316281d0065bc52b653258556a6928faacb7c0e
2026-02-04 10:23:53 -08:00
Derek Mauro 2151d93c2f Update GoogleTest CI to latest tools
PiperOrigin-RevId: 865144486
Change-Id: I5d68e07bde952e7913d3e641dfaa10d17a968a58
2026-02-03 18:45:21 -08:00
Derek Mauro cb1bd88191 Bump Abseil version used by GoogleTest
Making this change requires an update to the CI scripts to ignore
warnings coming from external repositories so we don't error on
deprecation warnings (RE2 has warnings about deprecated Mutex methods)

PiperOrigin-RevId: 853824282
Change-Id: Ic79663943d3b7c8cfa95e9a73b49a7ad761e1eae
2026-01-08 11:37:01 -08:00
Derek Mauro 7d7e750850 Fix "error: standard attributes in middle of decl-specifiers"
Between the friend declaration, visibility declaration, and
attribute placement rules, compilers can't seem to agree on the
how to write this, so I switched to a static factory function.

Fixes https://github.com/google/googletest/issues/4881

PiperOrigin-RevId: 852842303
Change-Id: I7fe737819abf05ea2911693f8d93683446e326cc
2026-01-06 10:37:35 -08:00
Derek Mauro 1b96fa13f5 Switch to referenceful lock holder for Abseil compatibility
PiperOrigin-RevId: 831156684
Change-Id: I8a8b017ec2fc318a65f57e04428c030c707ee682
2025-11-11 18:56:52 -08:00
Derek Mauro 4fe3307fb2 macOS CI: Move the Bazel vendor_dir to ${HOME} to workaround a Bazel issue
where it does not work when it is in ${TMP} and also fix the quoting
which was causing it to incorrectly receive the argument

https://github.com/bazelbuild/bazel/issues/27156

PiperOrigin-RevId: 826083231
Change-Id: If8f069c42c62434893db27bdaae0b0e25b67839d
2025-10-30 10:11:17 -07:00
Derek Mauro 50b8600c63 Add rules_cc dependency, required by Bazel going forward
This also adds the dependencies of rules_cc to WORKSPACE.
bzlmod automatically pulls in dependencies.
skylib is removed as it is pulled in by a deps function.

PiperOrigin-RevId: 808659470
Change-Id: Idc41cad7b05019793d4a1898bdb80bc4797da5cf
2025-09-18 11:16:02 -07:00
Derek Mauro 0934b7e112 Use an internal symbol for deprecate-and-inline that allows
the use of a deprecation message

PiperOrigin-RevId: 807753856
Change-Id: I34b0c7c6faf34cad11ea2aca5ccd16bca16acdec
2025-09-16 10:39:10 -07:00
Derek Mauro 9df216cc9d Update spelling of Mutex::lock and Mutex::unlock for compatibility
with the standard and the latest Abseil

PiperOrigin-RevId: 806260850
Change-Id: Ie973be4a3aaf7e174cd692ce6df7a82c8f261bf7
2025-09-12 06:17:43 -07:00
Derek Mauro 7917641ff9 Bump Abseil dependency to 20250814.0
PiperOrigin-RevId: 802131359
Change-Id: I96671848148ca51c755c1b3598af32a444ac9739
2025-09-02 07:15:01 -07:00
Derek Mauro 16d4f8eff6 Delete the absl polyfill support for std::any, std::optional
and std::variant now that the absl types are aliases of the
std types

PiperOrigin-RevId: 761136061
Change-Id: I702c3e1e8c58d003b8f4da99e7c84c9e5dbe1863
2025-05-20 10:25:35 -07:00
Derek Mauro 571930618f GoogleTest CI Update
* Use abseil-cpp@20250512.0, which requires C++17 and
 removes any/optional/variant polyfills
* Test C++23
* Support/test GCC15
* Use Bazel vendor mode to reduce reliance on GitHub

PiperOrigin-RevId: 759184924
Change-Id: Ifb866cdd7faf1e5be475b44f69870745e21a3104
2025-05-15 09:42:50 -07:00
Derek Mauro 04ee1b4f2a Update documentation for v1.17.0
PiperOrigin-RevId: 753214894
Change-Id: I5ec24399301dcc7e70b179db98e175f45374e3c2
2025-04-30 10:11:59 -07:00
Derek Mauro 54915d462b Update GoogleTest dependencies in preparation for release
PiperOrigin-RevId: 753143607
Change-Id: I3dadd610342d86e3c856327e446e956fab8abf04
2025-04-30 06:31:27 -07:00
Derek Mauro 00b2154e8e Fix GCC15 warning that <ciso646> is deprecated in C++17
PiperOrigin-RevId: 752706554
Change-Id: I83d35b693efdaabcc63d15169dbf19d63163a563
2025-04-29 06:13:25 -07:00
Derek Mauro 155b337c93 Bump RE2 dependency to 2024-07-02.bcr.1
Mirrors the change from https://github.com/bazelbuild/bazel-central-registry/pull/4342

PiperOrigin-RevId: 748665684
Change-Id: I775ff08130046ad7a2dd288e1a58e007e407acd3
2025-04-17 06:50:43 -07:00
Derek Mauro 24a9e940d4 Try to warn the user when test filters do not match any tests
PiperOrigin-RevId: 732204780
Change-Id: I2c4ccabd123e3b79c3dd8bc768a4cd9a576d282c
2025-02-28 11:36:13 -08:00
Derek Mauro e5669fdffc Output to the test warning file if no tests are linked.
Bazel sets the environment variable TEST_WARNINGS_OUTPUT_FILE
https://bazel.build/reference/test-encyclopedia#initial-conditions

If no tests are linked and the new flag --gtest_fail_if_no_test_linked
is not true (which is the current default), we can still warn the user
as this may be a programming error without failing the test (which would
break existing users).

PiperOrigin-RevId: 731402363
Change-Id: Ia481689efd4bd18889feaaa38bc56049a3f651cd
2025-02-26 11:57:12 -08:00
Derek Mauro 3fbe4db9a3 GoogleTest C++17 cleanups
* Use `[[nodiscard]]` instead of GTEST_MUST_USE_RESULT_
  * Use `[[maybe_unused]]` instead of  GTEST_INTERNAL_ATTRIBUTE_MAYBE_UNUSED
  * Use `[[deprecated]]` instead of `GTEST_INTERNAL_DEPRECATED`
  * Remove `GTEST_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL`

PiperOrigin-RevId: 729523519
Change-Id: Ia1b901cf9c0a0e148eec419ada0e0b56aba2dd3d
2025-02-21 07:33:55 -08:00
Derek Mauro c00fd25b71 Require C++17
Policy information:
https://opensource.google/documentation/policies/cplusplus-support#c_language_standard
https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md

Some small fixes are included for C++17 compatibility.

We had no tests for MSVC C++17 or C++20, so those tests that failed
and had no obvious fix are disabled and a tracking bug has been filed.

PiperOrigin-RevId: 726090558
Change-Id: I4d37d47e87c11f85bfd572deb10f67ca3eb2a9b5
2025-02-12 09:44:07 -08:00
Derek Mauro a866428a78 Update docs for v1.16.x branch
Also update the minimum required CMake version
https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md

PiperOrigin-RevId: 724375734
Change-Id: Iefa6c7e2061457bc6149a280d2408085b1fb9d11
2025-02-07 09:41:05 -08:00
Derek Mauro 445e9bd8d0 Update GoogleTest deps in preparation for release
PiperOrigin-RevId: 724135630
Change-Id: I24622387e508d27337769e83f7de8fecae9ad425
2025-02-06 17:40:25 -08:00
Derek Mauro e5443e5c65 Remove empty glob pattern, which is now an error.
It look like this may be a copy-paste bug from the root BUILD file.

PiperOrigin-RevId: 724062332
Change-Id: I8eda2275d996dd14693aee569254db28d9bc4f9d
2025-02-06 13:52:23 -08:00
Derek Mauro ff233bdd4c Update main to point to 1.15.2 patch release
PiperOrigin-RevId: 658382055
Change-Id: Ia5eed4bec26da8c8cbe29fbd3a41b44048c25e07
2024-08-01 06:34:56 -07:00
Derek Mauro 3e3b44c300 Remove auto-detection of Python toolchain from MODULE.bazel
since it affects downstream users

The correct solution appears to be
https://rules-python.readthedocs.io/en/stable/toolchains.html#library-modules-with-dev-only-python-usage

This change also includes a workaround for the new mechanism creating
paths that are too long for Windows to handle.

Fixes #4581

PiperOrigin-RevId: 657706984
Change-Id: I8ae6b9e5efeb7629d79d14e7d4d3889876282d17
2024-07-30 13:17:40 -07:00
Derek Mauro cee1ba1f24 Change the Bazel build to use the canonical repo names used by Bzlmod
and the Bazel Central Registry

GoogleTest and its dependencies now use the following names:
GoogleTest: com_google_googletest -> googletest
Abseil: com_google_absl -> abseil-cpp
RE2: com_googlesource_code_re2 -> re2

Bazel users using the WORKSPACE file to specify dependencies may
need to use https://bazel.build/rules/lib/repo/http#http_archive-repo_mapping
to remap repositories to their former names if their dependencies do not
agree on on which name is used.

It is recommended that users migrate to bzlmod to manage Bazel dependencies.

PiperOrigin-RevId: 654430227
Change-Id: Iae8797994d7d87bd4f013dcdc889e7494a6ad2fb
2024-07-20 23:09:44 -07:00
Derek Mauro 9ff2450a56 Update GoogleTest Bazel quickstart for Bzlmod
PiperOrigin-RevId: 652824490
Change-Id: I5e6f57004708e7fa62abb454db9bae81fa265c83
2024-07-16 06:58:45 -07:00
Derek Mauro b62593aceb Update main branch to reflect the release of 1.15.0
PiperOrigin-RevId: 652824317
Change-Id: I39085d9451405c3decb462a0b4682added365d17
2024-07-16 06:57:43 -07:00
Derek Mauro 7321f950df Update dependency versions in preparation for release
PiperOrigin-RevId: 652479800
Change-Id: I71574e7dc2ea2e9a2f3071aebbbf0e6b5ce32a35
2024-07-15 07:51:06 -07:00
Derek Mauro 4b21f1abdd README.md: Remove outdated notes about continuous integration and
documentation

PiperOrigin-RevId: 651816538
Change-Id: I3c85b4a26aff8277c627b99b1c5805bad0d29df6
2024-07-12 10:31:17 -07:00
Derek Mauro b4aaf97d8f Workaround GCC 12 -Wrestrict false-positive
Suggested workaround from https://github.com/Nekto89/googletest/commit/751760ad543f205e1d76797bcc5c7e2ca0c30cce

Fixes #4570

PiperOrigin-RevId: 651044944
Change-Id: I21f099a15dd3182d335a7891d99b9b1293e5c53e
2024-07-10 09:15:21 -07:00
Derek Mauro 3ef16ef8b3 Fix the documentation that erroneously says you can use short versions
of help flags

Fixes #4564

PiperOrigin-RevId: 650730047
Change-Id: I3a52aca490338066c607e34ab20c827bfde5090d
2024-07-09 12:59:38 -07:00
Derek Mauro 305e5a238b Update GoogleTest CI Docker image to use Clang 19, GCC 14, and CMake 3.29.3
PiperOrigin-RevId: 636977286
Change-Id: Id9e09398a991c74c2137672948a1eb7dd2d96596
2024-05-24 11:13:43 -07:00
Derek Mauro 9b4993ca7d Change GoogleTest flag removal to not read beyond the end of the array
to the NULL terminator.  #4532 says ASAN complains about this on some
platforms, although it is not clear if ASAN or the platform implementation
is incorrect about accessing the terminating NULL.

Fixes #4532

PiperOrigin-RevId: 635886009
Change-Id: Ibb4237055488c895b1dd09145ab979347bb9a390
2024-05-21 12:08:38 -07:00
Derek Mauro 5a37b517ad Use [[maybe_unused]] when it is available to avoid
-Wused-but-marked-unused warnings

PiperOrigin-RevId: 625430612
Change-Id: Ia9d2e47984e1e6f91966afae8a6750119ae69446
2024-04-16 13:16:40 -07:00
Derek Mauro d3a29ff624 Fix a race condition between the Watcher thread and the main thread
during program exit

A race condition exist between the Watcher thread and main(). A case
was found where the Watcher thread does not get execution time before
the main function returns and calls atexit(). At that point the
Watcher thread started runing tls_init() code while the main thread
was shutting down. This resulted in rare crashes and deadlocks.

Fixes #4493
Closes #4494

PiperOrigin-RevId: 621619768
Change-Id: I66f00d8f0f3c37f9937c6d13890f7fa10038256d
2024-04-03 13:21:58 -07:00
Derek Mauro ec7b38672c Delete the unofficial GitHub actions tests.
We do not look at these.

Close #4509

PiperOrigin-RevId: 621511191
Change-Id: Icbd3fe0a18444e0888bbec61345c6a957d8899d6
2024-04-03 07:06:06 -07:00
Derek Mauro db38b59fa0 Rollback https://github.com/google/googletest/commit/9756ee7cbaef1b6652065616ab832810a6032bbf
The commit breaks some bazel commands without @fuchsia_sdk being listed as a dependency.

Fixes #4472

PiperOrigin-RevId: 609057667
Change-Id: I32ea8237862d7c10add55304ecc4547a7304ce36
2024-02-21 11:06:13 -08:00
Derek Mauro 6a5938233b Add support for Bzlmod for the next release
https://bazel.build/external/overview#bzlmod

Bzlmod will be the default in a future Bazel release.
By default it requires projects to be registered with the
Bazel Central Registry (https://registry.bazel.build/) and
thus uses regular releases by default.

Users that want to "live-at-head" can still do this through
with overrides (https://bazel.build/external/module#overrides).

This change updates GoogleTest dependencies to use released versions.
CI uses Bzlmod except in the case of linux_gcc-floor, which will
keep testing the old WORKSPACE-based dependency system.

PiperOrigin-RevId: 601489729
Change-Id: I6be52034eba0d0e5fe12110e5e82879305cf73ff
2024-01-25 10:27:52 -08:00
Derek Mauro 7c07a86369 Update CI builds to use Bazel 7.0.0
--features=external_include_paths has been removed from Windows builds
since it appears cause build command errors currently
PiperOrigin-RevId: 597020418
Change-Id: Ie37be0d05f3a154ab0d3c3f7d39b4e2c0ed650a3
2024-01-09 13:02:32 -08:00
Derek Mauro cde9a745a6 Fix broken links in primer.md
Closes #4432

PiperOrigin-RevId: 592335698
Change-Id: I9859451981f58f1426255067d702a0767718b1d5
2023-12-19 13:56:36 -08:00
Derek Mauro 8760db154a Skip find_package(Python3) when not building tests
#4424 claims this saves several seconds of build time
Closes #4424

PiperOrigin-RevId: 587827426
Change-Id: I207779a6539f9af16a39d6b40887770dc930b74f
2023-12-04 13:42:25 -08:00
Derek Mauro 61332bd7e8 CI: Update the Linux hybrid-latest docker container used for testing
The following are the major updates
  * LLVM 17 branch (https://github.com/llvm/llvm-project b744f4c99cf91155c74a3c92db6f1335232ff3d)
  * GCC 13.2
  * CMake 3.27.1
  * Bazel 6.2.1

PiperOrigin-RevId: 558818264
Change-Id: Ib08d8331e2a8b2d68a702670451beaaac5d266f4
2023-08-21 09:50:40 -07:00
Derek Mauro 843976e4f5 Update documentation to refer to v1.14
PiperOrigin-RevId: 553172719
Change-Id: Ie09afa3788c8ed5c95913d8ca0b436f1df28241a
2023-08-02 09:45:10 -07:00
Derek Mauro f8d7d77c06 Bump version to v1.14 in preparation for release
PiperOrigin-RevId: 553152072
Change-Id: I0bfbb2da6b3902fc3e41a8e1c4aacb291ffdd098
2023-08-02 08:24:53 -07:00
Derek Mauro 96683ee668 Remove the GTEST_HAS_DOWNCAST_ customization point.
PiperOrigin-RevId: 553150809
Change-Id: I10d19a45a85c5f63a5e65dc322413307116e1c25
2023-08-02 08:19:45 -07:00
Derek Mauro 58e37f7e99 Add googletest-message-test to the Bazel tests
It appears to have been unintentionally left out

PiperOrigin-RevId: 553141410
Change-Id: I8adac55a3df0ec12d6fe03446f71858fc702e178
2023-08-02 07:40:55 -07:00
Derek Mauro 717d8ab5e0 Update GoogleTest dependencies
PiperOrigin-RevId: 552912819
Change-Id: If1b6278f7fe5a8fc41fc3bc390356a94387d0091
2023-08-01 13:56:57 -07:00
Derek Mauro 1ed6a8c67a Remove unused cast implementation
PiperOrigin-RevId: 549456180
Change-Id: I10862e6de981087a5c590cccf6152255e9a176a0
2023-07-19 16:21:55 -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
Derek Mauro 3656c2713e Fix redundant redeclaration warning
Fixes #4200

PiperOrigin-RevId: 520017094
Change-Id: Id707a1c0489edde083771ccd412d7035612474dc
2023-03-28 07:03:07 -07:00
Derek Mauro 13b1900717 Remove the Win64 arch from the CMake Generator since
this can't be used with MSVC 2022

We also have to use Python 3.4 since that is what the base image has,
however, I will create a new image soon that has a modern version
of Python.

PiperOrigin-RevId: 520010732
Change-Id: Icf2420fd97d2bbc310382a17793045b6e16d62bb
2023-03-28 06:28:10 -07:00
Derek Mauro 88af49efa7 Migrate CI builds to MSVC 2022
PiperOrigin-RevId: 519792199
Change-Id: Ic821b264bf1aef5e03f22fb0e288dd9d56fd536b
2023-03-27 12:10:12 -07: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
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 b796f7d446 Bump version to 1.13.0 in preparation for release
PiperOrigin-RevId: 502626077
Change-Id: I3aad27a8b725cf73163e52ef2e28e6cdfc13082b
2023-01-17 10:36:43 -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
Derek Mauro a652ae0575 Update GoogleTest dependencies
PiperOrigin-RevId: 501282034
Change-Id: I0314ac566dc5e117db5a06c97d303e5cf8822d61
2023-01-11 07:57:13 -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
Derek Mauro e38ef3be88 Convert feature requests to a form
PiperOrigin-RevId: 494820396
Change-Id: I1aa0a5a0f4796fde8d0424093370fd89ebd2592e
2022-12-12 13:55:56 -08:00
Derek Mauro d454936a0c Migrate GoogleTest to a bug report template and add a link to the discussion
forum for non-bugs

PiperOrigin-RevId: 493632811
Change-Id: I7e02c3c479c2a925b7971f6a55e1e95a5a6f2d0a
2022-12-07 09:56:04 -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
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
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
Derek Mauro 1336c4b6d1 Fix MSVC C++14 flag for GitHub workflow
PiperOrigin-RevId: 474053482
Change-Id: If5cdf7458139ba3ad04b8c078734d6890199a348
2022-09-13 10:13:37 -07:00
Derek Mauro 7cafeff7bd Rollback 4fa8cfe3f4
Breaks the intended C++ version on some CI builds

PiperOrigin-RevId: 474022587
Change-Id: I41a58893802c90864e0f2cc3d15e6c169c59146d
2022-09-13 08:15:24 -07:00
Derek Mauro c0e032efe5 Update README.md to point to the Foundational C++ Support Policy
PiperOrigin-RevId: 467959285
Change-Id: Ibd92b3a278f293736b31bd7e07fe502241bb1f05
2022-08-16 10:23:59 -07:00
Derek Mauro 7274ec1864 Add --features=external_include_paths to Bazel CI to ignore warnings
from dependencies

PiperOrigin-RevId: 467244441
Change-Id: Iefa65474d8c62e7c4c942957dc8e275715076e5f
2022-08-12 10:46:39 -07:00
Derek Mauro 4086e92d86 Add envvar BAZEL_CXXOPTS=-std=c++14 to the GitHub Actions CI
PiperOrigin-RevId: 460242683
Change-Id: I182a2e082d3a7e38fd3686e9e7af200ba0f954e0
2022-07-11 10:17:32 -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
Derek Mauro 4219e7254c Remove the Bazel provided default cxxopt -std=c++0x and replace it
with -std=c++14 when testing with GCC 5.

PiperOrigin-RevId: 458502826
Change-Id: I83637a222b5c0a54e55d93ce7fdbc878af27b250
2022-07-01 10:53:54 -07:00
Derek Mauro 96f51426e4 Remove support for C++11
v1.12.x is the last branch to support C++11
Future releases will require at least C++14

PiperOrigin-RevId: 458250106
Change-Id: Ibee2248649ff3c13daaa179135887848bf730f3f
2022-06-30 09:53:51 -07:00
Derek Mauro 219af0d535 Update version number in CMakeLists.txt
Note that this is 1.12.1 as there will be a patch release to fix this

PiperOrigin-RevId: 458216994
Change-Id: Ibca52a8db22ed06cb1a1adc4832be67fce69459a
2022-06-30 07:10:22 -07:00
Derek Mauro 5376968f69 Update README.md for release 1.12.0
PiperOrigin-RevId: 456833286
Change-Id: Iefcc6a71f5da9bb710f112b668cddcd1683a10ae
2022-06-23 12:18:54 -07:00
Derek Mauro 15460959cb Update versions of WORKSPACE dependencies
PiperOrigin-RevId: 456532035
Change-Id: I60fa4d4e7827516d317ce893377d1f72e49c6a2f
2022-06-22 09:23:46 -07:00
Derek Mauro 7df7853ea0 Update GCC floor container used by CI to fix the Bazel cache error
PiperOrigin-RevId: 456323043
Change-Id: I86e3d52b72b51c2d4e96f536daa7f84a52c598f5
2022-06-21 12:27:37 -07:00
Derek Mauro 86add13493 Disable warning C4251 around refactored code
PiperOrigin-RevId: 455452553
Change-Id: I1dc3772ae61daf6d2d39484a0b1aad7eb0134525
2022-06-16 13:18:32 -07:00
Derek Mauro 0320f517fd Work around a maybe-uninitialized warning under GCC 12
Some Mock constructors insert the pointer to the Mock itself into a
global registry. Since GCC cannot see how the pointer is used (only as
an identifier), it cannot tell that the object doesn't need to be
initialized at that point at all. Work around this by using uintptr_t
instead.

PiperOrigin-RevId: 452380347
Change-Id: Ia5a493057ed90719de1d0efab71de9a8a08ddf8b
2022-06-01 14:08:04 -07:00
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
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
Derek Mauro 5f467ec04d Clarify what live-at-head actually means
PiperOrigin-RevId: 439835271
Change-Id: I40765e607a96dfc3f0679450938daf25163c48a4
2022-04-06 07:39:26 -07: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
Derek Mauro c9461a9b55 Update GCC/Clang Linux tests to use Bazel 5.0.0
PiperOrigin-RevId: 429400664
Change-Id: I6454cf52cb2fc616a96663823de997591b63dfae
2022-02-17 14:19:07 -08:00
Derek Mauro 28e1da21d8 Finish some missed pieces of the TestCase to TestSuite Migration
PiperOrigin-RevId: 424864779
Change-Id: Iac5cafa3568f5fe41c85c52d28f7d61845f76868
2022-01-28 07:27:11 -08:00
Derek Mauro 4e82924686 Update test Docker image to GCC 11.2, Clang 14 (prerelease),
CMake 3.22.1, and Bazel 4.2.2

PiperOrigin-RevId: 421814198
Change-Id: Ief4e39d7f077089f10afdc8d63cc1e51dc18e97f
2022-01-14 06:52:59 -08:00
Derek Mauro c58f562fa2 Makes the Python imports consistently use full paths from the repository root,
unifying the behavior between Bazel and CMake

This fixes one of the CI failures on Windows

PiperOrigin-RevId: 417872531
Change-Id: I156989323b7e6d4a4420f4f9691b078829db933d
2021-12-22 13:01:24 -08:00
Derek Mauro 71d4e2f742 Makes TestForDeathTest.CRTDebugDeath only run when _DEBUG is defined
PiperOrigin-RevId: 417678422
Change-Id: I8e42a906459b8fd5a7789a7ed728d12448046c44
2021-12-21 13:16:17 -08:00
Derek Mauro 4848324c5f Update URLs in Bazel Quickstart
PiperOrigin-RevId: 410041507
Change-Id: I6ca514249a54e7fbe6d8fbf4f07317a39af40929
2021-11-15 11:51:27 -08:00
dmauro 6c8a386513 Googletest export
Explicitly used unsigned chars for testing for valid XML characters

PiperOrigin-RevId: 408692969
2021-11-10 17:21:00 -05:00
dmauro cbf46d3f27 Googletest export
Guard #includes for threading related headers with GTEST_IS_THREADSAFE

Some platforms that don't support threading give errors for including
these headers

PiperOrigin-RevId: 406133623
2021-11-03 13:46:02 -04:00
dmauro 5a93ce1247 Googletest export
Remove the subprocess fallback code for older versions of Python

PiperOrigin-RevId: 405967578
2021-11-03 13:45:56 -04:00
dmauro 489ef888d9 Googletest export
Remove GoogleTest's SleepMilliseconds function.
It is only used in tests and a portable implementation is available.

PiperOrigin-RevId: 405437102
2021-11-03 13:45:40 -04:00
dmauro f503588aee Googletest export
Replace the multiple implementations of Notification with a single
portable implementation.

The also removes the awkward loop with sleep in Notification and will
allow the removal of SleepMilliseconds.

PiperOrigin-RevId: 405399733
2021-11-03 13:45:35 -04:00
Derek Mauro 40dfd4b775 Merge pull request #3519 from AkashKumarSingh11032001:master
PiperOrigin-RevId: 397082478
2021-09-16 13:00:21 -04:00
dmauro 8aa657ee39 Googletest export
Delete unsupported/deprecated scripts

PiperOrigin-RevId: 396847020
2021-09-15 13:34:06 -04:00
dmauro 4ea61b9669 Googletest export
Rollback delete of unsupported/deprecated scripts

PiperOrigin-RevId: 396699187
2021-09-15 13:33:54 -04:00
dmauro 7ee2683007 Googletest export
Delete unsupported/deprecated scripts

PiperOrigin-RevId: 396685976
2021-09-15 13:33:48 -04:00
Derek Mauro 0134d73a49 Merge pull request #3504 from duianto:patch-1
PiperOrigin-RevId: 390486428
2021-08-13 12:42:35 -04:00