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 |