diff --git a/spdy/core/hpack/hpack_decoder_adapter_test.cc b/spdy/core/hpack/hpack_decoder_adapter_test.cc
index ab3ac77..31b2a39 100644
--- a/spdy/core/hpack/hpack_decoder_adapter_test.cc
+++ b/spdy/core/hpack/hpack_decoder_adapter_test.cc
@@ -111,7 +111,7 @@
 enum StartChoice { START_WITH_HANDLER, START_WITHOUT_HANDLER, NO_START };
 
 class HpackDecoderAdapterTest
-    : public ::testing::TestWithParam<std::tuple<StartChoice, bool>> {
+    : public SpdyTestWithParam<std::tuple<StartChoice, bool>> {
  protected:
   HpackDecoderAdapterTest() : decoder_(), decoder_peer_(&decoder_) {}
 
diff --git a/spdy/core/hpack/hpack_encoder_test.cc b/spdy/core/hpack/hpack_encoder_test.cc
index a96ff69..eb2d826 100644
--- a/spdy/core/hpack/hpack_encoder_test.cc
+++ b/spdy/core/hpack/hpack_encoder_test.cc
@@ -127,7 +127,7 @@
   kRepresentations,
 };
 
-class HpackEncoderTestBase : public ::testing::Test {
+class HpackEncoderTestBase : public SpdyTest {
  protected:
   typedef test::HpackEncoderPeer::Representations Representations;
 
diff --git a/spdy/core/hpack/hpack_entry_test.cc b/spdy/core/hpack/hpack_entry_test.cc
index 316fcb9..9b51b1a 100644
--- a/spdy/core/hpack/hpack_entry_test.cc
+++ b/spdy/core/hpack/hpack_entry_test.cc
@@ -10,7 +10,7 @@
 
 namespace {
 
-class HpackEntryTest : public ::testing::Test {
+class HpackEntryTest : public SpdyTest {
  protected:
   HpackEntryTest()
       : name_("header-name"),
diff --git a/spdy/core/hpack/hpack_header_table_test.cc b/spdy/core/hpack/hpack_header_table_test.cc
index 4f77587..2adf15e 100644
--- a/spdy/core/hpack/hpack_header_table_test.cc
+++ b/spdy/core/hpack/hpack_header_table_test.cc
@@ -68,7 +68,7 @@
 
 namespace {
 
-class HpackHeaderTableTest : public ::testing::Test {
+class HpackHeaderTableTest : public SpdyTest {
  protected:
   typedef std::vector<HpackEntry> HpackEntryVector;
 
diff --git a/spdy/core/hpack/hpack_huffman_table_test.cc b/spdy/core/hpack/hpack_huffman_table_test.cc
index abcebf8..b861fac 100644
--- a/spdy/core/hpack/hpack_huffman_table_test.cc
+++ b/spdy/core/hpack/hpack_huffman_table_test.cc
@@ -38,7 +38,7 @@
 
 // Tests of the ability to encode some canonical Huffman code,
 // not just the one defined in the RFC 7541.
-class GenericHuffmanTableTest : public ::testing::Test {
+class GenericHuffmanTableTest : public SpdyTest {
  protected:
   GenericHuffmanTableTest() : table_(), peer_(table_) {}
 
diff --git a/spdy/core/hpack/hpack_round_trip_test.cc b/spdy/core/hpack/hpack_round_trip_test.cc
index bae0fd2..0679bb1 100644
--- a/spdy/core/hpack/hpack_round_trip_test.cc
+++ b/spdy/core/hpack/hpack_round_trip_test.cc
@@ -22,7 +22,7 @@
 // Supports testing with the input split at every byte boundary.
 enum InputSizeParam { ALL_INPUT, ONE_BYTE, ZERO_THEN_ONE_BYTE };
 
-class HpackRoundTripTest : public ::testing::TestWithParam<InputSizeParam> {
+class HpackRoundTripTest : public SpdyTestWithParam<InputSizeParam> {
  protected:
   HpackRoundTripTest() : encoder_(ObtainHpackHuffmanTable()), decoder_() {}
 
diff --git a/spdy/core/hpack/hpack_static_table_test.cc b/spdy/core/hpack/hpack_static_table_test.cc
index 4cd310f..957744c 100644
--- a/spdy/core/hpack/hpack_static_table_test.cc
+++ b/spdy/core/hpack/hpack_static_table_test.cc
@@ -17,7 +17,7 @@
 
 namespace {
 
-class HpackStaticTableTest : public ::testing::Test {
+class HpackStaticTableTest : public SpdyTest {
  protected:
   HpackStaticTableTest() : table_() {}
 
diff --git a/spdy/core/http2_priority_write_scheduler_test.cc b/spdy/core/http2_priority_write_scheduler_test.cc
index bf9f92f..abc3342 100644
--- a/spdy/core/http2_priority_write_scheduler_test.cc
+++ b/spdy/core/http2_priority_write_scheduler_test.cc
@@ -39,7 +39,7 @@
   Http2PriorityWriteScheduler<StreamIdType>* scheduler_;
 };
 
-class Http2PriorityWriteSchedulerTest : public ::testing::Test {
+class Http2PriorityWriteSchedulerTest : public SpdyTest {
  protected:
   typedef uint32_t SpdyStreamId;
 
diff --git a/spdy/core/priority_write_scheduler_test.cc b/spdy/core/priority_write_scheduler_test.cc
index 7488820..f7e258c 100644
--- a/spdy/core/priority_write_scheduler_test.cc
+++ b/spdy/core/priority_write_scheduler_test.cc
@@ -29,7 +29,7 @@
 
 namespace {
 
-class PriorityWriteSchedulerTest : public ::testing::Test {
+class PriorityWriteSchedulerTest : public SpdyTest {
  public:
   PriorityWriteSchedulerTest() : peer_(&scheduler_) {}
 
diff --git a/spdy/core/spdy_deframer_visitor_test.cc b/spdy/core/spdy_deframer_visitor_test.cc
index 4beeb72..4d5f802 100644
--- a/spdy/core/spdy_deframer_visitor_test.cc
+++ b/spdy/core/spdy_deframer_visitor_test.cc
@@ -25,7 +25,7 @@
 namespace test {
 namespace {
 
-class SpdyDeframerVisitorTest : public ::testing::Test {
+class SpdyDeframerVisitorTest : public SpdyTest {
  protected:
   SpdyDeframerVisitorTest() : encoder_(SpdyFramer::ENABLE_COMPRESSION) {
     decoder_.set_process_single_input_frame(true);
diff --git a/spdy/core/spdy_framer_test.cc b/spdy/core/spdy_framer_test.cc
index d14d293..7db0bb3 100644
--- a/spdy/core/spdy_framer_test.cc
+++ b/spdy/core/spdy_framer_test.cc
@@ -579,7 +579,7 @@
 
 enum Output { USE, NOT_USE };
 
-class SpdyFramerTest : public ::testing::TestWithParam<Output> {
+class SpdyFramerTest : public SpdyTestWithParam<Output> {
  public:
   SpdyFramerTest()
       : output_(output_buffer, kSize),
@@ -2766,7 +2766,7 @@
   EXPECT_FALSE(frame_it.HasNextFrame());
 }
 
-class SpdyControlFrameIteratorTest : public ::testing::Test {
+class SpdyControlFrameIteratorTest : public SpdyTest {
  public:
   SpdyControlFrameIteratorTest() : output_(output_buffer, kSize) {}
 
diff --git a/spdy/core/spdy_intrusive_list_test.cc b/spdy/core/spdy_intrusive_list_test.cc
index 7fecec4..c4044da 100644
--- a/spdy/core/spdy_intrusive_list_test.cc
+++ b/spdy/core/spdy_intrusive_list_test.cc
@@ -29,11 +29,12 @@
   swap(a.n, b.n);
 }
 
-class IntrusiveListTest : public ::testing::Test {
+class IntrusiveListTest : public SpdyTest {
  protected:
   void CheckLists() {
     CheckLists(l1, ll1);
-    if (::testing::Test::HasFailure()) return;
+    if (SpdyTest::HasFailure())
+      return;
     CheckLists(l2, ll2);
   }
 
diff --git a/spdy/core/spdy_pinnable_buffer_piece_test.cc b/spdy/core/spdy_pinnable_buffer_piece_test.cc
index f625425..7d84463 100644
--- a/spdy/core/spdy_pinnable_buffer_piece_test.cc
+++ b/spdy/core/spdy_pinnable_buffer_piece_test.cc
@@ -13,7 +13,7 @@
 
 namespace test {
 
-class SpdyPinnableBufferPieceTest : public ::testing::Test {
+class SpdyPinnableBufferPieceTest : public SpdyTest {
  protected:
   SpdyPrefixedBufferReader Build(const std::string& prefix,
                                  const std::string& suffix) {
diff --git a/spdy/core/spdy_prefixed_buffer_reader_test.cc b/spdy/core/spdy_prefixed_buffer_reader_test.cc
index 273e001..d1d141c 100644
--- a/spdy/core/spdy_prefixed_buffer_reader_test.cc
+++ b/spdy/core/spdy_prefixed_buffer_reader_test.cc
@@ -15,7 +15,7 @@
 
 using testing::ElementsAreArray;
 
-class SpdyPrefixedBufferReaderTest : public ::testing::Test {
+class SpdyPrefixedBufferReaderTest : public SpdyTest {
  protected:
   SpdyPrefixedBufferReader Build(const std::string& prefix,
                                  const std::string& suffix) {
diff --git a/spdy/platform/api/spdy_test.h b/spdy/platform/api/spdy_test.h
index 3b00cc0..6fa1bdb 100644
--- a/spdy/platform/api/spdy_test.h
+++ b/spdy/platform/api/spdy_test.h
@@ -7,4 +7,9 @@
 
 #include "net/spdy/platform/impl/spdy_test_impl.h"
 
+// Defines the base classes to be used in SPDY tests.
+using SpdyTest = SpdyTestImpl;
+template <class T>
+using SpdyTestWithParam = SpdyTestWithParamImpl<T>;
+
 #endif  // QUICHE_SPDY_PLATFORM_API_SPDY_TEST_H_
