Chromium Code Reviews| Index: net/spdy/spdy_framer_test.cc |
| =================================================================== |
| --- net/spdy/spdy_framer_test.cc (working copy) |
| +++ net/spdy/spdy_framer_test.cc (working copy) |
| @@ -13,17 +13,14 @@ |
| namespace { |
| -// Default SPDY version for unit tests. |
| -const int SPDY_VERSION_FOR_TESTS = 3; |
| - |
| // The current default spdy version as a byte to be included in const |
| // byte arrays below. Name choice is unfortunate, but better to fit to four |
| // bytes than not. |
| -unsigned char kVer = SPDY_VERSION_FOR_TESTS; |
| +unsigned char kVer = 2; |
|
Ryan Hamilton
2012/03/14 17:32:08
Please eliminate this too. Using spdy_version_ in
|
| spdy::SpdySetting SpdySettingFromWireFormat(uint32 key, uint32 value) { |
| return spdy::SpdySetting( |
| - spdy::SettingsFlagsAndId::FromWireFormat(SPDY_VERSION_FOR_TESTS, key), |
| + spdy::SettingsFlagsAndId::FromWireFormat(kVer, key), |
| value); |
| } |
| @@ -31,7 +28,7 @@ |
| namespace spdy { |
| -namespace test_spdy3 { |
| +namespace test { |
| static const size_t kMaxDecompressedSize = 1024; |
| @@ -449,7 +446,7 @@ |
| SpdyCredential credential_; |
| }; |
| -} // namespace test_spdy3 |
| +} // namespace test |
| } // namespace spdy |
| @@ -467,13 +464,13 @@ |
| using spdy::DATA_FLAG_COMPRESSED; |
| using spdy::DATA_FLAG_FIN; |
| using spdy::SYN_STREAM; |
| -using spdy::test_spdy3::CompareCharArraysWithHexError; |
| -using spdy::test_spdy3::SpdyFramerTestUtil; |
| -using spdy::test_spdy3::TestSpdyVisitor; |
| +using spdy::test::CompareCharArraysWithHexError; |
| +using spdy::test::SpdyFramerTestUtil; |
| +using spdy::test::TestSpdyVisitor; |
| namespace spdy { |
| -TEST(SpdyFrameBuilderSpdy3Test, WriteLimits) { |
| +TEST(SpdyFrameBuilderTest, WriteLimits) { |
| SpdyFrameBuilder builder(kLengthMask + 4); |
| // length field should fail. |
| EXPECT_FALSE(builder.WriteBytes(reinterpret_cast<const void*>(0x1), |
| @@ -488,11 +485,26 @@ |
| EXPECT_EQ(4 + kLengthMask, static_cast<unsigned>(builder.length())); |
| } |
| -class SpdyFramerSpdy3Test : public PlatformTest { |
| - public: |
| +enum SpdyFramerTestTypes { |
| + SPDY2, |
| + SPDY3, |
| +}; |
| + |
| +class SpdyFramerTest |
| + : public ::testing::TestWithParam<SpdyFramerTestTypes> { |
| + protected: |
| + virtual void SetUp() { |
| + if (GetParam() == SPDY2) { |
| + kVer = 2; |
| + spdy_version_ = 2; |
| + } else { |
| + kVer = 3; |
| + spdy_version_ = 3; |
| + } |
| + } |
| + |
| virtual void TearDown() {} |
| - protected: |
| void CompareFrame(const std::string& description, |
| const SpdyFrame& actual_frame, |
| const unsigned char* expected, |
| @@ -531,11 +543,20 @@ |
| } |
| return true; |
| } |
| + |
| + // Default SPDY version for unit tests. |
|
Ryan Hamilton
2012/03/14 17:32:08
// Version of SPDY protocol to be used
|
| + int spdy_version_; |
| }; |
| +//----------------------------------------------------------------------------- |
| +// All tests are run with two different SPDY versions: SPDY/2 and SPDY/3. |
| +INSTANTIATE_TEST_CASE_P(SpdyFramerTests, |
| + SpdyFramerTest, |
| + ::testing::Values(SPDY2, SPDY3)); |
| + |
| // Test that we can encode and decode a SpdyHeaderBlock in serialized form. |
| -TEST_F(SpdyFramerSpdy3Test, HeaderBlockInBuffer) { |
| +TEST_P(SpdyFramerTest, HeaderBlockInBuffer) { |
| SpdyHeaderBlock headers; |
| headers["alpha"] = "beta"; |
| headers["gamma"] = "charlie"; |
| @@ -558,7 +579,7 @@ |
| } |
| // Test that if there's not a full frame, we fail to parse it. |
| -TEST_F(SpdyFramerSpdy3Test, UndersizedHeaderBlockInBuffer) { |
| +TEST_P(SpdyFramerTest, UndersizedHeaderBlockInBuffer) { |
| SpdyHeaderBlock headers; |
| headers["alpha"] = "beta"; |
| headers["gamma"] = "charlie"; |
| @@ -577,7 +598,7 @@ |
| &new_headers)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, OutOfOrderHeaders) { |
| +TEST_P(SpdyFramerTest, OutOfOrderHeaders) { |
| // Frame builder with plentiful buffer size. |
| SpdyFrameBuilder frame(1024); |
| @@ -588,7 +609,7 @@ |
| frame.WriteUInt32(0); // Associated stream id |
| frame.WriteUInt16(0); // Priority. |
| - if (SPDY_VERSION_FOR_TESTS < 3) { |
| + if (spdy_version_ < 3) { |
|
Ryan Hamilton
2012/03/14 17:32:08
I notice that this same predicate is used repeated
|
| frame.WriteUInt16(2); // Number of headers. |
| frame.WriteString("gamma"); |
| frame.WriteString("gamma"); |
| @@ -616,7 +637,7 @@ |
| &new_headers)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateCredential) { |
| +TEST_P(SpdyFramerTest, CreateCredential) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -649,7 +670,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ParseCredentialFrameData) { |
| +TEST_P(SpdyFramerTest, ParseCredentialFrameData) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -687,7 +708,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, DuplicateHeader) { |
| +TEST_P(SpdyFramerTest, DuplicateHeader) { |
| // Frame builder with plentiful buffer size. |
| SpdyFrameBuilder frame(1024); |
| @@ -698,7 +719,7 @@ |
| frame.WriteUInt32(0); // associated stream id |
| frame.WriteUInt16(0); // Priority. |
| - if (SPDY_VERSION_FOR_TESTS < 3) { |
| + if (spdy_version_ < 3) { |
| frame.WriteUInt16(2); // Number of headers. |
| frame.WriteString("name"); |
| frame.WriteString("value1"); |
| @@ -727,7 +748,7 @@ |
| &new_headers)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, MultiValueHeader) { |
| +TEST_P(SpdyFramerTest, MultiValueHeader) { |
| // Frame builder with plentiful buffer size. |
| SpdyFrameBuilder frame(1024); |
| @@ -739,7 +760,7 @@ |
| frame.WriteUInt16(0); // Priority. |
| std::string value("value1\0value2"); |
| - if (SPDY_VERSION_FOR_TESTS < 3) { |
| + if (spdy_version_ < 3) { |
| frame.WriteUInt16(1); // Number of headers. |
| frame.WriteString("name"); |
| frame.WriteString(value); |
| @@ -765,7 +786,7 @@ |
| EXPECT_EQ(value, new_headers.find("name")->second); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, BasicCompression) { |
| +TEST_P(SpdyFramerTest, BasicCompression) { |
| SpdyHeaderBlock headers; |
| headers["server"] = "SpdyServer 1.0"; |
| headers["date"] = "Mon 12 Jan 2009 12:12:12 PST"; |
| @@ -811,7 +832,7 @@ |
| SpdyFrame::kHeaderSize + uncompressed_frame->length())); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, Basic) { |
| +TEST_P(SpdyFramerTest, Basic) { |
| const unsigned char kV2Input[] = { |
| 0x80, kVer, 0x00, 0x01, // SYN Stream #1 |
| 0x00, 0x00, 0x00, 0x14, |
| @@ -925,7 +946,7 @@ |
| }; |
| TestSpdyVisitor visitor; |
| - if (SPDY_VERSION_FOR_TESTS < 3) { |
| + if (spdy_version_ < 3) { |
| visitor.SimulateInFramer(kV2Input, sizeof(kV2Input)); |
| } else { |
| visitor.SimulateInFramer(kV3Input, sizeof(kV3Input)); |
| @@ -943,7 +964,7 @@ |
| } |
| // Test that the FIN flag on a data frame signifies EOF. |
| -TEST_F(SpdyFramerSpdy3Test, FinOnDataFrame) { |
| +TEST_P(SpdyFramerTest, FinOnDataFrame) { |
| const unsigned char kV2Input[] = { |
| 0x80, kVer, 0x00, 0x01, // SYN Stream #1 |
| 0x00, 0x00, 0x00, 0x14, |
| @@ -1002,7 +1023,7 @@ |
| }; |
| TestSpdyVisitor visitor; |
| - if (SPDY_VERSION_FOR_TESTS < 3) { |
| + if (spdy_version_ < 3) { |
| visitor.SimulateInFramer(kV2Input, sizeof(kV2Input)); |
| } else { |
| visitor.SimulateInFramer(kV3Input, sizeof(kV3Input)); |
| @@ -1020,7 +1041,7 @@ |
| } |
| // Test that the FIN flag on a SYN reply frame signifies EOF. |
| -TEST_F(SpdyFramerSpdy3Test, FinOnSynReplyFrame) { |
| +TEST_P(SpdyFramerTest, FinOnSynReplyFrame) { |
| const unsigned char kV2Input[] = { |
| 0x80, kVer, 0x00, 0x01, // SYN Stream #1 |
| 0x00, 0x00, 0x00, 0x14, |
| @@ -1061,7 +1082,7 @@ |
| }; |
| TestSpdyVisitor visitor; |
| - if (SPDY_VERSION_FOR_TESTS < 3) { |
| + if (spdy_version_ < 3) { |
| visitor.SimulateInFramer(kV2Input, sizeof(kV2Input)); |
| } else { |
| visitor.SimulateInFramer(kV3Input, sizeof(kV3Input)); |
| @@ -1078,7 +1099,7 @@ |
| EXPECT_EQ(0, visitor.data_frame_count_); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, HeaderCompression) { |
| +TEST_P(SpdyFramerTest, HeaderCompression) { |
| SpdyFramer send_framer(kVer); |
| SpdyFramer recv_framer(kVer); |
| @@ -1157,7 +1178,7 @@ |
| } |
| // Verify we don't leak when we leave streams unclosed |
| -TEST_F(SpdyFramerSpdy3Test, UnclosedStreamDataCompressors) { |
| +TEST_P(SpdyFramerTest, UnclosedStreamDataCompressors) { |
| SpdyFramer send_framer(kVer); |
| send_framer.set_enable_compression(true); |
| @@ -1210,7 +1231,7 @@ |
| // Verify we can decompress the stream even if handed over to the |
| // framer 1 byte at a time. |
| -TEST_F(SpdyFramerSpdy3Test, UnclosedStreamDataCompressorsOneByteAtATime) { |
| +TEST_P(SpdyFramerTest, UnclosedStreamDataCompressorsOneByteAtATime) { |
| SpdyFramer send_framer(kVer); |
| send_framer.set_enable_compression(true); |
| @@ -1271,7 +1292,7 @@ |
| EXPECT_EQ(0, send_framer.num_stream_decompressors()); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, WindowUpdateFrame) { |
| +TEST_P(SpdyFramerTest, WindowUpdateFrame) { |
| SpdyFramer framer(kVer); |
| scoped_ptr<SpdyWindowUpdateControlFrame> window_update_frame( |
| framer.CreateWindowUpdate(1, 0x12345678)); |
| @@ -1288,7 +1309,7 @@ |
| memcmp(window_update_frame->data(), expected_data_frame, 16)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateDataFrame) { |
| +TEST_P(SpdyFramerTest, CreateDataFrame) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -1374,7 +1395,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateSynStreamUncompressed) { |
| +TEST_P(SpdyFramerTest, CreateSynStreamUncompressed) { |
| SpdyFramer framer(kVer); |
| framer.set_enable_compression(false); |
| @@ -1385,8 +1406,7 @@ |
| headers["bar"] = "foo"; |
| headers["foo"] = "bar"; |
| - const unsigned char kPri = |
| - (SPDY_VERSION_FOR_TESTS != 2) ? 0xE0 : 0xC0; |
| + const unsigned char kPri = (spdy_version_ != 2) ? 0xE0 : 0xC0; |
| const unsigned char kV2FrameData[] = { |
| 0x80, kVer, 0x00, 0x01, |
| 0x00, 0x00, 0x00, 0x20, |
| @@ -1418,9 +1438,9 @@ |
| 1, 0, framer.GetLowestPriority(), CONTROL_FLAG_NONE, false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| EXPECT_EQ(1u, SpdyFramer::GetControlFrameStreamId(frame.get())); |
| } |
| @@ -1464,9 +1484,9 @@ |
| false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| { |
| @@ -1478,8 +1498,7 @@ |
| headers["bar"] = "foo"; |
| headers["foo"] = ""; |
| - const unsigned char kPri = |
| - (SPDY_VERSION_FOR_TESTS != 2) ? 0x20 : 0x40; |
| + const unsigned char kPri = (spdy_version_ != 2) ? 0x20 : 0x40; |
| const unsigned char kV2FrameData[] = { |
| 0x80, kVer, 0x00, 0x01, |
| 0x01, 0x00, 0x00, 0x1D, |
| @@ -1510,13 +1529,13 @@ |
| 0x7fffffff, 0x7fffffff, 1, CONTROL_FLAG_FIN, false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateSynStreamCompressed) { |
| +TEST_P(SpdyFramerTest, CreateSynStreamCompressed) { |
| SpdyFramer framer(kVer); |
| framer.set_enable_compression(true); |
| @@ -1528,8 +1547,7 @@ |
| headers["bar"] = "foo"; |
| headers["foo"] = "bar"; |
| - const SpdyPriority priority = |
| - (SPDY_VERSION_FOR_TESTS != 2) ? 4 : 2; |
| + const SpdyPriority priority = (spdy_version_ != 2) ? 4 : 2; |
| const unsigned char kV2FrameData[] = { |
| 0x80, kVer, 0x00, 0x01, |
| 0x00, 0x00, 0x00, 0x25, |
| @@ -1562,13 +1580,13 @@ |
| 1, 0, priority, CONTROL_FLAG_NONE, true, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateSynReplyUncompressed) { |
| +TEST_P(SpdyFramerTest, CreateSynReplyUncompressed) { |
| SpdyFramer framer(kVer); |
| framer.set_enable_compression(false); |
| @@ -1607,9 +1625,9 @@ |
| 1, CONTROL_FLAG_NONE, false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| { |
| @@ -1648,9 +1666,9 @@ |
| 0x7fffffff, CONTROL_FLAG_FIN, false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| { |
| @@ -1689,13 +1707,13 @@ |
| 0x7fffffff, CONTROL_FLAG_FIN, false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateSynReplyCompressed) { |
| +TEST_P(SpdyFramerTest, CreateSynReplyCompressed) { |
| SpdyFramer framer(kVer); |
| framer.set_enable_compression(true); |
| @@ -1736,13 +1754,13 @@ |
| 1, CONTROL_FLAG_NONE, true, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateRstStream) { |
| +TEST_P(SpdyFramerTest, CreateRstStream) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -1786,7 +1804,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateSettings) { |
| +TEST_P(SpdyFramerTest, CreateSettings) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -1823,7 +1841,7 @@ |
| scoped_ptr<SpdySettingsControlFrame> frame(framer.CreateSettings(settings)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kFrameDatav2 : kFrameDatav3, |
| + (spdy_version_ < 3) ? kFrameDatav2 : kFrameDatav3, |
| arraysize(kFrameDatav3)); // Size is unchanged among versions. |
| EXPECT_EQ(SpdyFramer::kInvalidStream, |
| SpdyFramer::GetControlFrameStreamId(frame.get())); |
| @@ -1905,7 +1923,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreatePingFrame) { |
| +TEST_P(SpdyFramerTest, CreatePingFrame) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -1922,7 +1940,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateGoAway) { |
| +TEST_P(SpdyFramerTest, CreateGoAway) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -1950,7 +1968,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateHeadersUncompressed) { |
| +TEST_P(SpdyFramerTest, CreateHeadersUncompressed) { |
| SpdyFramer framer(kVer); |
| framer.set_enable_compression(false); |
| @@ -1989,9 +2007,9 @@ |
| 1, CONTROL_FLAG_NONE, false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| { |
| @@ -2030,9 +2048,9 @@ |
| 0x7fffffff, CONTROL_FLAG_FIN, false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| { |
| @@ -2071,13 +2089,13 @@ |
| 0x7fffffff, CONTROL_FLAG_FIN, false, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateHeadersCompressed) { |
| +TEST_P(SpdyFramerTest, CreateHeadersCompressed) { |
| SpdyFramer framer(kVer); |
| framer.set_enable_compression(true); |
| @@ -2118,13 +2136,13 @@ |
| 1, CONTROL_FLAG_NONE, true, &headers)); |
| CompareFrame(kDescription, |
| *frame, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? kV2FrameData : kV3FrameData, |
| - (SPDY_VERSION_FOR_TESTS < 3) ? arraysize(kV2FrameData) |
| - : arraysize(kV3FrameData)); |
| + (spdy_version_ < 3) ? kV2FrameData : kV3FrameData, |
| + (spdy_version_ < 3) ? arraysize(kV2FrameData) |
| + : arraysize(kV3FrameData)); |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CreateWindowUpdate) { |
| +TEST_P(SpdyFramerTest, CreateWindowUpdate) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -2166,7 +2184,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, DuplicateFrame) { |
| +TEST_P(SpdyFramerTest, DuplicateFrame) { |
| SpdyFramer framer(kVer); |
| { |
| @@ -2189,7 +2207,7 @@ |
| // the framer to overrun the buffer, and smash other heap contents. This test |
| // relies on the debug version of the heap manager, which checks for buffer |
| // overrun errors during delete processing. Regression test for b/2974814. |
| -TEST_F(SpdyFramerSpdy3Test, ExpandBuffer_HeapSmash) { |
| +TEST_P(SpdyFramerTest, ExpandBuffer_HeapSmash) { |
| // Sweep through the area of problematic values, to make sure we always cover |
| // the danger zone, even if it moves around at bit due to SPDY changes. |
| for (uint16 val2_len = SpdyFramer::kControlFrameBufferInitialSize - 50; |
| @@ -2217,7 +2235,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ControlFrameSizesAreValidated) { |
| +TEST_P(SpdyFramerTest, ControlFrameSizesAreValidated) { |
| // Create a GoAway frame that has a few extra bytes at the end. |
| // We create enough overhead to require the framer to expand its frame buffer. |
| size_t overhead = SpdyFramer::kUncompressedControlFrameBufferInitialSize; |
| @@ -2250,7 +2268,7 @@ |
| EXPECT_EQ(1, visitor.goaway_count_); // Unchanged from before. |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ReadZeroLenSettingsFrame) { |
| +TEST_P(SpdyFramerTest, ReadZeroLenSettingsFrame) { |
| SpdyFramer framer(kVer); |
| SpdySettings settings; |
| scoped_ptr<SpdyFrame> control_frame(framer.CreateSettings(settings)); |
| @@ -2265,7 +2283,7 @@ |
| } |
| // Tests handling of SETTINGS frames with invalid length. |
| -TEST_F(SpdyFramerSpdy3Test, ReadBogusLenSettingsFrame) { |
| +TEST_P(SpdyFramerTest, ReadBogusLenSettingsFrame) { |
| SpdyFramer framer(kVer); |
| SpdySettings settings; |
| // Add a setting to pad the frame so that we don't get a buffer overflow when |
| @@ -2283,7 +2301,7 @@ |
| } |
| // Tests handling of SETTINGS frames larger than the frame buffer size. |
| -TEST_F(SpdyFramerSpdy3Test, ReadLargeSettingsFrame) { |
| +TEST_P(SpdyFramerTest, ReadLargeSettingsFrame) { |
| SpdyFramer framer(kVer); |
| SpdySettings settings; |
| settings.push_back(SpdySetting(SettingsFlagsAndId(0, 1), 0x00000002)); |
| @@ -2322,7 +2340,7 @@ |
| } |
| // Tests handling of SETTINGS frame with duplicate entries. |
| -TEST_F(SpdyFramerSpdy3Test, ReadDuplicateSettings) { |
| +TEST_P(SpdyFramerTest, ReadDuplicateSettings) { |
| SpdyFramer framer(kVer); |
| SpdySettings settings; |
| settings.push_back(SpdySetting(SettingsFlagsAndId(0, 1), 0x00000002)); |
| @@ -2342,7 +2360,7 @@ |
| } |
| // Tests handling of SETTINGS frame with entries out of order. |
| -TEST_F(SpdyFramerSpdy3Test, ReadOutOfOrderSettings) { |
| +TEST_P(SpdyFramerTest, ReadOutOfOrderSettings) { |
| SpdyFramer framer(kVer); |
| SpdySettings settings; |
| settings.push_back(SpdySetting(SettingsFlagsAndId(0, 2), 0x00000002)); |
| @@ -2361,7 +2379,7 @@ |
| EXPECT_EQ(1, visitor.settings_frame_count_); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ReadCredentialFrame) { |
| +TEST_P(SpdyFramerTest, ReadCredentialFrame) { |
| SpdyCredential credential; |
| credential.slot = 3; |
| credential.proof = "proof"; |
| @@ -2388,7 +2406,7 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ReadCredentialFrameWithCorruptProof) { |
| +TEST_P(SpdyFramerTest, ReadCredentialFrameWithCorruptProof) { |
| SpdyCredential credential; |
| credential.slot = 3; |
| credential.proof = "proof"; |
| @@ -2410,7 +2428,7 @@ |
| EXPECT_EQ(1, visitor.error_count_); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ReadCredentialFrameWithCorruptCertificate) { |
| +TEST_P(SpdyFramerTest, ReadCredentialFrameWithCorruptCertificate) { |
| SpdyCredential credential; |
| credential.slot = 3; |
| credential.proof = "proof"; |
| @@ -2432,7 +2450,7 @@ |
| EXPECT_EQ(1, visitor.error_count_); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ReadGarbage) { |
| +TEST_P(SpdyFramerTest, ReadGarbage) { |
| SpdyFramer framer(kVer); |
| unsigned char garbage_frame[256]; |
| memset(garbage_frame, ~0, sizeof(garbage_frame)); |
| @@ -2442,12 +2460,12 @@ |
| EXPECT_EQ(1, visitor.error_count_); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ReadGarbageWithValidVersion) { |
| +TEST_P(SpdyFramerTest, ReadGarbageWithValidVersion) { |
| SpdyFramer framer(kVer); |
| char garbage_frame[256]; |
| memset(garbage_frame, ~0, sizeof(garbage_frame)); |
| SpdyControlFrame control_frame(&garbage_frame[0], false); |
| - control_frame.set_version(SPDY_VERSION_FOR_TESTS); |
| + control_frame.set_version(spdy_version_); |
| TestSpdyVisitor visitor; |
| visitor.use_compression_ = false; |
| visitor.SimulateInFramer( |
| @@ -2456,7 +2474,7 @@ |
| EXPECT_EQ(1, visitor.error_count_); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, StateToStringTest) { |
| +TEST_P(SpdyFramerTest, StateToStringTest) { |
| EXPECT_STREQ("ERROR", |
| SpdyFramer::StateToString(SpdyFramer::SPDY_ERROR)); |
| EXPECT_STREQ("DONE", |
| @@ -2494,7 +2512,7 @@ |
| SpdyFramer::SPDY_SETTINGS_FRAME_PAYLOAD + 1)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ErrorCodeToStringTest) { |
| +TEST_P(SpdyFramerTest, ErrorCodeToStringTest) { |
| EXPECT_STREQ("NO_ERROR", |
| SpdyFramer::ErrorCodeToString(SpdyFramer::SPDY_NO_ERROR)); |
| EXPECT_STREQ("INVALID_CONTROL_FRAME", |
| @@ -2519,7 +2537,7 @@ |
| SpdyFramer::ErrorCodeToString(SpdyFramer::LAST_ERROR)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, StatusCodeToStringTest) { |
| +TEST_P(SpdyFramerTest, StatusCodeToStringTest) { |
| EXPECT_STREQ("INVALID", |
| SpdyFramer::StatusCodeToString(INVALID)); |
| EXPECT_STREQ("PROTOCOL_ERROR", |
| @@ -2540,7 +2558,7 @@ |
| SpdyFramer::StatusCodeToString(NUM_STATUS_CODES)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, ControlTypeToStringTest) { |
| +TEST_P(SpdyFramerTest, ControlTypeToStringTest) { |
| EXPECT_STREQ("SYN_STREAM", |
| SpdyFramer::ControlTypeToString(SYN_STREAM)); |
| EXPECT_STREQ("SYN_REPLY", |
| @@ -2565,7 +2583,7 @@ |
| SpdyFramer::ControlTypeToString(NUM_CONTROL_FRAME_TYPES)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, GetMinimumControlFrameSizeTest) { |
| +TEST_P(SpdyFramerTest, GetMinimumControlFrameSizeTest) { |
| EXPECT_EQ(SpdySynStreamControlFrame::size(), |
| SpdyFramer::GetMinimumControlFrameSize(SYN_STREAM)); |
| EXPECT_EQ(SpdySynReplyControlFrame::size(), |
| @@ -2590,7 +2608,7 @@ |
| SpdyFramer::GetMinimumControlFrameSize(NUM_CONTROL_FRAME_TYPES)); |
| } |
| -TEST_F(SpdyFramerSpdy3Test, CatchProbableHttpResponse) { |
| +TEST_P(SpdyFramerTest, CatchProbableHttpResponse) { |
| SpdyFramerTestUtil::DecompressionVisitor visitor; |
| visitor.set_allow_data_frames(true); |
| { |
| @@ -2607,17 +2625,17 @@ |
| } |
| } |
| -TEST_F(SpdyFramerSpdy3Test, SettingsFlagsAndId) { |
| +TEST_P(SpdyFramerTest, SettingsFlagsAndId) { |
| const uint32 kId = 0x020304; |
| const uint32 kFlags = 0x01; |
| const uint32 kWireFormat = |
| - htonl((SPDY_VERSION_FOR_TESTS < 3) ? 0x04030201 : 0x01020304); |
| + htonl((spdy_version_ < 3) ? 0x04030201 : 0x01020304); |
| SettingsFlagsAndId id_and_flags = |
| - SettingsFlagsAndId::FromWireFormat(SPDY_VERSION_FOR_TESTS, kWireFormat); |
| + SettingsFlagsAndId::FromWireFormat(spdy_version_, kWireFormat); |
| EXPECT_EQ(kId, id_and_flags.id()); |
| EXPECT_EQ(kFlags, id_and_flags.flags()); |
| - EXPECT_EQ(kWireFormat, id_and_flags.GetWireFormat(SPDY_VERSION_FOR_TESTS)); |
| + EXPECT_EQ(kWireFormat, id_and_flags.GetWireFormat(spdy_version_)); |
| } |
| } // namespace |