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

Side by Side Diff: net/quic/core/quic_headers_stream_test.cc

Issue 2750853008: Remove HpackDecoder2. (Closed)
Patch Set: Created 3 years, 9 months 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 unified diff | Download patch
« no previous file with comments | « net/BUILD.gn ('k') | net/spdy/hpack/hpack_decoder2.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/core/quic_headers_stream.h" 5 #include "net/quic/core/quic_headers_stream.h"
6 6
7 #include <cstdint> 7 #include <cstdint>
8 #include <ostream> 8 #include <ostream>
9 #include <string> 9 #include <string>
10 #include <tuple> 10 #include <tuple>
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 case HTTP2_DECODER_SPDY: 143 case HTTP2_DECODER_SPDY:
144 return os << "SPDY"; 144 return os << "SPDY";
145 case HTTP2_DECODER_NESTED_SPDY: 145 case HTTP2_DECODER_NESTED_SPDY:
146 return os << "NESTED_SPDY"; 146 return os << "NESTED_SPDY";
147 case HTTP2_DECODER_NEW: 147 case HTTP2_DECODER_NEW:
148 return os << "NEW"; 148 return os << "NEW";
149 } 149 }
150 return os; 150 return os;
151 } 151 }
152 152
153 enum HpackDecoderChoice { HPACK_DECODER_SPDY, HPACK_DECODER2, HPACK_DECODER3 }; 153 enum HpackDecoderChoice { HPACK_DECODER_SPDY, HPACK_DECODER3 };
154 std::ostream& operator<<(std::ostream& os, HpackDecoderChoice v) { 154 std::ostream& operator<<(std::ostream& os, HpackDecoderChoice v) {
155 switch (v) { 155 switch (v) {
156 case HPACK_DECODER_SPDY: 156 case HPACK_DECODER_SPDY:
157 return os << "SPDY"; 157 return os << "SPDY";
158 case HPACK_DECODER2:
159 return os << "HPACK_DECODER2";
160 case HPACK_DECODER3: 158 case HPACK_DECODER3:
161 return os << "HPACK_DECODER3"; 159 return os << "HPACK_DECODER3";
162 } 160 }
163 return os; 161 return os;
164 } 162 }
165 163
166 typedef testing:: 164 typedef testing::
167 tuple<QuicVersion, Perspective, Http2DecoderChoice, HpackDecoderChoice> 165 tuple<QuicVersion, Perspective, Http2DecoderChoice, HpackDecoderChoice>
168 TestParamsTuple; 166 TestParamsTuple;
169 167
(...skipping 14 matching lines...) Expand all
184 break; 182 break;
185 case HTTP2_DECODER_NEW: 183 case HTTP2_DECODER_NEW:
186 FLAGS_use_nested_spdy_framer_decoder = false; 184 FLAGS_use_nested_spdy_framer_decoder = false;
187 FLAGS_chromium_http2_flag_spdy_use_http2_frame_decoder_adapter = true; 185 FLAGS_chromium_http2_flag_spdy_use_http2_frame_decoder_adapter = true;
188 // Http2FrameDecoderAdapter needs the new header methods, else 186 // Http2FrameDecoderAdapter needs the new header methods, else
189 // --use_http2_frame_decoder_adapter=true will be ignored. 187 // --use_http2_frame_decoder_adapter=true will be ignored.
190 break; 188 break;
191 } 189 }
192 switch (hpack_decoder) { 190 switch (hpack_decoder) {
193 case HPACK_DECODER_SPDY: 191 case HPACK_DECODER_SPDY:
194 FLAGS_chromium_http2_flag_spdy_use_hpack_decoder2 = false;
195 FLAGS_chromium_http2_flag_spdy_use_hpack_decoder3 = false;
196 break;
197 case HPACK_DECODER2:
198 FLAGS_chromium_http2_flag_spdy_use_hpack_decoder2 = true;
199 FLAGS_chromium_http2_flag_spdy_use_hpack_decoder3 = false; 192 FLAGS_chromium_http2_flag_spdy_use_hpack_decoder3 = false;
200 break; 193 break;
201 case HPACK_DECODER3: 194 case HPACK_DECODER3:
202 FLAGS_chromium_http2_flag_spdy_use_hpack_decoder2 = false;
203 FLAGS_chromium_http2_flag_spdy_use_hpack_decoder3 = true; 195 FLAGS_chromium_http2_flag_spdy_use_hpack_decoder3 = true;
204 break; 196 break;
205 } 197 }
206 QUIC_LOG(INFO) << "TestParams: version: " << QuicVersionToString(version) 198 QUIC_LOG(INFO) << "TestParams: version: " << QuicVersionToString(version)
207 << ", perspective: " << perspective 199 << ", perspective: " << perspective
208 << ", http2_decoder: " << http2_decoder 200 << ", http2_decoder: " << http2_decoder
209 << ", hpack_decoder: " << hpack_decoder; 201 << ", hpack_decoder: " << hpack_decoder;
210 } 202 }
211 203
212 QuicVersion version; 204 QuicVersion version;
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 StrictMock<MockVisitor> visitor_; 392 StrictMock<MockVisitor> visitor_;
401 QuicStreamFrame stream_frame_; 393 QuicStreamFrame stream_frame_;
402 QuicStreamId next_promised_stream_id_; 394 QuicStreamId next_promised_stream_id_;
403 }; 395 };
404 396
405 // Run all tests with each version, perspective (client or server), 397 // Run all tests with each version, perspective (client or server),
406 // HTTP/2 and HPACK decoder. 398 // HTTP/2 and HPACK decoder.
407 INSTANTIATE_TEST_CASE_P( 399 INSTANTIATE_TEST_CASE_P(
408 Tests, 400 Tests,
409 QuicHeadersStreamTest, 401 QuicHeadersStreamTest,
410 ::testing::Combine( 402 ::testing::Combine(::testing::ValuesIn(AllSupportedVersions()),
411 ::testing::ValuesIn(AllSupportedVersions()), 403 ::testing::Values(Perspective::IS_CLIENT,
412 ::testing::Values(Perspective::IS_CLIENT, Perspective::IS_SERVER), 404 Perspective::IS_SERVER),
413 ::testing::Values(HTTP2_DECODER_SPDY, 405 ::testing::Values(HTTP2_DECODER_SPDY,
414 HTTP2_DECODER_NESTED_SPDY, 406 HTTP2_DECODER_NESTED_SPDY,
415 HTTP2_DECODER_NEW), 407 HTTP2_DECODER_NEW),
416 ::testing::Values(HPACK_DECODER_SPDY, HPACK_DECODER2, HPACK_DECODER3))); 408 ::testing::Values(HPACK_DECODER_SPDY, HPACK_DECODER3)));
417 409
418 TEST_P(QuicHeadersStreamTest, StreamId) { 410 TEST_P(QuicHeadersStreamTest, StreamId) {
419 EXPECT_EQ(3u, headers_stream_->id()); 411 EXPECT_EQ(3u, headers_stream_->id());
420 } 412 }
421 413
422 TEST_P(QuicHeadersStreamTest, WriteHeaders) { 414 TEST_P(QuicHeadersStreamTest, WriteHeaders) {
423 for (QuicStreamId stream_id = kClientDataStreamId1; 415 for (QuicStreamId stream_id = kClientDataStreamId1;
424 stream_id < kClientDataStreamId3; stream_id += 2) { 416 stream_id < kClientDataStreamId3; stream_id += 2) {
425 for (bool fin : kFins) { 417 for (bool fin : kFins) {
426 if (perspective() == Perspective::IS_SERVER) { 418 if (perspective() == Perspective::IS_SERVER) {
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 const uint32_t kTestHeaderTableSize = 1000; 740 const uint32_t kTestHeaderTableSize = 1000;
749 SpdySettingsIR data; 741 SpdySettingsIR data;
750 // Respect supported settings frames SETTINGS_HEADER_TABLE_SIZE, 742 // Respect supported settings frames SETTINGS_HEADER_TABLE_SIZE,
751 // SETTINGS_MAX_HEADER_LIST_SIZE. 743 // SETTINGS_MAX_HEADER_LIST_SIZE.
752 data.AddSetting(SETTINGS_HEADER_TABLE_SIZE, kTestHeaderTableSize); 744 data.AddSetting(SETTINGS_HEADER_TABLE_SIZE, kTestHeaderTableSize);
753 data.AddSetting(SETTINGS_MAX_HEADER_LIST_SIZE, 2000); 745 data.AddSetting(SETTINGS_MAX_HEADER_LIST_SIZE, 2000);
754 SpdySerializedFrame frame(framer_->SerializeFrame(data)); 746 SpdySerializedFrame frame(framer_->SerializeFrame(data));
755 stream_frame_.data_buffer = frame.data(); 747 stream_frame_.data_buffer = frame.data();
756 stream_frame_.data_length = frame.size(); 748 stream_frame_.data_length = frame.size();
757 headers_stream_->OnStreamFrame(stream_frame_); 749 headers_stream_->OnStreamFrame(stream_frame_);
758 EXPECT_EQ(kTestHeaderTableSize, 750 EXPECT_EQ(kTestHeaderTableSize, QuicSpdySessionPeer::GetSpdyFramer(&session_)
759 QuicSpdySessionPeer::GetSpdyFramer(&session_) 751 .header_encoder_table_size());
760 .header_encoder_table_size());
761 } 752 }
762 753
763 TEST_P(QuicHeadersStreamTest, RespectHttp2SettingsFrameUnsupportedFields) { 754 TEST_P(QuicHeadersStreamTest, RespectHttp2SettingsFrameUnsupportedFields) {
764 FLAGS_quic_reloadable_flag_quic_respect_http2_settings_frame = true; 755 FLAGS_quic_reloadable_flag_quic_respect_http2_settings_frame = true;
765 FLAGS_quic_reloadable_flag_quic_send_max_header_list_size = true; 756 FLAGS_quic_reloadable_flag_quic_send_max_header_list_size = true;
766 SpdySettingsIR data; 757 SpdySettingsIR data;
767 // Does not support SETTINGS_MAX_CONCURRENT_STREAMS, 758 // Does not support SETTINGS_MAX_CONCURRENT_STREAMS,
768 // SETTINGS_INITIAL_WINDOW_SIZE, SETTINGS_ENABLE_PUSH and 759 // SETTINGS_INITIAL_WINDOW_SIZE, SETTINGS_ENABLE_PUSH and
769 // SETTINGS_MAX_FRAME_SIZE. 760 // SETTINGS_MAX_FRAME_SIZE.
770 data.AddSetting(SETTINGS_MAX_CONCURRENT_STREAMS, 100); 761 data.AddSetting(SETTINGS_MAX_CONCURRENT_STREAMS, 100);
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
1041 consumed_data = session_.WritevStreamData(id, MakeIOVector(data, &iov), 1032 consumed_data = session_.WritevStreamData(id, MakeIOVector(data, &iov),
1042 offset, fin, nullptr); 1033 offset, fin, nullptr);
1043 1034
1044 EXPECT_EQ(consumed_data.bytes_consumed, 0u); 1035 EXPECT_EQ(consumed_data.bytes_consumed, 0u);
1045 EXPECT_EQ(consumed_data.fin_consumed, false); 1036 EXPECT_EQ(consumed_data.fin_consumed, false);
1046 } 1037 }
1047 1038
1048 } // namespace 1039 } // namespace
1049 } // namespace test 1040 } // namespace test
1050 } // namespace net 1041 } // namespace net
OLDNEW
« no previous file with comments | « net/BUILD.gn ('k') | net/spdy/hpack/hpack_decoder2.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698