No-op change for internal experiment PiperOrigin-RevId: 933150024 Change-Id: I2aca41fe294f5a50248914e5ce1518e2bb9974ed
diff --git a/absl/algorithm/BUILD.bazel b/absl/algorithm/BUILD.bazel index cdb0af1..f00d5d0 100644 --- a/absl/algorithm/BUILD.bazel +++ b/absl/algorithm/BUILD.bazel
@@ -86,6 +86,7 @@ "//absl/base", "//absl/base:config", "//absl/base:core_headers", + "//absl/base:hardening", "//absl/memory", "//absl/meta:type_traits", "//absl/random",
diff --git a/absl/algorithm/CMakeLists.txt b/absl/algorithm/CMakeLists.txt index cd7fa22..eb20132 100644 --- a/absl/algorithm/CMakeLists.txt +++ b/absl/algorithm/CMakeLists.txt
@@ -37,6 +37,7 @@ DEPS absl::algorithm absl::config + absl::hardening GTest::gmock_main )
diff --git a/absl/algorithm/container_test.cc b/absl/algorithm/container_test.cc index 2dd74e4..2d2fec1 100644 --- a/absl/algorithm/container_test.cc +++ b/absl/algorithm/container_test.cc
@@ -36,6 +36,7 @@ #include "gtest/gtest.h" #include "absl/base/casts.h" #include "absl/base/config.h" +#include "absl/base/internal/hardening.h" #include "absl/base/macros.h" #include "absl/memory/memory.h" #include "absl/meta/type_traits.h" @@ -873,6 +874,7 @@ (void)actual; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy(input, actual), ""); } #endif @@ -884,6 +886,7 @@ (void)actual; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy_n(input, 3, actual), ""); } #endif @@ -895,6 +898,7 @@ (void)actual; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy_n(input, 4, actual), ""); } #endif @@ -905,6 +909,7 @@ std::list<int> actual = {0, 0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy(input, actual), ""); } #endif @@ -915,6 +920,7 @@ std::vector<int> actual = {0, 0, 0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy_n(input, 4, actual), ""); } #endif @@ -925,6 +931,7 @@ std::vector<int> actual = {0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy_n(input, 3, actual), ""); } #endif @@ -935,6 +942,7 @@ std::forward_list<int> actual = {0, 0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy(input, actual), ""); } #endif @@ -945,6 +953,7 @@ std::forward_list<int> actual = {0, 0, 0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy_n(input, 4, actual), ""); } #endif @@ -955,6 +964,7 @@ std::forward_list<int> actual = {0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_copy_n(input, 3, actual), ""); } #endif @@ -1108,6 +1118,7 @@ (void)actual; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_move(input, actual), ""); } #endif @@ -1118,6 +1129,7 @@ std::list<int> actual = {0, 0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_move(input, actual), ""); } #endif @@ -1128,6 +1140,7 @@ std::forward_list<int> actual = {0, 0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_move(input, actual), ""); } #endif @@ -1231,6 +1244,7 @@ (void)actual; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_transform(input, actual, [](int x) { return x * 2; }), ""); } @@ -1244,6 +1258,7 @@ (void)actual; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_transform(input1, input2, actual, std::plus<int>()), ""); } @@ -1255,6 +1270,7 @@ std::list<int> actual = {0, 0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_transform(input, actual, [](int x) { return x * 2; }), ""); } @@ -1267,6 +1283,7 @@ std::vector<int> actual = {0, 0, 0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_transform(input1, input2, actual, std::plus<int>()), ""); } @@ -1279,6 +1296,7 @@ std::vector<int> actual = {0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_transform(input1, input2, actual, std::plus<int>()), ""); } @@ -1291,6 +1309,7 @@ std::vector<int> actual = {0}; #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH(absl::c_transform(input1, input2, actual, std::plus<int>()), ""); }
diff --git a/absl/base/internal/hardening.h b/absl/base/internal/hardening.h index 7fbe474..ef6d327 100644 --- a/absl/base/internal/hardening.h +++ b/absl/base/internal/hardening.h
@@ -132,6 +132,20 @@ #endif } +class ScopedSetAbslHardeningForTesting { + private: + bool prev_state_; + + public: + explicit ScopedSetAbslHardeningForTesting([[maybe_unused]] bool enabled) { + prev_state_ = false; + SetAbslHardeningEnabled(enabled); + } + ~ScopedSetAbslHardeningForTesting() { + absl::base_internal::SetAbslHardeningEnabled(prev_state_); + } +}; + } // namespace base_internal ABSL_NAMESPACE_END
diff --git a/absl/container/BUILD.bazel b/absl/container/BUILD.bazel index e748f04..a386a53 100644 --- a/absl/container/BUILD.bazel +++ b/absl/container/BUILD.bazel
@@ -89,6 +89,7 @@ ":test_allocator", "//absl/base:config", "//absl/base:exception_testing", + "//absl/base:hardening", "//absl/base:iterator_traits_test_helper", "//absl/hash:hash_testing", "//absl/memory", @@ -180,6 +181,7 @@ "//absl/base:config", "//absl/base:core_headers", "//absl/base:exception_testing", + "//absl/base:hardening", "//absl/base:iterator_traits_test_helper", "//absl/hash:hash_testing", "//absl/log:check", @@ -1382,6 +1384,7 @@ ":chunked_queue", ":test_allocator", "//absl/base:core_headers", + "//absl/base:hardening", "//absl/strings", "@googletest//:gtest", "@googletest//:gtest_main",
diff --git a/absl/container/CMakeLists.txt b/absl/container/CMakeLists.txt index 396b944..005548f 100644 --- a/absl/container/CMakeLists.txt +++ b/absl/container/CMakeLists.txt
@@ -149,6 +149,7 @@ absl::fixed_array absl::config absl::exception_testing + absl::hardening absl::hash_testing absl::iterator_traits_test_helper_internal absl::memory @@ -235,6 +236,7 @@ absl::config absl::core_headers absl::exception_testing + absl::hardening absl::hash_testing absl::inlined_vector absl::memory @@ -1234,6 +1236,7 @@ absl::chunked_queue absl::config absl::core_headers + absl::hardening absl::strings absl::test_allocator GTest::gmock_main
diff --git a/absl/container/chunked_queue_test.cc b/absl/container/chunked_queue_test.cc index bee7e03..4ba13c9 100644 --- a/absl/container/chunked_queue_test.cc +++ b/absl/container/chunked_queue_test.cc
@@ -29,6 +29,7 @@ #include "gmock/gmock.h" #include "gtest/gtest.h" +#include "absl/base/internal/hardening.h" #include "absl/base/macros.h" #include "absl/container/internal/test_allocator.h" #include "absl/strings/str_cat.h" @@ -755,6 +756,7 @@ GTEST_SKIP() << "Not a hardened build"; } + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); absl::chunked_queue<int> q; EXPECT_DEATH_IF_SUPPORTED(q.front(), ""); EXPECT_DEATH_IF_SUPPORTED(q.back(), "");
diff --git a/absl/container/fixed_array_test.cc b/absl/container/fixed_array_test.cc index 54e5fd6..81fb0e5 100644 --- a/absl/container/fixed_array_test.cc +++ b/absl/container/fixed_array_test.cc
@@ -31,6 +31,7 @@ #include "gtest/gtest.h" #include "absl/base/config.h" #include "absl/base/internal/exception_testing.h" +#include "absl/base/internal/hardening.h" #include "absl/base/internal/iterator_traits_test_helper.h" #include "absl/base/options.h" #include "absl/container/internal/test_allocator.h" @@ -196,6 +197,7 @@ TEST(FixedArrayTest, Hardened) { #if !defined(NDEBUG) || ABSL_OPTION_HARDENED + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); absl::FixedArray<int> a = {1, 2, 3}; EXPECT_EQ(a[2], 3); EXPECT_DEATH_IF_SUPPORTED(a[3], "");
diff --git a/absl/container/inlined_vector_test.cc b/absl/container/inlined_vector_test.cc index 56edf09..d6cc175 100644 --- a/absl/container/inlined_vector_test.cc +++ b/absl/container/inlined_vector_test.cc
@@ -32,6 +32,7 @@ #include "gtest/gtest.h" #include "absl/base/attributes.h" #include "absl/base/internal/exception_testing.h" +#include "absl/base/internal/hardening.h" #include "absl/base/internal/iterator_traits_test_helper.h" #include "absl/base/macros.h" #include "absl/base/options.h" @@ -258,6 +259,7 @@ Fill(&v, 10); EXPECT_EQ(v[9], 9); #if !defined(NDEBUG) || ABSL_OPTION_HARDENED + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH_IF_SUPPORTED(v[10], ""); EXPECT_DEATH_IF_SUPPORTED(v[static_cast<size_t>(-1)], ""); EXPECT_DEATH_IF_SUPPORTED(v.resize(v.max_size() + 1), "");
diff --git a/absl/strings/BUILD.bazel b/absl/strings/BUILD.bazel index 4c974ce..def78d5 100644 --- a/absl/strings/BUILD.bazel +++ b/absl/strings/BUILD.bazel
@@ -1005,6 +1005,7 @@ "//absl/base:config", "//absl/base:core_headers", "//absl/base:endian", + "//absl/base:hardening", "//absl/base:no_destructor", "//absl/container:fixed_array", "//absl/functional:function_ref",
diff --git a/absl/strings/CMakeLists.txt b/absl/strings/CMakeLists.txt index 3041e19..e6b5da3 100644 --- a/absl/strings/CMakeLists.txt +++ b/absl/strings/CMakeLists.txt
@@ -1164,6 +1164,7 @@ absl::endian absl::fixed_array absl::function_ref + absl::hardening absl::hash absl::hash_testing absl::no_destructor
diff --git a/absl/strings/cord_test.cc b/absl/strings/cord_test.cc index 5c773e7..56db8f4 100644 --- a/absl/strings/cord_test.cc +++ b/absl/strings/cord_test.cc
@@ -38,6 +38,7 @@ #include "absl/base/attributes.h" #include "absl/base/config.h" #include "absl/base/internal/endian.h" +#include "absl/base/internal/hardening.h" #include "absl/base/macros.h" #include "absl/base/no_destructor.h" #include "absl/base/options.h" @@ -2828,6 +2829,7 @@ }()); if (!test_hardening) return; + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH_IF_SUPPORTED(cord[5], ""); EXPECT_DEATH_IF_SUPPORTED(*cord.chunk_end(), ""); EXPECT_DEATH_IF_SUPPORTED(static_cast<void>(cord.chunk_end()->empty()), "");
diff --git a/absl/types/BUILD.bazel b/absl/types/BUILD.bazel index 2670c0c..1d937e7 100644 --- a/absl/types/BUILD.bazel +++ b/absl/types/BUILD.bazel
@@ -107,6 +107,7 @@ "//absl/base:config", "//absl/base:core_headers", "//absl/base:exception_testing", + "//absl/base:hardening", "//absl/container:fixed_array", "//absl/container:inlined_vector", "//absl/hash", @@ -149,6 +150,7 @@ "//absl/base:config", "//absl/base:core_headers", "//absl/base:exception_testing", + "//absl/base:hardening", "//absl/base:raw_logging_internal", "//absl/hash:hash_testing", "//absl/meta:type_traits",
diff --git a/absl/types/CMakeLists.txt b/absl/types/CMakeLists.txt index 79a4c19..28e1fe8 100644 --- a/absl/types/CMakeLists.txt +++ b/absl/types/CMakeLists.txt
@@ -58,6 +58,7 @@ absl::config absl::core_headers absl::exception_testing + absl::hardening absl::hash_testing absl::raw_logging_internal absl::span @@ -101,6 +102,7 @@ absl::core_headers absl::exception_testing absl::fixed_array + absl::hardening absl::hash absl::inlined_vector absl::hash_testing
diff --git a/absl/types/any_span_test.cc b/absl/types/any_span_test.cc index e5960c6..fe12b74 100644 --- a/absl/types/any_span_test.cc +++ b/absl/types/any_span_test.cc
@@ -30,6 +30,7 @@ #include "gtest/gtest.h" #include "absl/base/config.h" #include "absl/base/internal/exception_testing.h" +#include "absl/base/internal/hardening.h" #include "absl/base/internal/raw_logging.h" #include "absl/base/macros.h" #include "absl/hash/hash_testing.h" @@ -1041,6 +1042,7 @@ EXPECT_THAT(span.subspan(3, AnySpan<int>::npos), ElementsAre()); #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + auto hardener = absl::base_internal::ScopedSetAbslHardeningForTesting(true); EXPECT_DEATH(span.subspan(4, AnySpan<int>::npos), ""); EXPECT_DEATH(span.subspan(AnySpan<int>::npos, AnySpan<int>::npos), ""); } @@ -1052,6 +1054,7 @@ AnySpan<int> span(v); #if GTEST_HAS_DEATH_TEST if (IsHardened()) { + auto hardener = absl::base_internal::ScopedSetAbslHardeningForTesting(true); EXPECT_DEATH(span.subspan(5, 0), ""); EXPECT_DEATH(span.subspan(5, 1), ""); EXPECT_DEATH(span.subspan(AnySpan<int>::npos, 0), "");
diff --git a/absl/types/span_test.cc b/absl/types/span_test.cc index 5a8b82e..051e673 100644 --- a/absl/types/span_test.cc +++ b/absl/types/span_test.cc
@@ -27,6 +27,7 @@ #include "absl/base/attributes.h" #include "absl/base/config.h" #include "absl/base/internal/exception_testing.h" +#include "absl/base/internal/hardening.h" #include "absl/base/options.h" #include "absl/container/fixed_array.h" #include "absl/container/inlined_vector.h" @@ -250,6 +251,7 @@ EXPECT_EQ(s.back(), s[9]); #if !defined(NDEBUG) || ABSL_OPTION_HARDENED + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); EXPECT_DEATH_IF_SUPPORTED(s[-1], ""); EXPECT_DEATH_IF_SUPPORTED(s[10], ""); #endif @@ -291,6 +293,7 @@ EXPECT_EQ(v, MakeRamp(20, 1)); #if !defined(NDEBUG) || ABSL_OPTION_HARDENED + absl::base_internal::ScopedSetAbslHardeningForTesting hardener(true); absl::Span<int> prefix_death(v); EXPECT_DEATH_IF_SUPPORTED(prefix_death.remove_prefix(21), ""); absl::Span<int> suffix_death(v);