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);