Move QUICHE test helper functions and classes into quiche::test namespace.

Move QuicheFlagSaver, QuicheTest, QuicheTestWithParam<>,
ScopedEnvironmentForThreads, and QuicheGetTestMemoryCachePathImpl() from top
level namespace to quiche::test.

Move QuicFlagSaver, QuicTest, and QuicTestWithParam<> from top level namespace to
quic::test.

There were two implementations of QuicheTestImpl and of QuicheTestWithParamImpl
in net/quic/platform_overrides/quiche_platform_impl/quiche_test_impl.h, one each
within quiche::test on lines 24-27, one each in the top level namespace on lines
186-205 (not actually used).  This CL removes the unused ones.

PiperOrigin-RevId: 449490232
diff --git a/quiche/common/platform/api/quiche_test.h b/quiche/common/platform/api/quiche_test.h
index b707385..2fbb81d 100644
--- a/quiche/common/platform/api/quiche_test.h
+++ b/quiche/common/platform/api/quiche_test.h
@@ -7,10 +7,12 @@
 
 #include "quiche_platform_impl/quiche_test_impl.h"
 
-using QuicheTest = quiche::test::QuicheTestImpl;
+namespace quiche::test {
+
+using QuicheTest = QuicheTestImpl;
 
 template <class T>
-using QuicheTestWithParam = quiche::test::QuicheTestWithParamImpl<T>;
+using QuicheTestWithParam = QuicheTestWithParamImpl<T>;
 
 using QuicheFlagSaver = QuicheFlagSaverImpl;
 
@@ -21,17 +23,13 @@
   return QuicheGetTestMemoryCachePathImpl();
 }
 
-namespace quiche {
-namespace test {
-
 // Returns the path to quiche/common directory where the test data could be
 // located.
 inline std::string QuicheGetCommonSourcePath() {
   return QuicheGetCommonSourcePathImpl();
 }
 
-}  // namespace test
-}  // namespace quiche
+}  // namespace quiche::test
 
 #define EXPECT_QUICHE_DEBUG_DEATH(condition, message) \
   EXPECT_QUICHE_DEBUG_DEATH_IMPL(condition, message)
diff --git a/quiche/http2/adapter/nghttp2_session_test.cc b/quiche/http2/adapter/nghttp2_session_test.cc
index 5c6d00f..61500bb 100644
--- a/quiche/http2/adapter/nghttp2_session_test.cc
+++ b/quiche/http2/adapter/nghttp2_session_test.cc
@@ -27,7 +27,7 @@
   WINDOW_UPDATE,
 };
 
