Merge pull request #4231 from yagneshprajapati:main
PiperOrigin-RevId: 532204016
Change-Id: Ifa309f31bb959b43faa54c5ce631a823e6a2888a
diff --git a/BUILD.bazel b/BUILD.bazel
index ac62251..b1e3b7f 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -132,6 +132,7 @@
}),
deps = select({
":has_absl": [
+ "@com_google_absl//absl/container:flat_hash_set",
"@com_google_absl//absl/debugging:failure_signal_handler",
"@com_google_absl//absl/debugging:stacktrace",
"@com_google_absl//absl/debugging:symbolize",
diff --git a/README.md b/README.md
index 54f534e..14bb9e3 100644
--- a/README.md
+++ b/README.md
@@ -41,7 +41,7 @@
projects. These were so closely related that it makes sense to maintain and
release them together.
-### Getting Started
+### Getting Started
See the [GoogleTest User's Guide](https://google.github.io/googletest/) for
documentation. We recommend starting with the
@@ -50,18 +50,40 @@
More information about building GoogleTest can be found at
[googletest/README.md](googletest/README.md).
-| Feature | Description |
-| --- | --- |
-| xUnit test framework | Googletest is based on the [xUnit](https://en.wikipedia.org/wiki/XUnit) testing framework, a popular architecture for unit testing |
-| Test discovery | Googletest automatically discovers and runs your tests, eliminating the need to manually register your tests |
-| Rich set of assertions | Googletest provides a variety of assertions, such as equality, inequality, exceptions, and more, making it easy to test your code |
-| User-defined assertions | You can define your own assertions with Googletest, making it simple to write tests that are specific to your code |
-| Death tests | Googletest supports death tests, which verify that your code exits in a certain way, making it useful for testing error-handling code |
-| Fatal and non-fatal failures | You can specify whether a test failure should be treated as fatal or non-fatal with Googletest, allowing tests to continue running even if a failure occurs |
-| Value-parameterized tests | Googletest supports value-parameterized tests, which run multiple times with different input values, making it useful for testing functions that take different inputs |
-| Type-parameterized tests | Googletest also supports type-parameterized tests, which run with different data types, making it useful for testing functions that work with different data types |
-| Various options for running tests | Googletest provides many options for running tests, including running individual tests, running tests in a specific order, and running tests in parallel |
-
+| Feature | Description |
+| ---------------------------- | --------------------------------------------- |
+| xUnit test framework | Googletest is based on the |
+: : [xUnit](https\://en.wikipedia.org/wiki/XUnit) :
+: : testing framework, a popular architecture for :
+: : unit testing :
+| Test discovery | Googletest automatically discovers and runs |
+: : your tests, eliminating the need to manually :
+: : register your tests :
+| Rich set of assertions | Googletest provides a variety of assertions, |
+: : such as equality, inequality, exceptions, and :
+: : more, making it easy to test your code :
+| User-defined assertions | You can define your own assertions with |
+: : Googletest, making it simple to write tests :
+: : that are specific to your code :
+| Death tests | Googletest supports death tests, which verify |
+: : that your code exits in a certain way, making :
+: : it useful for testing error-handling code :
+| Fatal and non-fatal failures | You can specify whether a test failure should |
+: : be treated as fatal or non-fatal with :
+: : Googletest, allowing tests to continue :
+: : running even if a failure occurs :
+| Value-parameterized tests | Googletest supports value-parameterized |
+: : tests, which run multiple times with :
+: : different input values, making it useful for :
+: : testing functions that take different inputs :
+| Type-parameterized tests | Googletest also supports type-parameterized |
+: : tests, which run with different data types, :
+: : making it useful for testing functions that :
+: : work with different data types :
+| Various options for running | Googletest provides many options for running |
+: tests : tests, including running individual tests, :
+: : running tests in a specific order, and :
+: : running tests in parallel :
## Supported Platforms
diff --git a/googletest/src/gtest-death-test.cc b/googletest/src/gtest-death-test.cc
index c3b7820..4cf78e7 100644
--- a/googletest/src/gtest-death-test.cc
+++ b/googletest/src/gtest-death-test.cc
@@ -625,9 +625,11 @@
return success;
}
+#ifndef GTEST_OS_WINDOWS
// Note: The return value points into args, so the return value's lifetime is
// bound to that of args.
-std::unique_ptr<char*[]> CreateArgvFromArgs(std::vector<std::string>& args) {
+static std::unique_ptr<char*[]> CreateArgvFromArgs(
+ std::vector<std::string>& args) {
auto result = std::make_unique<char*[]>(args.size() + 1);
for (size_t i = 0; i < args.size(); ++i) {
result[i] = &args[i][0];
@@ -635,6 +637,7 @@
result[args.size()] = nullptr; // extra null terminator
return result;
}
+#endif
#ifdef GTEST_OS_WINDOWS
// WindowsDeathTest implements death tests on Windows. Due to the