Index: net/spdy/spdy_framer_test.cc |
diff --git a/net/spdy/spdy_framer_test.cc b/net/spdy/spdy_framer_test.cc |
index 2fac61cb1ff429425ddce99becde9b77342a43e9..2309bda8e0d537fc93f73f1e9feb3dfdb5270014 100644 |
--- a/net/spdy/spdy_framer_test.cc |
+++ b/net/spdy/spdy_framer_test.cc |
@@ -18,13 +18,7 @@ |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/platform_test.h" |
-using base::StringPiece; |
using std::string; |
-using std::max; |
-using std::min; |
-using std::numeric_limits; |
-using testing::ElementsAre; |
-using testing::Pair; |
using testing::_; |
namespace net { |
@@ -368,7 +362,7 @@ class TestSpdyVisitor : public SpdyFramerVisitorInterface, |
bool OnRstStreamFrameData(const char* rst_stream_data, size_t len) override { |
if ((rst_stream_data != NULL) && (len > 0)) { |
- fin_opaque_data_ += std::string(rst_stream_data, len); |
+ fin_opaque_data_ += string(rst_stream_data, len); |
} |
return true; |
} |
@@ -478,7 +472,7 @@ class TestSpdyVisitor : public SpdyFramerVisitorInterface, |
// the socket. |
const size_t kMaxReadSize = 32; |
size_t bytes_read = |
- (rand() % min(input_remaining, kMaxReadSize)) + 1; |
+ (rand() % std::min(input_remaining, kMaxReadSize)) + 1; |
size_t bytes_processed = framer_.ProcessInput(input_ptr, bytes_read); |
input_remaining -= bytes_processed; |
input_ptr += bytes_processed; |
@@ -542,7 +536,7 @@ class TestSpdyVisitor : public SpdyFramerVisitorInterface, |
SpdyStreamId last_push_promise_promised_stream_; |
int data_bytes_; |
int fin_frame_count_; // The count of RST_STREAM type frames received. |
- std::string fin_opaque_data_; |
+ string fin_opaque_data_; |
int fin_flag_count_; // The count of frames with the FIN flag set. |
int zero_length_data_frame_count_; // The count of zero-length data frames. |
int control_frame_header_data_count_; // The count of chunks received. |
@@ -950,8 +944,8 @@ TEST_P(SpdyFramerTest, MultiValueHeader) { |
reinterpret_cast<unsigned char*>(control_frame->data()), |
control_frame->size()); |
- EXPECT_THAT(visitor.headers_, ElementsAre( |
- Pair("name", value))); |
+ EXPECT_THAT(visitor.headers_, |
+ testing::ElementsAre(testing::Pair("name", value))); |
} |
TEST_P(SpdyFramerTest, BasicCompression) { |
@@ -3770,21 +3764,23 @@ TEST_P(SpdyFramerTest, ControlFrameSizesAreValidated) { |
SpdyFramer framer(spdy_version_); |
// Create a GoAway frame that has a few extra bytes at the end. |
// We create enough overhead to overflow the framer's control frame buffer. |
- ASSERT_GE(250u, SpdyFramer::kControlFrameBufferSize); |
- const unsigned char length = 1 + SpdyFramer::kControlFrameBufferSize; |
+ ASSERT_LE(SpdyFramer::kControlFrameBufferSize, 250u); |
+ const size_t length = SpdyFramer::kControlFrameBufferSize + 1; |
const unsigned char kV3FrameData[] = { // Also applies for V2. |
0x80, spdy_version_ch_, 0x00, 0x07, |
- 0x00, 0x00, 0x00, length, |
+ 0x00, 0x00, 0x00, static_cast<unsigned char>(length), |
0x00, 0x00, 0x00, 0x00, // Stream ID |
0x00, 0x00, 0x00, 0x00, // Status |
}; |
// SPDY version 4 and up GOAWAY frames are only bound to a minimal length, |
// since it may carry opaque data. Verify that minimal length is tested. |
- const unsigned char less_than_min_length = |
+ ASSERT_GT(framer.GetGoAwayMinimumSize(), framer.GetControlFrameHeaderSize()); |
+ const size_t less_than_min_length = |
framer.GetGoAwayMinimumSize() - framer.GetControlFrameHeaderSize() - 1; |
+ ASSERT_LE(less_than_min_length, std::numeric_limits<unsigned char>::max()); |
const unsigned char kV4FrameData[] = { |
- 0x00, 0x00, static_cast<uint8>(less_than_min_length), 0x07, |
+ 0x00, 0x00, static_cast<unsigned char>(less_than_min_length), 0x07, |
0x00, 0x00, 0x00, 0x00, |
0x00, 0x00, 0x00, 0x00, // Stream Id |
0x00, 0x00, 0x00, 0x00, // Status |
@@ -3793,7 +3789,7 @@ TEST_P(SpdyFramerTest, ControlFrameSizesAreValidated) { |
const size_t pad_length = |
length + framer.GetControlFrameHeaderSize() - |
(IsSpdy4() ? sizeof(kV4FrameData) : sizeof(kV3FrameData)); |
- string pad('A', pad_length); |
+ string pad(pad_length, 'A'); |
TestSpdyVisitor visitor(spdy_version_); |
if (IsSpdy4()) { |
@@ -3893,7 +3889,7 @@ TEST_P(SpdyFramerTest, ReadLargeSettingsFrame) { |
size_t unframed_data = control_frame->size(); |
size_t kReadChunkSize = 5; // Read five bytes at a time. |
while (unframed_data > 0) { |
- size_t to_read = min(kReadChunkSize, unframed_data); |
+ size_t to_read = std::min(kReadChunkSize, unframed_data); |
visitor.SimulateInFramer( |
reinterpret_cast<unsigned char*>(control_frame->data() + framed_data), |
to_read); |
@@ -4294,9 +4290,10 @@ TEST_P(SpdyFramerTest, ReadHeadersWithContinuation) { |
EXPECT_EQ(1, visitor.zero_length_control_frame_header_data_count_); |
EXPECT_EQ(0, visitor.zero_length_data_frame_count_); |
- EXPECT_THAT(visitor.headers_, ElementsAre( |
- Pair("cookie", "foo=bar; baz=bing; "), |
- Pair("name", "value"))); |
+ EXPECT_THAT(visitor.headers_, |
+ testing::ElementsAre( |
+ testing::Pair("cookie", "foo=bar; baz=bing; "), |
+ testing::Pair("name", "value"))); |
} |
TEST_P(SpdyFramerTest, ReadHeadersWithContinuationAndFin) { |
@@ -4340,9 +4337,10 @@ TEST_P(SpdyFramerTest, ReadHeadersWithContinuationAndFin) { |
EXPECT_EQ(1, visitor.zero_length_control_frame_header_data_count_); |
EXPECT_EQ(1, visitor.zero_length_data_frame_count_); |
- EXPECT_THAT(visitor.headers_, ElementsAre( |
- Pair("cookie", "foo=bar; baz=bing; "), |
- Pair("name", "value"))); |
+ EXPECT_THAT(visitor.headers_, |
+ testing::ElementsAre( |
+ testing::Pair("cookie", "foo=bar; baz=bing; "), |
+ testing::Pair("name", "value"))); |
} |
TEST_P(SpdyFramerTest, ReadPushPromiseWithContinuation) { |
@@ -4389,9 +4387,10 @@ TEST_P(SpdyFramerTest, ReadPushPromiseWithContinuation) { |
EXPECT_EQ(1, visitor.zero_length_control_frame_header_data_count_); |
EXPECT_EQ(0, visitor.zero_length_data_frame_count_); |
- EXPECT_THAT(visitor.headers_, ElementsAre( |
- Pair("cookie", "foo=bar; baz=bing; "), |
- Pair("name", "value"))); |
+ EXPECT_THAT(visitor.headers_, |
+ testing::ElementsAre( |
+ testing::Pair("cookie", "foo=bar; baz=bing; "), |
+ testing::Pair("name", "value"))); |
} |
TEST_P(SpdyFramerTest, ReadContinuationWithWrongStreamId) { |
@@ -4570,8 +4569,8 @@ TEST_P(SpdyFramerTest, EndSegmentOnHeadersFrame) { |
EXPECT_EQ(1, visitor.headers_frame_count_); |
EXPECT_EQ(1, visitor.zero_length_control_frame_header_data_count_); |
- EXPECT_THAT(visitor.headers_, ElementsAre( |
- Pair("cookie", "foo=bar"))); |
+ EXPECT_THAT(visitor.headers_, |
+ testing::ElementsAre(testing::Pair("cookie", "foo=bar"))); |
} |
TEST_P(SpdyFramerTest, ReadGarbage) { |
@@ -4860,7 +4859,8 @@ TEST_P(SpdyFramerTest, DataFrameFlagsV2V3) { |
return; |
} |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -4892,7 +4892,7 @@ TEST_P(SpdyFramerTest, DataFrameFlagsV2V3) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, DataFrameFlagsV4) { |
@@ -4903,7 +4903,8 @@ TEST_P(SpdyFramerTest, DataFrameFlagsV4) { |
uint8 valid_data_flags = DATA_FLAG_FIN | DATA_FLAG_END_SEGMENT | |
DATA_FLAG_PADDED; |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -4940,7 +4941,7 @@ TEST_P(SpdyFramerTest, DataFrameFlagsV4) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, SynStreamFrameFlags) { |
@@ -4948,7 +4949,8 @@ TEST_P(SpdyFramerTest, SynStreamFrameFlags) { |
// SYN_STREAM not supported in SPDY>3 |
return; |
} |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -4964,8 +4966,7 @@ TEST_P(SpdyFramerTest, SynStreamFrameFlags) { |
syn_stream.set_priority(1); |
syn_stream.SetHeader("foo", "bar"); |
scoped_ptr<SpdyFrame> frame(framer.SerializeSynStream(syn_stream)); |
- int set_flags = flags; |
- SetFrameFlags(frame.get(), set_flags, spdy_version_); |
+ SetFrameFlags(frame.get(), flags, spdy_version_); |
if (flags & ~(CONTROL_FLAG_FIN | CONTROL_FLAG_UNIDIRECTIONAL)) { |
EXPECT_CALL(visitor, OnError(_)); |
@@ -4994,7 +4995,7 @@ TEST_P(SpdyFramerTest, SynStreamFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, SynReplyFrameFlags) { |
@@ -5002,7 +5003,8 @@ TEST_P(SpdyFramerTest, SynReplyFrameFlags) { |
// SYN_REPLY not supported in SPDY>3 |
return; |
} |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5036,11 +5038,12 @@ TEST_P(SpdyFramerTest, SynReplyFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, RstStreamFrameFlags) { |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5068,12 +5071,13 @@ TEST_P(SpdyFramerTest, RstStreamFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, SettingsFrameFlagsOldFormat) { |
if (spdy_version_ > SPDY3) { return; } |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5109,12 +5113,13 @@ TEST_P(SpdyFramerTest, SettingsFrameFlagsOldFormat) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, SettingsFrameFlags) { |
if (spdy_version_ <= SPDY3) { return; } |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5151,11 +5156,12 @@ TEST_P(SpdyFramerTest, SettingsFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, GoawayFrameFlags) { |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5183,11 +5189,12 @@ TEST_P(SpdyFramerTest, GoawayFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, HeadersFrameFlags) { |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5201,7 +5208,7 @@ TEST_P(SpdyFramerTest, HeadersFrameFlags) { |
} |
headers_ir.SetHeader("foo", "bar"); |
scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir)); |
- int set_flags = flags; |
+ uint8 set_flags = flags; |
if (IsSpdy4()) { |
// TODO(jgraettinger): Add padding to SpdyHeadersIR, |
// and implement framing. |
@@ -5266,11 +5273,12 @@ TEST_P(SpdyFramerTest, HeadersFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, PingFrameFlags) { |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5301,11 +5309,12 @@ TEST_P(SpdyFramerTest, PingFrameFlags) { |
framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, WindowUpdateFrameFlags) { |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5333,7 +5342,7 @@ TEST_P(SpdyFramerTest, WindowUpdateFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, PushPromiseFrameFlags) { |
@@ -5341,7 +5350,8 @@ TEST_P(SpdyFramerTest, PushPromiseFrameFlags) { |
return; |
} |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<net::test::MockSpdyFramerVisitor> visitor; |
@@ -5358,8 +5368,7 @@ TEST_P(SpdyFramerTest, PushPromiseFrameFlags) { |
framer.SerializePushPromise(push_promise)); |
// TODO(jgraettinger): Add padding to SpdyPushPromiseIR, |
// and implement framing. |
- int set_flags = flags & ~HEADERS_FLAG_PADDED; |
- SetFrameFlags(frame.get(), set_flags, spdy_version_); |
+ SetFrameFlags(frame.get(), flags & ~HEADERS_FLAG_PADDED, spdy_version_); |
if (flags & ~(PUSH_PROMISE_FLAG_END_PUSH_PROMISE | HEADERS_FLAG_PADDED)) { |
EXPECT_CALL(visitor, OnError(_)); |
@@ -5382,7 +5391,7 @@ TEST_P(SpdyFramerTest, PushPromiseFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
TEST_P(SpdyFramerTest, ContinuationFrameFlags) { |
@@ -5390,7 +5399,8 @@ TEST_P(SpdyFramerTest, ContinuationFrameFlags) { |
return; |
} |
- for (int flags = 0; flags < 256; ++flags) { |
+ uint8 flags = 0; |
+ do { |
SCOPED_TRACE(testing::Message() << "Flags " << flags); |
testing::StrictMock<test::MockSpdyFramerVisitor> visitor; |
@@ -5438,7 +5448,7 @@ TEST_P(SpdyFramerTest, ContinuationFrameFlags) { |
EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
} |
- } |
+ } while (++flags != 0); |
} |
// TODO(mlavan): Add TEST_P(SpdyFramerTest, AltSvcFrameFlags) |
@@ -5842,7 +5852,7 @@ TEST_P(SpdyFramerTest, ReadChunkedAltSvcFrame) { |
size_t unframed_data = control_frame->size(); |
size_t kReadChunkSize = 5; // Read five bytes at a time. |
while (unframed_data > 0) { |
- size_t to_read = min(kReadChunkSize, unframed_data); |
+ size_t to_read = std::min(kReadChunkSize, unframed_data); |
visitor.SimulateInFramer( |
reinterpret_cast<unsigned char*>(control_frame->data() + framed_data), |
to_read); |