-class NgHttp2SessionTest : public QuicheTest {
+class NgHttp2SessionTest : public quiche::test::QuicheTest {
  public:
   void SetUp() override {
     nghttp2_option_new(&options_);
diff --git a/quiche/http2/adapter/nghttp2_test.cc b/quiche/http2/adapter/nghttp2_test.cc
index ec510ec..39770ff 100644
--- a/quiche/http2/adapter/nghttp2_test.cc
+++ b/quiche/http2/adapter/nghttp2_test.cc
@@ -38,7 +38,7 @@
   return options;
 }
 
-class Nghttp2Test : public QuicheTest {
+class Nghttp2Test : public quiche::test::QuicheTest {
  public:
   Nghttp2Test() : session_(MakeSessionPtr(nullptr)) {}
 
diff --git a/quiche/http2/adapter/window_manager_test.cc b/quiche/http2/adapter/window_manager_test.cc
index 5e9ef52..0e05b85 100644
--- a/quiche/http2/adapter/window_manager_test.cc
+++ b/quiche/http2/adapter/window_manager_test.cc
@@ -24,7 +24,7 @@
 
 namespace {
 
-class WindowManagerTest : public QuicheTest {
+class WindowManagerTest : public quiche::test::QuicheTest {
  protected:
   WindowManagerTest()
       : wm_(kDefaultLimit, absl::bind_front(&WindowManagerTest::OnCall, this)),
diff --git a/quiche/http2/core/priority_write_scheduler_test.cc b/quiche/http2/core/priority_write_scheduler_test.cc
index 422a587..9be325f 100644
--- a/quiche/http2/core/priority_write_scheduler_test.cc
+++ b/quiche/http2/core/priority_write_scheduler_test.cc
@@ -35,7 +35,7 @@
 
 namespace {
 
-class PriorityWriteSchedulerTest : public QuicheTest {
+class PriorityWriteSchedulerTest : public quiche::test::QuicheTest {
  public:
   PriorityWriteSchedulerTest() : peer_(&scheduler_) {}
 
diff --git a/quiche/http2/decoder/decode_buffer_test.cc b/quiche/http2/decoder/decode_buffer_test.cc
index 0149062..6e5eb9c 100644
--- a/quiche/http2/decoder/decode_buffer_test.cc
+++ b/quiche/http2/decoder/decode_buffer_test.cc
@@ -43,7 +43,7 @@
   TestEnum8 f8;
 };
 
-class DecodeBufferTest : public QuicheTest {
+class DecodeBufferTest : public quiche::test::QuicheTest {
  protected:
   Http2Random random_;
   uint32_t decode_offset_;
diff --git a/quiche/http2/decoder/decode_http2_structures_test.cc b/quiche/http2/decoder/decode_http2_structures_test.cc
index 6ace3a6..61413f3 100644
--- a/quiche/http2/decoder/decode_http2_structures_test.cc
+++ b/quiche/http2/decoder/decode_http2_structures_test.cc
@@ -39,7 +39,7 @@
 }
 
 template <class S>
-class StructureDecoderTest : public QuicheTest {
+class StructureDecoderTest : public quiche::test::QuicheTest {
  protected:
   typedef S Structure;
 
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc b/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc
index d5b375c..46872aa 100644
--- a/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc
+++ b/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc
@@ -45,7 +45,7 @@
 
 enum StringBacking { STATIC, UNBUFFERED, BUFFERED };
 
-class HpackDecoderStateTest : public QuicheTest {
+class HpackDecoderStateTest : public quiche::test::QuicheTest {
  protected:
   HpackDecoderStateTest() : decoder_state_(&listener_) {}
 
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc b/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc
index 758dfce..299391f 100644
--- a/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc
+++ b/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc
@@ -22,7 +22,7 @@
 namespace test {
 namespace {
 
-class HpackDecoderStringBufferTest : public QuicheTest {
+class HpackDecoderStringBufferTest : public quiche::test::QuicheTest {
  protected:
   typedef HpackDecoderStringBuffer::State State;
   typedef HpackDecoderStringBuffer::Backing Backing;
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc b/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc
index 18c666f..10917da 100644
--- a/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc
+++ b/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc
@@ -54,7 +54,7 @@
   std::shuffle(collection->begin(), collection->end(), *r);
 }
 
-class HpackDecoderStaticTableTest : public QuicheTest {
+class HpackDecoderStaticTableTest : public quiche::test::QuicheTest {
  protected:
   HpackDecoderStaticTableTest() = default;
 
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_test.cc b/quiche/http2/hpack/decoder/hpack_decoder_test.cc
index 8aa4c46..0840203 100644
--- a/quiche/http2/hpack/decoder/hpack_decoder_test.cc
+++ b/quiche/http2/hpack/decoder/hpack_decoder_test.cc
@@ -69,7 +69,7 @@
               (override));
 };
 
-class HpackDecoderTest : public QuicheTestWithParam<bool>,
+class HpackDecoderTest : public quiche::test::QuicheTestWithParam<bool>,
                          public HpackDecoderListener {
  protected:
   // Note that we initialize the random number generator with the same seed
diff --git a/quiche/http2/hpack/decoder/hpack_whole_entry_buffer_test.cc b/quiche/http2/hpack/decoder/hpack_whole_entry_buffer_test.cc
index 4064d29..d2bb81c 100644
--- a/quiche/http2/hpack/decoder/hpack_whole_entry_buffer_test.cc
+++ b/quiche/http2/hpack/decoder/hpack_whole_entry_buffer_test.cc
@@ -40,7 +40,7 @@
               (override));
 };
 
-class HpackWholeEntryBufferTest : public QuicheTest {
+class HpackWholeEntryBufferTest : public quiche::test::QuicheTest {
  protected:
   HpackWholeEntryBufferTest() : entry_buffer_(&listener_, kMaxStringSize) {}
   ~HpackWholeEntryBufferTest() override = default;
diff --git a/quiche/http2/hpack/huffman/hpack_huffman_encoder_test.cc b/quiche/http2/hpack/huffman/hpack_huffman_encoder_test.cc
index 4155466..0c4f5a4 100644
--- a/quiche/http2/hpack/huffman/hpack_huffman_encoder_test.cc
+++ b/quiche/http2/hpack/huffman/hpack_huffman_encoder_test.cc
@@ -11,7 +11,7 @@
 namespace http2 {
 namespace {
 
-class HuffmanEncoderTest : public QuicheTestWithParam<bool> {
+class HuffmanEncoderTest : public quiche::test::QuicheTestWithParam<bool> {
  protected:
   HuffmanEncoderTest() : use_fast_encoder_(GetParam()) {}
   virtual ~HuffmanEncoderTest() = default;
diff --git a/quiche/http2/http2_constants_test.cc b/quiche/http2/http2_constants_test.cc
index 1044b80..8478ae6 100644
--- a/quiche/http2/http2_constants_test.cc
+++ b/quiche/http2/http2_constants_test.cc
@@ -10,7 +10,7 @@
 namespace test {
 namespace {
 
-class Http2ConstantsTest : public QuicheTest {};
+class Http2ConstantsTest : public quiche::test::QuicheTest {};
 
 TEST(Http2ConstantsTest, Http2FrameType) {
   EXPECT_EQ(Http2FrameType::DATA, static_cast<Http2FrameType>(0));
diff --git a/quiche/http2/http2_structures_test.cc b/quiche/http2/http2_structures_test.cc
index 5f63e4c..5907733 100644
--- a/quiche/http2/http2_structures_test.cc
+++ b/quiche/http2/http2_structures_test.cc
@@ -161,7 +161,8 @@
 
 // The tests of the valid frame types include EXPECT_QUICHE_DEBUG_DEATH, which
 // is quite slow, so using value parameterized tests in order to allow sharding.
-class Http2FrameHeaderTypeAndFlagTest : public QuicheTestWithParam<TestParams> {
+class Http2FrameHeaderTypeAndFlagTest
+    : public quiche::test::QuicheTestWithParam<TestParams> {
  protected:
   Http2FrameHeaderTypeAndFlagTest()
       : type_(std::get<0>(GetParam())), flags_(std::get<1>(GetParam())) {
diff --git a/quiche/http2/test_tools/random_decoder_test_base.h b/quiche/http2/test_tools/random_decoder_test_base.h
index ba137b3..a01ea8d 100644
--- a/quiche/http2/test_tools/random_decoder_test_base.h
+++ b/quiche/http2/test_tools/random_decoder_test_base.h
@@ -55,7 +55,7 @@
 
 // Base class for tests of the ability to decode a sequence of bytes with
 // various boundaries between the DecodeBuffers provided to the decoder.
-class QUICHE_NO_EXPORT RandomDecoderTest : public QuicheTest {
+class QUICHE_NO_EXPORT RandomDecoderTest : public quiche::test::QuicheTest {
  public:
   // SelectSize returns the size of the next DecodeBuffer to be passed to the
   // decoder. Note that RandomDecoderTest allows that size to be zero, though
diff --git a/quiche/quic/core/http/end_to_end_test.cc b/quiche/quic/core/http/end_to_end_test.cc
index 562b032..25a3af7 100644
--- a/quiche/quic/core/http/end_to_end_test.cc
+++ b/quiche/quic/core/http/end_to_end_test.cc
@@ -822,7 +822,7 @@
     }
   }
 
-  ScopedEnvironmentForThreads environment_;
+  quiche::test::ScopedEnvironmentForThreads environment_;
   bool initialized_;
   // If true, the Initialize() function will create |client_| and starts to
   // connect to the server.
diff --git a/quiche/quic/platform/api/quic_test.h b/quiche/quic/platform/api/quic_test.h
index 9a60af3..0d1d2b0 100644
--- a/quiche/quic/platform/api/quic_test.h
+++ b/quiche/quic/platform/api/quic_test.h
@@ -8,15 +8,16 @@
 #include "quiche/quic/platform/api/quic_logging.h"
 #include "quiche/common/platform/api/quiche_test.h"
 
-using QuicFlagSaver = QuicheFlagSaver;
+namespace quic::test {
+
+using QuicFlagSaver = quiche::test::QuicheFlagSaver;
 
 // Defines the base classes to be used in QUIC tests.
-using QuicTest = QuicheTest;
+using QuicTest = quiche::test::QuicheTest;
 template <class T>
-using QuicTestWithParam = QuicheTestWithParam<T>;
+using QuicTestWithParam = quiche::test::QuicheTestWithParam<T>;
 
-// Class which needs to be instantiated in tests which use threads.
-using ScopedEnvironmentForThreads = ScopedEnvironmentForThreadsImpl;
+}  // namespace quic::test
 
 #define QUIC_TEST_DISABLED_IN_CHROME(name) QUICHE_TEST_DISABLED_IN_CHROME(name)
 
diff --git a/quiche/quic/test_tools/simulator/quic_endpoint_test.cc b/quiche/quic/test_tools/simulator/quic_endpoint_test.cc
index 823c190..5850a8b 100644
--- a/quiche/quic/test_tools/simulator/quic_endpoint_test.cc
+++ b/quiche/quic/test_tools/simulator/quic_endpoint_test.cc
@@ -28,7 +28,7 @@
 
 // A simple test harness where all hosts are connected to a switch with
 // identical links.
-class QuicEndpointTest : public QuicTest {
+class QuicEndpointTest : public quic::test::QuicTest {
  public:
   QuicEndpointTest()
       : simulator_(), switch_(&simulator_, "Switch", 8, kDefaultBdp * 2) {}
diff --git a/quiche/quic/test_tools/simulator/simulator_test.cc b/quiche/quic/test_tools/simulator/simulator_test.cc
index d348a8a..4ae04a7 100644
--- a/quiche/quic/test_tools/simulator/simulator_test.cc
+++ b/quiche/quic/test_tools/simulator/simulator_test.cc
@@ -47,7 +47,7 @@
   QuicTime::Delta period_;
 };
 
-class SimulatorTest : public QuicTest {};
+class SimulatorTest : public quic::test::QuicTest {};
 
 // Test that the basic event handling works, and that Actors can be created and
 // destroyed mid-simulation.
diff --git a/quiche/quic/tools/quic_memory_cache_backend_test.cc b/quiche/quic/tools/quic_memory_cache_backend_test.cc
index 040f04b..a75b46e 100644
--- a/quiche/quic/tools/quic_memory_cache_backend_test.cc
+++ b/quiche/quic/tools/quic_memory_cache_backend_test.cc
@@ -31,7 +31,9 @@
     (*headers)[":scheme"] = "https";
   }
 
-  std::string CacheDirectory() { return QuicheGetTestMemoryCachePath(); }
+  std::string CacheDirectory() {
+    return quiche::test::QuicheGetTestMemoryCachePath();
+  }
 
   QuicMemoryCacheBackend cache_;
 };
diff --git a/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc b/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc
index f8af2f4..5df9d82 100644
--- a/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc
+++ b/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc
@@ -112,7 +112,7 @@
 enum StartChoice { START_WITH_HANDLER, START_WITHOUT_HANDLER, NO_START };
 
 class HpackDecoderAdapterTest
-    : public QuicheTestWithParam<std::tuple<StartChoice, bool>> {
+    : public quiche::test::QuicheTestWithParam<std::tuple<StartChoice, bool>> {
  protected:
   HpackDecoderAdapterTest() : decoder_(), decoder_peer_(&decoder_) {}
 
diff --git a/quiche/spdy/core/hpack/hpack_encoder_test.cc b/quiche/spdy/core/hpack/hpack_encoder_test.cc
index 886b9ed..9402512 100644
--- a/quiche/spdy/core/hpack/hpack_encoder_test.cc
+++ b/quiche/spdy/core/hpack/hpack_encoder_test.cc
@@ -127,7 +127,8 @@
   kRepresentations,
 };
 
-class HpackEncoderTest : public QuicheTestWithParam<EncodeStrategy> {
+class HpackEncoderTest
+    : public quiche::test::QuicheTestWithParam<EncodeStrategy> {
  protected:
   typedef test::HpackEncoderPeer::Representations Representations;
 
diff --git a/quiche/spdy/core/hpack/hpack_header_table_test.cc b/quiche/spdy/core/hpack/hpack_header_table_test.cc
index 51bd7ed..7886b2d 100644
--- a/quiche/spdy/core/hpack/hpack_header_table_test.cc
+++ b/quiche/spdy/core/hpack/hpack_header_table_test.cc
@@ -67,7 +67,7 @@
 
 namespace {
 
-class HpackHeaderTableTest : public QuicheTest {
+class HpackHeaderTableTest : public quiche::test::QuicheTest {
  protected:
   typedef std::vector<HpackEntry> HpackEntryVector;
 
diff --git a/quiche/spdy/core/hpack/hpack_round_trip_test.cc b/quiche/spdy/core/hpack/hpack_round_trip_test.cc
index 702e5fa..27e1bcc 100644
--- a/quiche/spdy/core/hpack/hpack_round_trip_test.cc
+++ b/quiche/spdy/core/hpack/hpack_round_trip_test.cc
@@ -22,7 +22,8 @@
 // Supports testing with the input split at every byte boundary.
 enum InputSizeParam { ALL_INPUT, ONE_BYTE, ZERO_THEN_ONE_BYTE };
 
-class HpackRoundTripTest : public QuicheTestWithParam<InputSizeParam> {
+class HpackRoundTripTest
+    : public quiche::test::QuicheTestWithParam<InputSizeParam> {
  protected:
   void SetUp() override {
     // Use a small table size to tickle eviction handling.
diff --git a/quiche/spdy/core/hpack/hpack_static_table_test.cc b/quiche/spdy/core/hpack/hpack_static_table_test.cc
index e0577a0..b781aaf 100644
--- a/quiche/spdy/core/hpack/hpack_static_table_test.cc
+++ b/quiche/spdy/core/hpack/hpack_static_table_test.cc
@@ -17,7 +17,7 @@
 
 namespace {
 
-class HpackStaticTableTest : public QuicheTest {
+class HpackStaticTableTest : public quiche::test::QuicheTest {
  protected:
   HpackStaticTableTest() : table_() {}
 
diff --git a/quiche/spdy/core/metadata_extension_test.cc b/quiche/spdy/core/metadata_extension_test.cc
index 258f646..26f98f4 100644
--- a/quiche/spdy/core/metadata_extension_test.cc
+++ b/quiche/spdy/core/metadata_extension_test.cc
@@ -27,7 +27,7 @@
 const size_t kBufferSize = 64 * 1024;
 char kBuffer[kBufferSize];
 
-class MetadataExtensionTest : public QuicheTest {
+class MetadataExtensionTest : public quiche::test::QuicheTest {
  protected:
   MetadataExtensionTest() : test_buffer_(kBuffer, kBufferSize) {}
 
diff --git a/quiche/spdy/core/spdy_framer_test.cc b/quiche/spdy/core/spdy_framer_test.cc
index eb6a9a3..bdea70c 100644
--- a/quiche/spdy/core/spdy_framer_test.cc
+++ b/quiche/spdy/core/spdy_framer_test.cc
@@ -568,7 +568,7 @@
 
 enum Output { USE, NOT_USE };
 
-class SpdyFramerTest : public QuicheTestWithParam<Output> {
+class SpdyFramerTest : public quiche::test::QuicheTestWithParam<Output> {
  public:
   SpdyFramerTest()
       : output_(output_buffer, kSize),
@@ -2935,7 +2935,7 @@
   EXPECT_FALSE(frame_it.HasNextFrame());
 }
 
-class SpdyControlFrameIteratorTest : public QuicheTest {
+class SpdyControlFrameIteratorTest : public quiche::test::QuicheTest {
  public:
   SpdyControlFrameIteratorTest() : output_(output_buffer, kSize) {}
 
diff --git a/quiche/spdy/core/spdy_intrusive_list_test.cc b/quiche/spdy/core/spdy_intrusive_list_test.cc
index 507c707..ad91625 100644
--- a/quiche/spdy/core/spdy_intrusive_list_test.cc
+++ b/quiche/spdy/core/spdy_intrusive_list_test.cc
@@ -29,11 +29,11 @@
   swap(a.n, b.n);
 }
 
-class IntrusiveListTest : public QuicheTest {
+class IntrusiveListTest : public quiche::test::QuicheTest {
  protected:
   void CheckLists() {
     CheckLists(l1, ll1);
-    if (QuicheTest::HasFailure()) return;
+    if (quiche::test::QuicheTest::HasFailure()) return;
     CheckLists(l2, ll2);
   }
 
@@ -402,7 +402,7 @@
   }
 }
 
-class IntrusiveListTagTypeTest : public QuicheTest {
+class IntrusiveListTagTypeTest : public quiche::test::QuicheTest {
  protected:
   struct Tag {};
   class Element : public SpdyIntrusiveLink<Element, Tag> {};
diff --git a/quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc b/quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc
index f35f9b0..984be68 100644
--- a/quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc
+++ b/quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc
@@ -13,7 +13,7 @@
 
 namespace test {
 
-class SpdyPinnableBufferPieceTest : public QuicheTest {
+class SpdyPinnableBufferPieceTest : public quiche::test::QuicheTest {
  protected:
   SpdyPrefixedBufferReader Build(const std::string& prefix,
                                  const std::string& suffix) {
diff --git a/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc b/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc
index c2bf25c..c013c4c 100644
--- a/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc
+++ b/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc
@@ -15,7 +15,7 @@
 
 using testing::ElementsAreArray;
 
-class SpdyPrefixedBufferReaderTest : public QuicheTest {
+class SpdyPrefixedBufferReaderTest : public quiche::test::QuicheTest {
  protected:
   SpdyPrefixedBufferReader Build(const std::string& prefix,
                                  const std::string& suffix) {