| Index: net/spdy/spdy_framer_test.cc
|
| diff --git a/net/spdy/spdy_framer_test.cc b/net/spdy/spdy_framer_test.cc
|
| index 3c56be975feebeca746e1220a8e48242e7b2bba9..ac971373de90e3f19f9e04ac7f730e5b92b7d872 100644
|
| --- a/net/spdy/spdy_framer_test.cc
|
| +++ b/net/spdy/spdy_framer_test.cc
|
| @@ -680,7 +680,6 @@ class SpdyFramerTest : public ::testing::TestWithParam<SpdyMajorVersion> {
|
| actual_frame.size());
|
| }
|
|
|
| - bool IsSpdy2() { return spdy_version_ == SPDY2; }
|
| bool IsSpdy3() { return spdy_version_ == SPDY3; }
|
| bool IsHttp2() { return spdy_version_ == HTTP2; }
|
|
|
| @@ -689,10 +688,10 @@ class SpdyFramerTest : public ::testing::TestWithParam<SpdyMajorVersion> {
|
| unsigned char spdy_version_ch_;
|
| };
|
|
|
| -// All tests are run with 3 different SPDY versions: SPDY/2, SPDY/3, HTTP/2.
|
| +// All tests are run with SPDY/3 and HTTP/2.
|
| INSTANTIATE_TEST_CASE_P(SpdyFramerTests,
|
| SpdyFramerTest,
|
| - ::testing::Values(SPDY2, SPDY3, HTTP2));
|
| + ::testing::Values(SPDY3, HTTP2));
|
|
|
| // Test that we ignore cookie where both name and value are empty.
|
| TEST_P(SpdyFramerTest, HeaderBlockWithEmptyCookie) {
|
| @@ -914,19 +913,11 @@ TEST_P(SpdyFramerTest, DuplicateHeader) {
|
| frame.WriteUInt32(framer.GetHighestPriority());
|
| }
|
|
|
| - if (IsSpdy2()) {
|
| - frame.WriteUInt16(2); // Number of headers.
|
| - frame.WriteStringPiece16("name");
|
| - frame.WriteStringPiece16("value1");
|
| - frame.WriteStringPiece16("name");
|
| - frame.WriteStringPiece16("value2");
|
| - } else {
|
| - frame.WriteUInt32(2); // Number of headers.
|
| - frame.WriteStringPiece32("name");
|
| - frame.WriteStringPiece32("value1");
|
| - frame.WriteStringPiece32("name");
|
| - frame.WriteStringPiece32("value2");
|
| - }
|
| + frame.WriteUInt32(2); // Number of headers.
|
| + frame.WriteStringPiece32("name");
|
| + frame.WriteStringPiece32("value1");
|
| + frame.WriteStringPiece32("name");
|
| + frame.WriteStringPiece32("value2");
|
| // write the length
|
| frame.RewriteLength(framer);
|
|
|
| @@ -960,11 +951,7 @@ TEST_P(SpdyFramerTest, MultiValueHeader) {
|
| }
|
|
|
| string value("value1\0value2", 13);
|
| - if (IsSpdy2()) {
|
| - frame.WriteUInt16(1); // Number of headers.
|
| - frame.WriteStringPiece16("name");
|
| - frame.WriteStringPiece16(value);
|
| - } else if (spdy_version_ > SPDY3) {
|
| + if (spdy_version_ > SPDY3) {
|
| // TODO(jgraettinger): If this pattern appears again, move to test class.
|
| SpdyHeaderBlock header_set;
|
| header_set["name"] = value;
|
| @@ -1013,21 +1000,12 @@ TEST_P(SpdyFramerTest, BasicCompression) {
|
| size_t uncompressed_size1 = visitor->last_payload_len_;
|
| size_t compressed_size1 =
|
| visitor->last_frame_len_ - framer.GetSynStreamMinimumSize();
|
| - if (IsSpdy2()) {
|
| - EXPECT_EQ(139u, uncompressed_size1);
|
| -#if defined(USE_SYSTEM_ZLIB)
|
| - EXPECT_EQ(155u, compressed_size1);
|
| -#else // !defined(USE_SYSTEM_ZLIB)
|
| - EXPECT_EQ(135u, compressed_size1);
|
| -#endif // !defined(USE_SYSTEM_ZLIB)
|
| - } else {
|
| - EXPECT_EQ(165u, uncompressed_size1);
|
| + EXPECT_EQ(165u, uncompressed_size1);
|
| #if defined(USE_SYSTEM_ZLIB)
|
| - EXPECT_EQ(181u, compressed_size1);
|
| + EXPECT_EQ(181u, compressed_size1);
|
| #else // !defined(USE_SYSTEM_ZLIB)
|
| - EXPECT_EQ(117u, compressed_size1);
|
| + EXPECT_EQ(117u, compressed_size1);
|
| #endif // !defined(USE_SYSTEM_ZLIB)
|
| - }
|
| scoped_ptr<SpdyFrame> frame2(framer.SerializeSynStream(syn_stream));
|
| size_t uncompressed_size2 = visitor->last_payload_len_;
|
| size_t compressed_size2 =
|
| @@ -1049,21 +1027,12 @@ TEST_P(SpdyFramerTest, BasicCompression) {
|
| frame4->size() - framer.GetSynStreamMinimumSize();
|
| size_t compressed_size4 =
|
| visitor->last_frame_len_ - framer.GetSynStreamMinimumSize();
|
| - if (IsSpdy2()) {
|
| - EXPECT_EQ(139u, uncompressed_size4);
|
| -#if defined(USE_SYSTEM_ZLIB)
|
| - EXPECT_EQ(149u, compressed_size4);
|
| -#else // !defined(USE_SYSTEM_ZLIB)
|
| - EXPECT_EQ(99u, compressed_size4);
|
| -#endif // !defined(USE_SYSTEM_ZLIB)
|
| - } else {
|
| - EXPECT_EQ(165u, uncompressed_size4);
|
| + EXPECT_EQ(165u, uncompressed_size4);
|
| #if defined(USE_SYSTEM_ZLIB)
|
| - EXPECT_EQ(175u, compressed_size4);
|
| + EXPECT_EQ(175u, compressed_size4);
|
| #else // !defined(USE_SYSTEM_ZLIB)
|
| - EXPECT_EQ(99u, compressed_size4);
|
| + EXPECT_EQ(99u, compressed_size4);
|
| #endif // !defined(USE_SYSTEM_ZLIB)
|
| - }
|
|
|
| EXPECT_EQ(uncompressed_size1, uncompressed_size2);
|
| EXPECT_EQ(uncompressed_size1, uncompressed_size4);
|
| @@ -1097,59 +1066,6 @@ TEST_P(SpdyFramerTest, CompressEmptyHeaders) {
|
| }
|
|
|
| TEST_P(SpdyFramerTest, Basic) {
|
| - const unsigned char kV2Input[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x01, // SYN Stream #1
|
| - 0x00, 0x00, 0x00, 0x14,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x02, 'h', 'h',
|
| - 0x00, 0x02, 'v', 'v',
|
| -
|
| - 0x80, spdy_version_ch_, 0x00, 0x08, // HEADERS on Stream #1
|
| - 0x00, 0x00, 0x00, 0x18,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x00, 0x02, 'h', '2',
|
| - 0x00, 0x02, 'v', '2',
|
| - 0x00, 0x02, 'h', '3',
|
| - 0x00, 0x02, 'v', '3',
|
| -
|
| - 0x00, 0x00, 0x00, 0x01, // DATA on Stream #1
|
| - 0x00, 0x00, 0x00, 0x0c,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| -
|
| - 0x80, spdy_version_ch_, 0x00, 0x01, // SYN Stream #3
|
| - 0x00, 0x00, 0x00, 0x0c,
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| -
|
| - 0x00, 0x00, 0x00, 0x03, // DATA on Stream #3
|
| - 0x00, 0x00, 0x00, 0x08,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| -
|
| - 0x00, 0x00, 0x00, 0x01, // DATA on Stream #1
|
| - 0x00, 0x00, 0x00, 0x04,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| -
|
| - 0x80, spdy_version_ch_, 0x00, 0x03, // RST_STREAM on Stream #1
|
| - 0x00, 0x00, 0x00, 0x08,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x05, // RST_STREAM_CANCEL
|
| -
|
| - 0x00, 0x00, 0x00, 0x03, // DATA on Stream #3
|
| - 0x00, 0x00, 0x00, 0x00,
|
| -
|
| - 0x80, spdy_version_ch_, 0x00, 0x03, // RST_STREAM on Stream #3
|
| - 0x00, 0x00, 0x00, 0x08,
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 0x00, 0x00, 0x00, 0x05, // RST_STREAM_CANCEL
|
| - };
|
| -
|
| const unsigned char kV3Input[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x01, // SYN Stream #1
|
| 0x00, 0x00, 0x00, 0x1a,
|
| @@ -1262,9 +1178,7 @@ TEST_P(SpdyFramerTest, Basic) {
|
| };
|
|
|
| TestSpdyVisitor visitor(spdy_version_);
|
| - if (IsSpdy2()) {
|
| - visitor.SimulateInFramer(kV2Input, sizeof(kV2Input));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| visitor.SimulateInFramer(kV3Input, sizeof(kV3Input));
|
| } else {
|
| visitor.SimulateInFramer(kH2Input, sizeof(kH2Input));
|
| @@ -1294,32 +1208,6 @@ TEST_P(SpdyFramerTest, Basic) {
|
|
|
| // Test that the FIN flag on a data frame signifies EOF.
|
| TEST_P(SpdyFramerTest, FinOnDataFrame) {
|
| - const unsigned char kV2Input[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x01, // SYN Stream #1
|
| - 0x00, 0x00, 0x00, 0x14,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x02, 'h', 'h',
|
| - 0x00, 0x02, 'v', 'v',
|
| -
|
| - 0x80, spdy_version_ch_, 0x00, 0x02, // SYN REPLY Stream #1
|
| - 0x00, 0x00, 0x00, 0x10,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x02, 'a', 'a',
|
| - 0x00, 0x02, 'b', 'b',
|
| -
|
| - 0x00, 0x00, 0x00, 0x01, // DATA on Stream #1
|
| - 0x00, 0x00, 0x00, 0x0c,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| -
|
| - 0x00, 0x00, 0x00, 0x01, // DATA on Stream #1, with EOF
|
| - 0x01, 0x00, 0x00, 0x04,
|
| - 0xde, 0xad, 0xbe, 0xef,
|
| - };
|
| const unsigned char kV3Input[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x01, // SYN Stream #1
|
| 0x00, 0x00, 0x00, 0x1a,
|
| @@ -1376,9 +1264,7 @@ TEST_P(SpdyFramerTest, FinOnDataFrame) {
|
| };
|
|
|
| TestSpdyVisitor visitor(spdy_version_);
|
| - if (IsSpdy2()) {
|
| - visitor.SimulateInFramer(kV2Input, sizeof(kV2Input));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| visitor.SimulateInFramer(kV3Input, sizeof(kV3Input));
|
| } else {
|
| visitor.SimulateInFramer(kH2Input, sizeof(kH2Input));
|
| @@ -1403,24 +1289,6 @@ TEST_P(SpdyFramerTest, FinOnDataFrame) {
|
|
|
| // Test that the FIN flag on a SYN reply frame signifies EOF.
|
| TEST_P(SpdyFramerTest, FinOnSynReplyFrame) {
|
| - const unsigned char kV2Input[] = {
|
| - 0x80, spdy_version_ch_, 0x00, // SYN Stream #1
|
| - 0x01, 0x00, 0x00, 0x00,
|
| - 0x14, 0x00, 0x00, 0x00,
|
| - 0x01, 0x00, 0x00, 0x00,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| - 0x01, 0x00, 0x02, 'h',
|
| - 'h', 0x00, 0x02, 'v',
|
| - 'v',
|
| -
|
| - 0x80, spdy_version_ch_, 0x00, // SYN REPLY Stream #1
|
| - 0x02, 0x01, 0x00, 0x00,
|
| - 0x10, 0x00, 0x00, 0x00,
|
| - 0x01, 0x00, 0x00, 0x00,
|
| - 0x01, 0x00, 0x02, 'a',
|
| - 'a', 0x00, 0x02, 'b',
|
| - 'b',
|
| - };
|
| const unsigned char kV3Input[] = {
|
| 0x80, spdy_version_ch_, 0x00, // SYN Stream #1
|
| 0x01, 0x00, 0x00, 0x00,
|
| @@ -1456,9 +1324,7 @@ TEST_P(SpdyFramerTest, FinOnSynReplyFrame) {
|
| };
|
|
|
| TestSpdyVisitor visitor(spdy_version_);
|
| - if (IsSpdy2()) {
|
| - visitor.SimulateInFramer(kV2Input, sizeof(kV2Input));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| visitor.SimulateInFramer(kV3Input, sizeof(kV3Input));
|
| } else {
|
| visitor.SimulateInFramer(kH2Input, sizeof(kH2Input));
|
| @@ -1604,7 +1470,7 @@ TEST_P(SpdyFramerTest, WindowUpdateFrame) {
|
| SpdyWindowUpdateIR(1, 0x12345678)));
|
|
|
| const char kDescription[] = "WINDOW_UPDATE frame, stream 1, delta 0x12345678";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x09,
|
| 0x00, 0x00, 0x00, 0x08,
|
| 0x00, 0x00, 0x00, 0x01,
|
| @@ -1629,7 +1495,7 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
|
|
| {
|
| const char kDescription[] = "'hello' data frame, no FIN";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x00, 0x00, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x05,
|
| 'h', 'e', 'l', 'l',
|
| @@ -1673,7 +1539,7 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
|
|
| {
|
| const char kDescription[] = "'hello' data frame with more padding, no FIN";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x00, 0x00, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x05,
|
| 'h', 'e', 'l', 'l',
|
| @@ -1733,7 +1599,7 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
|
|
| {
|
| const char kDescription[] = "'hello' data frame with few padding, no FIN";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x00, 0x00, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x05,
|
| 'h', 'e', 'l', 'l',
|
| @@ -1766,7 +1632,7 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
| {
|
| const char kDescription[] =
|
| "'hello' data frame with 1 byte padding, no FIN";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x00, 0x00, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x05,
|
| 'h', 'e', 'l', 'l',
|
| @@ -1804,7 +1670,7 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
|
|
| {
|
| const char kDescription[] = "Data frame with negative data byte, no FIN";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x00, 0x00, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x01,
|
| 0xff
|
| @@ -1823,7 +1689,7 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
|
|
| {
|
| const char kDescription[] = "'hello' data frame, with FIN";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x00, 0x00, 0x00, 0x01,
|
| 0x01, 0x00, 0x00, 0x05,
|
| 'h', 'e', 'l', 'l',
|
| @@ -1848,9 +1714,8 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
|
|
| {
|
| const char kDescription[] = "Empty data frame";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| + const unsigned char kV3FrameData[] = {
|
| + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
| };
|
| const unsigned char kH2FrameData[] = {
|
| 0x00, 0x00, 0x00, 0x00,
|
| @@ -1876,7 +1741,7 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
|
|
| {
|
| const char kDescription[] = "Data frame with max stream ID";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x7f, 0xff, 0xff, 0xff,
|
| 0x01, 0x00, 0x00, 0x05,
|
| 'h', 'e', 'l', 'l',
|
| @@ -1924,7 +1789,7 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
| }
|
|
|
| TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) {
|
| - if (!IsSpdy2() && !IsSpdy3()) {
|
| + if (!IsSpdy3()) {
|
| // SYN_STREAM unsupported in SPDY>3
|
| return;
|
| }
|
| @@ -1934,25 +1799,12 @@ TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) {
|
| {
|
| const char kDescription[] = "SYN_STREAM frame, lowest pri, no FIN";
|
|
|
| - const unsigned char kPri = IsSpdy2() ? 0xC0 : 0xE0;
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x20,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| - kPri, 0x00, 0x00, 0x02,
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r', 0x00, 0x03, 'f',
|
| - 'o', 'o', 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x03, 'b', 'a', 'r'
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x2a,
|
| 0x00, 0x00, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x00,
|
| - kPri, 0x00, 0x00, 0x00,
|
| + 0xE0, 0x00, 0x00, 0x00,
|
| 0x00, 0x02, 0x00, 0x00,
|
| 0x00, 0x03, 'b', 'a',
|
| 'r', 0x00, 0x00, 0x00,
|
| @@ -1967,9 +1819,7 @@ TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) {
|
| syn_stream.SetHeader("bar", "foo");
|
| syn_stream.SetHeader("foo", "bar");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSynStream(syn_stream));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| LOG(FATAL) << "Unsupported version in test.";
|
| @@ -1981,18 +1831,6 @@ TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) {
|
| "SYN_STREAM frame with a 0-length header name, highest pri, FIN, "
|
| "max stream ID";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x01,
|
| - 0x01, 0x00, 0x00, 0x1D,
|
| - 0x7f, 0xff, 0xff, 0xff,
|
| - 0x7f, 0xff, 0xff, 0xff,
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x03, 'f', 'o', 'o',
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r'
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x01,
|
| 0x01, 0x00, 0x00, 0x27,
|
| @@ -2014,9 +1852,7 @@ TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) {
|
| syn_stream.SetHeader("", "foo");
|
| syn_stream.SetHeader("foo", "bar");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSynStream(syn_stream));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| LOG(FATAL) << "Unsupported version in test.";
|
| @@ -2028,25 +1864,12 @@ TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) {
|
| "SYN_STREAM frame with a 0-length header val, high pri, FIN, "
|
| "max stream ID";
|
|
|
| - const unsigned char kPri = IsSpdy2() ? 0x40 : 0x20;
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x01,
|
| - 0x01, 0x00, 0x00, 0x1D,
|
| - 0x7f, 0xff, 0xff, 0xff,
|
| - 0x7f, 0xff, 0xff, 0xff,
|
| - kPri, 0x00, 0x00, 0x02,
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r', 0x00, 0x03, 'f',
|
| - 'o', 'o', 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x00
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x01,
|
| 0x01, 0x00, 0x00, 0x27,
|
| 0x7f, 0xff, 0xff, 0xff,
|
| 0x7f, 0xff, 0xff, 0xff,
|
| - kPri, 0x00, 0x00, 0x00,
|
| + 0x20, 0x00, 0x00, 0x00,
|
| 0x00, 0x02, 0x00, 0x00,
|
| 0x00, 0x03, 'b', 'a',
|
| 'r', 0x00, 0x00, 0x00,
|
| @@ -2062,9 +1885,7 @@ TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) {
|
| syn_stream.SetHeader("bar", "foo");
|
| syn_stream.SetHeader("foo", "");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSynStream(syn_stream));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| LOG(FATAL) << "Unsupported version in test.";
|
| @@ -2076,7 +1897,7 @@ TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) {
|
| // to workaround http://crbug.com/139744.
|
| #if !defined(USE_SYSTEM_ZLIB)
|
| TEST_P(SpdyFramerTest, CreateSynStreamCompressed) {
|
| - if (!IsSpdy2() && !IsSpdy3()) {
|
| + if (!IsSpdy3()) {
|
| // SYN_STREAM not supported for SPDY>3
|
| return;
|
| }
|
| @@ -2086,26 +1907,7 @@ TEST_P(SpdyFramerTest, CreateSynStreamCompressed) {
|
| {
|
| const char kDescription[] =
|
| "SYN_STREAM frame, low pri, no FIN";
|
| - const SpdyPriority priority = IsSpdy2() ? 2 : 4;
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x36,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| - 0x80, 0x00, 0x38, 0xea,
|
| - 0xdf, 0xa2, 0x51, 0xb2,
|
| - 0x62, 0x60, 0x62, 0x60,
|
| - 0x4e, 0x4a, 0x2c, 0x62,
|
| - 0x60, 0x06, 0x08, 0xa0,
|
| - 0xb4, 0xfc, 0x7c, 0x80,
|
| - 0x00, 0x62, 0x60, 0x4e,
|
| - 0xcb, 0xcf, 0x67, 0x60,
|
| - 0x06, 0x08, 0xa0, 0xa4,
|
| - 0xc4, 0x22, 0x80, 0x00,
|
| - 0x02, 0x00, 0x00, 0x00,
|
| - 0xff, 0xff,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x37,
|
| @@ -2124,23 +1926,6 @@ TEST_P(SpdyFramerTest, CreateSynStreamCompressed) {
|
| 0x80, 0x00, 0x00, 0x00,
|
| 0x00, 0xFF, 0xFF,
|
| };
|
| - const unsigned char kV2SIMDFrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x33,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x00,
|
| - 0x80, 0x00, 0x38, 0xea,
|
| - 0xdf, 0xa2, 0x51, 0xb2,
|
| - 0x62, 0x60, 0x62, 0x60,
|
| - 0x4e, 0x4a, 0x2c, 0x62,
|
| - 0x60, 0x06, 0x08, 0xa0,
|
| - 0xb4, 0xfc, 0x7c, 0x80,
|
| - 0x00, 0x62, 0x60, 0x06,
|
| - 0x13, 0x00, 0x01, 0x94,
|
| - 0x94, 0x58, 0x04, 0x10,
|
| - 0x40, 0x00, 0x00, 0x00,
|
| - 0x00, 0xff, 0xff,
|
| - };
|
| const unsigned char kV3SIMDFrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x01,
|
| 0x00, 0x00, 0x00, 0x32,
|
| @@ -2160,25 +1945,13 @@ TEST_P(SpdyFramerTest, CreateSynStreamCompressed) {
|
| };
|
|
|
| SpdySynStreamIR syn_stream(1);
|
| - syn_stream.set_priority(priority);
|
| + syn_stream.set_priority(4);
|
| syn_stream.SetHeader("bar", "foo");
|
| syn_stream.SetHeader("foo", "bar");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSynStream(syn_stream));
|
| const unsigned char* frame_data =
|
| reinterpret_cast<const unsigned char*>(frame->data());
|
| - if (IsSpdy2()) {
|
| - // Try comparing with SIMD version, if that fails, do a failing check
|
| - // with pretty printing against non-SIMD version
|
| - if (memcmp(frame_data,
|
| - kV2SIMDFrameData,
|
| - std::min(arraysize(kV2SIMDFrameData), frame->size())) != 0) {
|
| - CompareCharArraysWithHexError(kDescription,
|
| - frame_data,
|
| - frame->size(),
|
| - kV2FrameData,
|
| - arraysize(kV2FrameData));
|
| - }
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| if (memcmp(frame_data,
|
| kV3SIMDFrameData,
|
| std::min(arraysize(kV3SIMDFrameData), frame->size())) != 0) {
|
| @@ -2206,17 +1979,6 @@ TEST_P(SpdyFramerTest, CreateSynReplyUncompressed) {
|
| {
|
| const char kDescription[] = "SYN_REPLY frame, no FIN";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x02,
|
| - 0x00, 0x00, 0x00, 0x1C,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r', 0x00, 0x03, 'f',
|
| - 'o', 'o', 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x03, 'b', 'a', 'r'
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x02,
|
| 0x00, 0x00, 0x00, 0x24,
|
| @@ -2234,9 +1996,7 @@ TEST_P(SpdyFramerTest, CreateSynReplyUncompressed) {
|
| syn_reply.SetHeader("bar", "foo");
|
| syn_reply.SetHeader("foo", "bar");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSynReply(syn_reply));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| LOG(FATAL) << "Unsupported version in test.";
|
| @@ -2247,17 +2007,6 @@ TEST_P(SpdyFramerTest, CreateSynReplyUncompressed) {
|
| const char kDescription[] =
|
| "SYN_REPLY frame with a 0-length header name, FIN, max stream ID";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x02,
|
| - 0x01, 0x00, 0x00, 0x19,
|
| - 0x7f, 0xff, 0xff, 0xff,
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x03, 'f', 'o', 'o',
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r'
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x02,
|
| 0x01, 0x00, 0x00, 0x21,
|
| @@ -2276,9 +2025,7 @@ TEST_P(SpdyFramerTest, CreateSynReplyUncompressed) {
|
| syn_reply.SetHeader("", "foo");
|
| syn_reply.SetHeader("foo", "bar");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSynReply(syn_reply));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| LOG(FATAL) << "Unsupported version in test.";
|
| @@ -2289,17 +2036,6 @@ TEST_P(SpdyFramerTest, CreateSynReplyUncompressed) {
|
| const char kDescription[] =
|
| "SYN_REPLY frame with a 0-length header val, FIN, max stream ID";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x02,
|
| - 0x01, 0x00, 0x00, 0x19,
|
| - 0x7f, 0xff, 0xff, 0xff,
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r', 0x00, 0x03, 'f',
|
| - 'o', 'o', 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x00
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x02,
|
| 0x01, 0x00, 0x00, 0x21,
|
| @@ -2318,9 +2054,7 @@ TEST_P(SpdyFramerTest, CreateSynReplyUncompressed) {
|
| syn_reply.SetHeader("bar", "foo");
|
| syn_reply.SetHeader("foo", "");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSynReply(syn_reply));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| LOG(FATAL) << "Unsupported version in test.";
|
| @@ -2342,23 +2076,6 @@ TEST_P(SpdyFramerTest, CreateSynReplyCompressed) {
|
| {
|
| const char kDescription[] = "SYN_REPLY frame, no FIN";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x02,
|
| - 0x00, 0x00, 0x00, 0x32,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x38, 0xea,
|
| - 0xdf, 0xa2, 0x51, 0xb2,
|
| - 0x62, 0x60, 0x62, 0x60,
|
| - 0x4e, 0x4a, 0x2c, 0x62,
|
| - 0x60, 0x06, 0x08, 0xa0,
|
| - 0xb4, 0xfc, 0x7c, 0x80,
|
| - 0x00, 0x62, 0x60, 0x4e,
|
| - 0xcb, 0xcf, 0x67, 0x60,
|
| - 0x06, 0x08, 0xa0, 0xa4,
|
| - 0xc4, 0x22, 0x80, 0x00,
|
| - 0x02, 0x00, 0x00, 0x00,
|
| - 0xff, 0xff,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x02,
|
| 0x00, 0x00, 0x00, 0x31,
|
| @@ -2376,22 +2093,6 @@ TEST_P(SpdyFramerTest, CreateSynReplyCompressed) {
|
| 0x00, 0x00, 0x00, 0xff,
|
| 0xff,
|
| };
|
| - const unsigned char kV2SIMDFrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x02,
|
| - 0x00, 0x00, 0x00, 0x2f,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x38, 0xea,
|
| - 0xdf, 0xa2, 0x51, 0xb2,
|
| - 0x62, 0x60, 0x62, 0x60,
|
| - 0x4e, 0x4a, 0x2c, 0x62,
|
| - 0x60, 0x06, 0x08, 0xa0,
|
| - 0xb4, 0xfc, 0x7c, 0x80,
|
| - 0x00, 0x62, 0x60, 0x06,
|
| - 0x13, 0x00, 0x01, 0x94,
|
| - 0x94, 0x58, 0x04, 0x10,
|
| - 0x40, 0x00, 0x00, 0x00,
|
| - 0x00, 0xff, 0xff,
|
| - };
|
| const unsigned char kV3SIMDFrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x02,
|
| 0x00, 0x00, 0x00, 0x2c,
|
| @@ -2414,19 +2115,7 @@ TEST_P(SpdyFramerTest, CreateSynReplyCompressed) {
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSynReply(syn_reply));
|
| const unsigned char* frame_data =
|
| reinterpret_cast<const unsigned char*>(frame->data());
|
| - if (IsSpdy2()) {
|
| - // Try comparing with SIMD version, if that fails, do a failing check
|
| - // with pretty printing against non-SIMD version
|
| - if (memcmp(frame_data,
|
| - kV2SIMDFrameData,
|
| - std::min(arraysize(kV2SIMDFrameData), frame->size())) != 0) {
|
| - CompareCharArraysWithHexError(kDescription,
|
| - frame_data,
|
| - frame->size(),
|
| - kV2FrameData,
|
| - arraysize(kV2FrameData));
|
| - }
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| if (memcmp(frame_data,
|
| kV3SIMDFrameData,
|
| std::min(arraysize(kV3SIMDFrameData), frame->size())) != 0) {
|
| @@ -2448,7 +2137,7 @@ TEST_P(SpdyFramerTest, CreateRstStream) {
|
|
|
| {
|
| const char kDescription[] = "RST_STREAM frame";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x03,
|
| 0x00, 0x00, 0x00, 0x08,
|
| 0x00, 0x00, 0x00, 0x01,
|
| @@ -2469,7 +2158,7 @@ TEST_P(SpdyFramerTest, CreateRstStream) {
|
|
|
| {
|
| const char kDescription[] = "RST_STREAM frame with max stream ID";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x03,
|
| 0x00, 0x00, 0x00, 0x08,
|
| 0x7f, 0xff, 0xff, 0xff,
|
| @@ -2492,7 +2181,7 @@ TEST_P(SpdyFramerTest, CreateRstStream) {
|
|
|
| {
|
| const char kDescription[] = "RST_STREAM frame with max status code";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x03,
|
| 0x00, 0x00, 0x00, 0x08,
|
| 0x7f, 0xff, 0xff, 0xff,
|
| @@ -2520,13 +2209,6 @@ TEST_P(SpdyFramerTest, CreateSettings) {
|
| {
|
| const char kDescription[] = "Network byte order SETTINGS frame";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x04,
|
| - 0x00, 0x00, 0x00, 0x0c,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x07, 0x00, 0x00, 0x01,
|
| - 0x0a, 0x0b, 0x0c, 0x0d,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x04,
|
| 0x00, 0x00, 0x00, 0x0c,
|
| @@ -2552,9 +2234,7 @@ TEST_P(SpdyFramerTest, CreateSettings) {
|
| kValue);
|
|
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSettings(settings_ir));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -2564,19 +2244,6 @@ TEST_P(SpdyFramerTest, CreateSettings) {
|
| {
|
| const char kDescription[] = "Basic SETTINGS frame";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x04,
|
| - 0x00, 0x00, 0x00, 0x24,
|
| - 0x00, 0x00, 0x00, 0x04,
|
| - 0x01, 0x00, 0x00, 0x00, // 1st Setting
|
| - 0x00, 0x00, 0x00, 0x05,
|
| - 0x02, 0x00, 0x00, 0x00, // 2nd Setting
|
| - 0x00, 0x00, 0x00, 0x06,
|
| - 0x03, 0x00, 0x00, 0x00, // 3rd Setting
|
| - 0x00, 0x00, 0x00, 0x07,
|
| - 0x04, 0x00, 0x00, 0x00, // 4th Setting
|
| - 0x00, 0x00, 0x00, 0x08,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x04,
|
| 0x00, 0x00, 0x00, 0x24,
|
| @@ -2625,9 +2292,7 @@ TEST_P(SpdyFramerTest, CreateSettings) {
|
| 8);
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeSettings(settings_ir));
|
|
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -2637,7 +2302,7 @@ TEST_P(SpdyFramerTest, CreateSettings) {
|
| {
|
| const char kDescription[] = "Empty SETTINGS frame";
|
|
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x04,
|
| 0x00, 0x00, 0x00, 0x04,
|
| 0x00, 0x00, 0x00, 0x00,
|
| @@ -2662,7 +2327,7 @@ TEST_P(SpdyFramerTest, CreatePingFrame) {
|
|
|
| {
|
| const char kDescription[] = "PING frame";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x06,
|
| 0x00, 0x00, 0x00, 0x04,
|
| 0x12, 0x34, 0x56, 0x78,
|
| @@ -2708,11 +2373,6 @@ TEST_P(SpdyFramerTest, CreateGoAway) {
|
|
|
| {
|
| const char kDescription[] = "GOAWAY frame";
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x07,
|
| - 0x00, 0x00, 0x00, 0x04,
|
| - 0x00, 0x00, 0x00, 0x00, // Stream Id
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x07,
|
| 0x00, 0x00, 0x00, 0x08,
|
| @@ -2728,9 +2388,7 @@ TEST_P(SpdyFramerTest, CreateGoAway) {
|
| };
|
| SpdyGoAwayIR goaway_ir(0, GOAWAY_OK, "GA");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeGoAway(goaway_ir));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -2739,11 +2397,6 @@ TEST_P(SpdyFramerTest, CreateGoAway) {
|
|
|
| {
|
| const char kDescription[] = "GOAWAY frame with max stream ID, status";
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x07,
|
| - 0x00, 0x00, 0x00, 0x04,
|
| - 0x7f, 0xff, 0xff, 0xff, // Stream Id
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x07,
|
| 0x00, 0x00, 0x00, 0x08,
|
| @@ -2759,9 +2412,7 @@ TEST_P(SpdyFramerTest, CreateGoAway) {
|
| };
|
| SpdyGoAwayIR goaway_ir(0x7FFFFFFF, GOAWAY_INTERNAL_ERROR, "GA");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeGoAway(goaway_ir));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -2776,17 +2427,6 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| {
|
| const char kDescription[] = "HEADERS frame, no FIN";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x08,
|
| - 0x00, 0x00, 0x00, 0x1C,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r', 0x00, 0x03, 'f',
|
| - 'o', 'o', 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x03, 'b', 'a', 'r'
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x08,
|
| 0x00, 0x00, 0x00, 0x24,
|
| @@ -2813,9 +2453,7 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| headers_ir.SetHeader("bar", "foo");
|
| headers_ir.SetHeader("foo", "bar");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -2826,17 +2464,6 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| const char kDescription[] =
|
| "HEADERS frame with a 0-length header name, FIN, max stream ID";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x08,
|
| - 0x01, 0x00, 0x00, 0x19,
|
| - 0x7f, 0xff, 0xff, 0xff,
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x03, 'f', 'o', 'o',
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r'
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x08,
|
| 0x01, 0x00, 0x00, 0x21,
|
| @@ -2863,9 +2490,7 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| headers_ir.SetHeader("", "foo");
|
| headers_ir.SetHeader("foo", "bar");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -2876,17 +2501,6 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| const char kDescription[] =
|
| "HEADERS frame with a 0-length header val, FIN, max stream ID";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x08,
|
| - 0x01, 0x00, 0x00, 0x19,
|
| - 0x7f, 0xff, 0xff, 0xff,
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x00, 0x03, 'b', 'a',
|
| - 'r', 0x00, 0x03, 'f',
|
| - 'o', 'o', 0x00, 0x03,
|
| - 'f', 'o', 'o', 0x00,
|
| - 0x00
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x08,
|
| 0x01, 0x00, 0x00, 0x21,
|
| @@ -2913,9 +2527,7 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| headers_ir.SetHeader("bar", "foo");
|
| headers_ir.SetHeader("foo", "");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir));
|
| - if (IsSpdy2()) {
|
| - CompareFrame(kDescription, *frame, kV2FrameData, arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| CompareFrame(kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -2943,7 +2555,7 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| headers_ir.SetHeader("bar", "foo");
|
| headers_ir.SetHeader("foo", "");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir));
|
| - if (IsSpdy2() || IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| // HEADERS with priority not supported.
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -2974,7 +2586,7 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| headers_ir.SetHeader("bar", "foo");
|
| headers_ir.SetHeader("foo", "");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir));
|
| - if (IsSpdy2() || IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| // HEADERS with priority not supported.
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -3005,7 +2617,7 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| headers_ir.SetHeader("bar", "foo");
|
| headers_ir.SetHeader("foo", "");
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir));
|
| - if (IsSpdy2() || IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| // HEADERS with priority not supported.
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -3034,7 +2646,7 @@ TEST_P(SpdyFramerTest, CreateHeadersUncompressed) {
|
| headers_ir.SetHeader("foo", "bar");
|
| headers_ir.set_padding_len(6);
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir));
|
| - if (IsSpdy2() || IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| // Padding is not supported.
|
| } else {
|
| CompareFrame(kDescription, *frame, kH2FrameData, arraysize(kH2FrameData));
|
| @@ -3052,23 +2664,6 @@ TEST_P(SpdyFramerTest, CreateHeadersCompressed) {
|
| {
|
| const char kDescription[] = "HEADERS frame, no FIN";
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x08,
|
| - 0x00, 0x00, 0x00, 0x32,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x38, 0xea,
|
| - 0xdf, 0xa2, 0x51, 0xb2,
|
| - 0x62, 0x60, 0x62, 0x60,
|
| - 0x4e, 0x4a, 0x2c, 0x62,
|
| - 0x60, 0x06, 0x08, 0xa0,
|
| - 0xb4, 0xfc, 0x7c, 0x80,
|
| - 0x00, 0x62, 0x60, 0x4e,
|
| - 0xcb, 0xcf, 0x67, 0x60,
|
| - 0x06, 0x08, 0xa0, 0xa4,
|
| - 0xc4, 0x22, 0x80, 0x00,
|
| - 0x02, 0x00, 0x00, 0x00,
|
| - 0xff, 0xff,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x08,
|
| 0x00, 0x00, 0x00, 0x31,
|
| @@ -3086,22 +2681,6 @@ TEST_P(SpdyFramerTest, CreateHeadersCompressed) {
|
| 0x00, 0x00, 0x00, 0xff,
|
| 0xff,
|
| };
|
| - const unsigned char kV2SIMDFrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x08,
|
| - 0x00, 0x00, 0x00, 0x2f,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x00, 0x00, 0x38, 0xea,
|
| - 0xdf, 0xa2, 0x51, 0xb2,
|
| - 0x62, 0x60, 0x62, 0x60,
|
| - 0x4e, 0x4a, 0x2c, 0x62,
|
| - 0x60, 0x06, 0x08, 0xa0,
|
| - 0xb4, 0xfc, 0x7c, 0x80,
|
| - 0x00, 0x62, 0x60, 0x06,
|
| - 0x13, 0x00, 0x01, 0x94,
|
| - 0x94, 0x58, 0x04, 0x10,
|
| - 0x40, 0x00, 0x00, 0x00,
|
| - 0x00, 0xff, 0xff,
|
| - };
|
| const unsigned char kV3SIMDFrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x08,
|
| 0x00, 0x00, 0x00, 0x2c,
|
| @@ -3124,19 +2703,7 @@ TEST_P(SpdyFramerTest, CreateHeadersCompressed) {
|
| scoped_ptr<SpdyFrame> frame(framer.SerializeHeaders(headers_ir));
|
| const unsigned char* frame_data =
|
| reinterpret_cast<const unsigned char*>(frame->data());
|
| - if (IsSpdy2()) {
|
| - // Try comparing with SIMD version, if that fails, do a failing check
|
| - // with pretty printing against non-SIMD version
|
| - if (memcmp(frame_data,
|
| - kV2SIMDFrameData,
|
| - std::min(arraysize(kV2SIMDFrameData), frame->size())) != 0) {
|
| - CompareCharArraysWithHexError(kDescription,
|
| - frame_data,
|
| - frame->size(),
|
| - kV2FrameData,
|
| - arraysize(kV2FrameData));
|
| - }
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| if (memcmp(frame_data,
|
| kV3SIMDFrameData,
|
| std::min(arraysize(kV3SIMDFrameData), frame->size())) != 0) {
|
| @@ -3158,7 +2725,7 @@ TEST_P(SpdyFramerTest, CreateWindowUpdate) {
|
|
|
| {
|
| const char kDescription[] = "WINDOW_UPDATE frame";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x09,
|
| 0x00, 0x00, 0x00, 0x08,
|
| 0x00, 0x00, 0x00, 0x01,
|
| @@ -3181,7 +2748,7 @@ TEST_P(SpdyFramerTest, CreateWindowUpdate) {
|
|
|
| {
|
| const char kDescription[] = "WINDOW_UPDATE frame with max stream ID";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x09,
|
| 0x00, 0x00, 0x00, 0x08,
|
| 0x7f, 0xff, 0xff, 0xff,
|
| @@ -3204,7 +2771,7 @@ TEST_P(SpdyFramerTest, CreateWindowUpdate) {
|
|
|
| {
|
| const char kDescription[] = "WINDOW_UPDATE frame with max window delta";
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x09,
|
| 0x00, 0x00, 0x00, 0x08,
|
| 0x00, 0x00, 0x00, 0x01,
|
| @@ -3873,7 +3440,7 @@ TEST_P(SpdyFramerTest, ControlFrameSizesAreValidated) {
|
| // We create enough overhead to overflow the framer's control frame buffer.
|
| ASSERT_LE(SpdyFramerPeer::ControlFrameBufferSize(), 250u);
|
| const size_t length = SpdyFramerPeer::ControlFrameBufferSize() + 1;
|
| - const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x07,
|
| 0x00, 0x00, 0x00, static_cast<unsigned char>(length),
|
| 0x00, 0x00, 0x00, 0x00, // Stream ID
|
| @@ -4013,17 +3580,6 @@ TEST_P(SpdyFramerTest, ReadLargeSettingsFrame) {
|
| TEST_P(SpdyFramerTest, ReadDuplicateSettings) {
|
| SpdyFramer framer(spdy_version_);
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x04,
|
| - 0x00, 0x00, 0x00, 0x1C,
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 0x01, 0x00, 0x00, 0x00, // 1st Setting
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x01, 0x00, 0x00, 0x00, // 2nd (duplicate) Setting
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 0x03, 0x00, 0x00, 0x00, // 3rd (unprocessed) Setting
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x04,
|
| 0x00, 0x00, 0x00, 0x1C,
|
| @@ -4048,9 +3604,7 @@ TEST_P(SpdyFramerTest, ReadDuplicateSettings) {
|
|
|
| TestSpdyVisitor visitor(spdy_version_);
|
| visitor.use_compression_ = false;
|
| - if (IsSpdy2()) {
|
| - visitor.SimulateInFramer(kV2FrameData, sizeof(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| visitor.SimulateInFramer(kV3FrameData, sizeof(kV3FrameData));
|
| } else {
|
| visitor.SimulateInFramer(kH2FrameData, sizeof(kH2FrameData));
|
| @@ -4072,13 +3626,6 @@ TEST_P(SpdyFramerTest, ReadDuplicateSettings) {
|
| TEST_P(SpdyFramerTest, ReadUnknownSettingsId) {
|
| SpdyFramer framer(spdy_version_);
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x04,
|
| - 0x00, 0x00, 0x00, 0x1C,
|
| - 0x00, 0x00, 0x00, 0x01,
|
| - 0x10, 0x00, 0x00, 0x00, // 1st Setting
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x04,
|
| 0x00, 0x00, 0x00, 0x1C,
|
| @@ -4095,9 +3642,7 @@ TEST_P(SpdyFramerTest, ReadUnknownSettingsId) {
|
|
|
| TestSpdyVisitor visitor(spdy_version_);
|
| visitor.use_compression_ = false;
|
| - if (IsSpdy2()) {
|
| - visitor.SimulateInFramer(kV2FrameData, sizeof(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| visitor.SimulateInFramer(kV3FrameData, sizeof(kV3FrameData));
|
| } else {
|
| visitor.SimulateInFramer(kH2FrameData, sizeof(kH2FrameData));
|
| @@ -4117,17 +3662,6 @@ TEST_P(SpdyFramerTest, ReadUnknownSettingsId) {
|
| TEST_P(SpdyFramerTest, ReadOutOfOrderSettings) {
|
| SpdyFramer framer(spdy_version_);
|
|
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x04,
|
| - 0x00, 0x00, 0x00, 0x1C,
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 0x02, 0x00, 0x00, 0x00, // 1st Setting
|
| - 0x00, 0x00, 0x00, 0x02,
|
| - 0x01, 0x00, 0x00, 0x00, // 2nd (out of order) Setting
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - 0x03, 0x00, 0x00, 0x00, // 3rd (unprocessed) Setting
|
| - 0x00, 0x00, 0x00, 0x03,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x04,
|
| 0x00, 0x00, 0x00, 0x1C,
|
| @@ -4152,9 +3686,7 @@ TEST_P(SpdyFramerTest, ReadOutOfOrderSettings) {
|
|
|
| TestSpdyVisitor visitor(spdy_version_);
|
| visitor.use_compression_ = false;
|
| - if (IsSpdy2()) {
|
| - visitor.SimulateInFramer(kV2FrameData, sizeof(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| visitor.SimulateInFramer(kV3FrameData, sizeof(kV3FrameData));
|
| } else {
|
| visitor.SimulateInFramer(kH2FrameData, sizeof(kH2FrameData));
|
| @@ -4736,12 +4268,12 @@ TEST_P(SpdyFramerTest, SizesTest) {
|
| EXPECT_EQ(8u, framer.GetDataFrameMinimumSize());
|
| EXPECT_EQ(8u, framer.GetControlFrameHeaderSize());
|
| EXPECT_EQ(18u, framer.GetSynStreamMinimumSize());
|
| - EXPECT_EQ(IsSpdy2() ? 14u : 12u, framer.GetSynReplyMinimumSize());
|
| + EXPECT_EQ(12u, framer.GetSynReplyMinimumSize());
|
| EXPECT_EQ(16u, framer.GetRstStreamMinimumSize());
|
| EXPECT_EQ(12u, framer.GetSettingsMinimumSize());
|
| EXPECT_EQ(12u, framer.GetPingSize());
|
| - EXPECT_EQ(IsSpdy2() ? 12u : 16u, framer.GetGoAwayMinimumSize());
|
| - EXPECT_EQ(IsSpdy2() ? 14u : 12u, framer.GetHeadersMinimumSize());
|
| + EXPECT_EQ(16u, framer.GetGoAwayMinimumSize());
|
| + EXPECT_EQ(12u, framer.GetHeadersMinimumSize());
|
| EXPECT_EQ(16u, framer.GetWindowUpdateSize());
|
| EXPECT_EQ(8u, framer.GetFrameMinimumSize());
|
| EXPECT_EQ(16777223u, framer.GetFrameMaximumSize());
|
| @@ -4985,7 +4517,7 @@ TEST_P(SpdyFramerTest, DataFrameFlagsV4) {
|
| }
|
|
|
| TEST_P(SpdyFramerTest, SynStreamFrameFlags) {
|
| - if (!IsSpdy2() && !IsSpdy3()) {
|
| + if (!IsSpdy3()) {
|
| // SYN_STREAM not supported in SPDY>3
|
| return;
|
| }
|
| @@ -5039,7 +4571,7 @@ TEST_P(SpdyFramerTest, SynStreamFrameFlags) {
|
| }
|
|
|
| TEST_P(SpdyFramerTest, SynReplyFrameFlags) {
|
| - if (!IsSpdy2() && !IsSpdy3()) {
|
| + if (!IsSpdy3()) {
|
| // SYN_REPLY not supported in SPDY>3
|
| return;
|
| }
|
| @@ -5501,7 +5033,7 @@ TEST_P(SpdyFramerTest, ContinuationFrameFlags) {
|
| // TODO(hkhalil): Add TEST_P(SpdyFramerTest, BlockedFrameFlags)
|
|
|
| TEST_P(SpdyFramerTest, EmptySynStream) {
|
| - if (!IsSpdy2() && !IsSpdy3()) {
|
| + if (!IsSpdy3()) {
|
| // SYN_STREAM not supported in SPDY>3.
|
| return;
|
| }
|
| @@ -5535,8 +5067,7 @@ TEST_P(SpdyFramerTest, EmptySynStream) {
|
| TEST_P(SpdyFramerTest, SettingsFlagsAndId) {
|
| const uint32_t kId = 0x020304;
|
| const uint32_t kFlags = 0x01;
|
| - const uint32_t kWireFormat =
|
| - base::HostToNet32(IsSpdy2() ? 0x04030201 : 0x01020304);
|
| + const uint32_t kWireFormat = base::HostToNet32(0x01020304);
|
|
|
| SettingsFlagsAndId id_and_flags =
|
| SettingsFlagsAndId::FromWireFormat(spdy_version_, kWireFormat);
|
| @@ -5613,9 +5144,6 @@ TEST_P(SpdyFramerTest, RstStreamStatusBounds) {
|
|
|
| // Test handling of GOAWAY frames with out-of-bounds status code.
|
| TEST_P(SpdyFramerTest, GoAwayStatusBounds) {
|
| - if (spdy_version_ <= SPDY2) {
|
| - return;
|
| - }
|
| SpdyFramer framer(spdy_version_);
|
|
|
| const unsigned char kV3FrameData[] = {
|
| @@ -5650,11 +5178,6 @@ TEST_P(SpdyFramerTest, GoAwayStatusBounds) {
|
|
|
| // Tests handling of a GOAWAY frame with out-of-bounds stream ID.
|
| TEST_P(SpdyFramerTest, GoAwayStreamIdBounds) {
|
| - const unsigned char kV2FrameData[] = {
|
| - 0x80, spdy_version_ch_, 0x00, 0x07,
|
| - 0x00, 0x00, 0x00, 0x04,
|
| - 0xff, 0xff, 0xff, 0xff,
|
| - };
|
| const unsigned char kV3FrameData[] = {
|
| 0x80, spdy_version_ch_, 0x00, 0x07,
|
| 0x00, 0x00, 0x00, 0x08,
|
| @@ -5674,10 +5197,7 @@ TEST_P(SpdyFramerTest, GoAwayStreamIdBounds) {
|
| framer.set_visitor(&visitor);
|
|
|
| EXPECT_CALL(visitor, OnGoAway(0x7fffffff, GOAWAY_OK));
|
| - if (IsSpdy2()) {
|
| - framer.ProcessInput(reinterpret_cast<const char*>(kV2FrameData),
|
| - arraysize(kV2FrameData));
|
| - } else if (IsSpdy3()) {
|
| + if (IsSpdy3()) {
|
| framer.ProcessInput(reinterpret_cast<const char*>(kV3FrameData),
|
| arraysize(kV3FrameData));
|
| } else {
|
|
|