diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index f2c2bf7..ebfb8fa 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -4416,6 +4416,12 @@
         id, session, quic_simple_server_backend, response_body_);
   }
 
+  QuicSimpleServerStream* CreateStream(
+      PendingStream* /*pending*/, QuicSpdySession* /*session*/,
+      QuicSimpleServerBackend* /*response_cache*/) override {
+    return nullptr;
+  }
+
  private:
   std::string response_body_;
 };
@@ -4472,6 +4478,12 @@
     return new ServerStreamThatDropsBody(id, session,
                                          quic_simple_server_backend);
   }
+
+  QuicSimpleServerStream* CreateStream(
+      PendingStream* /*pending*/, QuicSpdySession* /*session*/,
+      QuicSimpleServerBackend* /*response_cache*/) override {
+    return nullptr;
+  }
 };
 
 // A test server stream that sends response with body size greater than 4GB.
@@ -4516,6 +4528,12 @@
         id, session, quic_simple_server_backend, body_bytes_);
   }
 
+  QuicSimpleServerStream* CreateStream(
+      PendingStream* /*pending*/, QuicSpdySession* /*session*/,
+      QuicSimpleServerBackend* /*response_cache*/) override {
+    return nullptr;
+  }
+
   int64_t body_bytes_;
 };
 
diff --git a/quic/test_tools/quic_test_server.h b/quic/test_tools/quic_test_server.h
index 4fd2ce6..0539ee0 100644
--- a/quic/test_tools/quic_test_server.h
+++ b/quic/test_tools/quic_test_server.h
@@ -47,6 +47,10 @@
         QuicStreamId id,
         QuicSpdySession* session,
         QuicSimpleServerBackend* quic_simple_server_backend) = 0;
+
+    virtual QuicSimpleServerStream* CreateStream(
+        PendingStream* pending, QuicSpdySession* session,
+        QuicSimpleServerBackend* quic_simple_server_backend) = 0;
   };
 
   class CryptoStreamFactory {
