Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Unified Diff: net/spdy/spdy_framer_test.cc

Issue 2558243002: Add Http2FrameDecoderAdapter. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/spdy_framer_decoder_adapter.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/spdy_framer_test.cc
diff --git a/net/spdy/spdy_framer_test.cc b/net/spdy/spdy_framer_test.cc
index 03ebf8cffa5141b953eaf40bdb8c61f2d94fab47..27a18d4c9e1cea99fdb54576c2f698b03c6ca7fb 100644
--- a/net/spdy/spdy_framer_test.cc
+++ b/net/spdy/spdy_framer_test.cc
@@ -613,7 +613,7 @@ StringPiece GetSerializedHeaders(const SpdySerializedFrame& frame,
frame.size() - framer.GetHeadersMinimumSize());
}
-enum DecoderChoice { DECODER_SELF, DECODER_NESTED };
+enum DecoderChoice { DECODER_SELF, DECODER_NESTED, DECODER_HTTP2 };
enum HpackChoice { HPACK_DECODER_1, HPACK_DECODER_2 };
class SpdyFramerTest
@@ -624,9 +624,15 @@ class SpdyFramerTest
switch (std::get<0>(param)) {
case DECODER_SELF:
FLAGS_use_nested_spdy_framer_decoder = false;
+ FLAGS_use_http2_frame_decoder_adapter = false;
break;
case DECODER_NESTED:
FLAGS_use_nested_spdy_framer_decoder = true;
+ FLAGS_use_http2_frame_decoder_adapter = false;
+ break;
+ case DECODER_HTTP2:
+ FLAGS_use_nested_spdy_framer_decoder = false;
+ FLAGS_use_http2_frame_decoder_adapter = true;
break;
}
switch (std::get<1>(param)) {
@@ -661,11 +667,13 @@ class SpdyFramerTest
}
};
-INSTANTIATE_TEST_CASE_P(
- SpdyFramerTests,
- SpdyFramerTest,
- ::testing::Combine(::testing::Values(DECODER_SELF, DECODER_NESTED),
- ::testing::Values(HPACK_DECODER_1, HPACK_DECODER_2)));
+INSTANTIATE_TEST_CASE_P(SpdyFramerTests,
+ SpdyFramerTest,
+ ::testing::Combine(::testing::Values(DECODER_SELF,
+ DECODER_NESTED,
+ DECODER_HTTP2),
+ ::testing::Values(HPACK_DECODER_1,
+ HPACK_DECODER_2)));
// Test that we can encode and decode a SpdyHeaderBlock in serialized form.
TEST_P(SpdyFramerTest, HeaderBlockInBuffer) {
@@ -1133,9 +1141,8 @@ TEST_P(SpdyFramerTest, PushPromiseWithPromisedStreamIdZero) {
push_promise.SetHeader("alpha", "beta");
SpdySerializedFrame frame(framer.SerializePushPromise(push_promise));
- // We shouldn't have to read the whole frame before we signal an error.
EXPECT_CALL(visitor, OnError(testing::Eq(&framer)));
- EXPECT_GT(frame.size(), framer.ProcessInput(frame.data(), frame.size()));
+ framer.ProcessInput(frame.data(), frame.size());
EXPECT_TRUE(framer.HasError());
EXPECT_EQ(SpdyFramer::SPDY_INVALID_CONTROL_FRAME, framer.error_code())
<< SpdyFramer::ErrorCodeToString(framer.error_code());
@@ -2794,12 +2801,16 @@ TEST_P(SpdyFramerTest, ReadBogusLenSettingsFrame) {
SpdyFramer framer;
SpdySettingsIR settings_ir;
- // Add a setting to pad the frame so that we don't get a buffer overflow when
- // calling SimulateInFramer() below.
+ // Add settings to more than fill the frame so that we don't get a buffer
+ // overflow when calling SimulateInFramer() below. These settings must be
+ // distinct parameters because SpdySettingsIR has a map for settings, and will
+ // collapse multiple copies of the same parameter.
settings_ir.AddSetting(SETTINGS_INITIAL_WINDOW_SIZE, false, false,
0x00000002);
+ settings_ir.AddSetting(SETTINGS_MAX_CONCURRENT_STREAMS, false, false,
+ 0x00000002);
SpdySerializedFrame control_frame(framer.SerializeSettings(settings_ir));
- const size_t kNewLength = 14;
+ const size_t kNewLength = 8;
SetFrameLength(&control_frame, kNewLength);
TestSpdyVisitor visitor;
visitor.use_compression_ = false;
« no previous file with comments | « net/spdy/spdy_framer_decoder_adapter.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698