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

Unified Diff: net/spdy/buffered_spdy_framer_unittest.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/buffered_spdy_framer.cc ('k') | net/spdy/fuzzing/hpack_example_generator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/buffered_spdy_framer_unittest.cc
diff --git a/net/spdy/buffered_spdy_framer_unittest.cc b/net/spdy/buffered_spdy_framer_unittest.cc
deleted file mode 100644
index 5304f08506e5677b03a9b3ae2ec71789ae4067f2..0000000000000000000000000000000000000000
--- a/net/spdy/buffered_spdy_framer_unittest.cc
+++ /dev/null
@@ -1,338 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/spdy/buffered_spdy_framer.h"
-
-#include "net/spdy/spdy_test_util_common.h"
-#include "testing/platform_test.h"
-
-namespace net {
-
-namespace {
-
-class TestBufferedSpdyVisitor : public BufferedSpdyFramerVisitorInterface {
- public:
- explicit TestBufferedSpdyVisitor(SpdyMajorVersion spdy_version)
- : buffered_spdy_framer_(spdy_version, true),
- error_count_(0),
- setting_count_(0),
- syn_frame_count_(0),
- syn_reply_frame_count_(0),
- headers_frame_count_(0),
- push_promise_frame_count_(0),
- header_stream_id_(static_cast<SpdyStreamId>(-1)),
- promised_stream_id_(static_cast<SpdyStreamId>(-1)) {
- }
-
- void OnError(SpdyFramer::SpdyError error_code) override {
- LOG(INFO) << "SpdyFramer Error: " << error_code;
- error_count_++;
- }
-
- void OnStreamError(SpdyStreamId stream_id,
- const std::string& description) override {
- LOG(INFO) << "SpdyFramer Error on stream: " << stream_id << " "
- << description;
- error_count_++;
- }
-
- void OnSynStream(SpdyStreamId stream_id,
- SpdyStreamId associated_stream_id,
- SpdyPriority priority,
- bool fin,
- bool unidirectional,
- const SpdyHeaderBlock& headers) override {
- header_stream_id_ = stream_id;
- EXPECT_NE(header_stream_id_, SpdyFramer::kInvalidStream);
- syn_frame_count_++;
- headers_ = headers;
- }
-
- void OnSynReply(SpdyStreamId stream_id,
- bool fin,
- const SpdyHeaderBlock& headers) override {
- header_stream_id_ = stream_id;
- EXPECT_NE(header_stream_id_, SpdyFramer::kInvalidStream);
- syn_reply_frame_count_++;
- headers_ = headers;
- }
-
- void OnHeaders(SpdyStreamId stream_id,
- bool has_priority,
- SpdyPriority priority,
- bool fin,
- const SpdyHeaderBlock& headers) override {
- header_stream_id_ = stream_id;
- EXPECT_NE(header_stream_id_, SpdyFramer::kInvalidStream);
- headers_frame_count_++;
- headers_ = headers;
- }
-
- void OnDataFrameHeader(SpdyStreamId stream_id,
- size_t length,
- bool fin) override {
- ADD_FAILURE() << "Unexpected OnDataFrameHeader call.";
- }
-
- void OnStreamFrameData(SpdyStreamId stream_id,
- const char* data,
- size_t len,
- bool fin) override {
- LOG(FATAL) << "Unexpected OnStreamFrameData call.";
- }
-
- void OnSettings(bool clear_persisted) override {}
-
- void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override {
- setting_count_++;
- }
-
- void OnPing(SpdyPingId unique_id, bool is_ack) override {}
-
- void OnRstStream(SpdyStreamId stream_id,
- SpdyRstStreamStatus status) override {}
-
- void OnGoAway(SpdyStreamId last_accepted_stream_id,
- SpdyGoAwayStatus status) override {}
-
- bool OnCredentialFrameData(const char*, size_t) {
- LOG(FATAL) << "Unexpected OnCredentialFrameData call.";
- return false;
- }
-
- void OnDataFrameHeader(const SpdyFrame* frame) {
- LOG(FATAL) << "Unexpected OnDataFrameHeader call.";
- }
-
- void OnRstStream(const SpdyFrame& frame) {}
- void OnGoAway(const SpdyFrame& frame) {}
- void OnPing(const SpdyFrame& frame) {}
- void OnWindowUpdate(SpdyStreamId stream_id,
- uint32 delta_window_size) override {}
-
- void OnPushPromise(SpdyStreamId stream_id,
- SpdyStreamId promised_stream_id,
- const SpdyHeaderBlock& headers) override {
- header_stream_id_ = stream_id;
- EXPECT_NE(header_stream_id_, SpdyFramer::kInvalidStream);
- push_promise_frame_count_++;
- promised_stream_id_ = promised_stream_id;
- EXPECT_NE(promised_stream_id_, SpdyFramer::kInvalidStream);
- headers_ = headers;
- }
-
- bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override {
- return true;
- }
-
- void OnCredential(const SpdyFrame& frame) {}
-
- // Convenience function which runs a framer simulation with particular input.
- void SimulateInFramer(const unsigned char* input, size_t size) {
- buffered_spdy_framer_.set_visitor(this);
- size_t input_remaining = size;
- const char* input_ptr = reinterpret_cast<const char*>(input);
- while (input_remaining > 0 &&
- buffered_spdy_framer_.error_code() == SpdyFramer::SPDY_NO_ERROR) {
- // To make the tests more interesting, we feed random (amd small) chunks
- // into the framer. This simulates getting strange-sized reads from
- // the socket.
- const size_t kMaxReadSize = 32;
- size_t bytes_read =
- (rand() % std::min(input_remaining, kMaxReadSize)) + 1;
- size_t bytes_processed =
- buffered_spdy_framer_.ProcessInput(input_ptr, bytes_read);
- input_remaining -= bytes_processed;
- input_ptr += bytes_processed;
- }
- }
-
- BufferedSpdyFramer buffered_spdy_framer_;
-
- // Counters from the visitor callbacks.
- int error_count_;
- int setting_count_;
- int syn_frame_count_;
- int syn_reply_frame_count_;
- int headers_frame_count_;
- int push_promise_frame_count_;
-
- // Header block streaming state:
- SpdyStreamId header_stream_id_;
- SpdyStreamId promised_stream_id_;
-
- // Headers from OnSyn, OnSynReply, OnHeaders and OnPushPromise for
- // verification.
- SpdyHeaderBlock headers_;
-};
-
-} // namespace
-
-class BufferedSpdyFramerTest
- : public PlatformTest,
- public ::testing::WithParamInterface<NextProto> {
- protected:
- // Returns true if the two header blocks have equivalent content.
- bool CompareHeaderBlocks(const SpdyHeaderBlock* expected,
- const SpdyHeaderBlock* actual) {
- if (expected->size() != actual->size()) {
- LOG(ERROR) << "Expected " << expected->size() << " headers; actually got "
- << actual->size() << ".";
- return false;
- }
- for (SpdyHeaderBlock::const_iterator it = expected->begin();
- it != expected->end();
- ++it) {
- SpdyHeaderBlock::const_iterator it2 = actual->find(it->first);
- if (it2 == actual->end()) {
- LOG(ERROR) << "Expected header name '" << it->first << "'.";
- return false;
- }
- if (it->second.compare(it2->second) != 0) {
- LOG(ERROR) << "Expected header named '" << it->first
- << "' to have a value of '" << it->second
- << "'. The actual value received was '" << it2->second
- << "'.";
- return false;
- }
- }
- return true;
- }
-
- SpdyMajorVersion spdy_version() {
- return NextProtoToSpdyMajorVersion(GetParam());
- }
-};
-
-INSTANTIATE_TEST_CASE_P(
- NextProto,
- BufferedSpdyFramerTest,
- testing::Values(kProtoSPDY31, kProtoSPDY4_14, kProtoSPDY4_15));
-
-TEST_P(BufferedSpdyFramerTest, OnSetting) {
- SpdyFramer framer(spdy_version());
- SpdySettingsIR settings_ir;
- settings_ir.AddSetting(SETTINGS_INITIAL_WINDOW_SIZE, false, false, 2);
- settings_ir.AddSetting(SETTINGS_MAX_CONCURRENT_STREAMS, false, false, 3);
- scoped_ptr<SpdyFrame> control_frame(framer.SerializeSettings(settings_ir));
- TestBufferedSpdyVisitor visitor(spdy_version());
-
- visitor.SimulateInFramer(
- reinterpret_cast<unsigned char*>(control_frame->data()),
- control_frame->size());
- EXPECT_EQ(0, visitor.error_count_);
- EXPECT_EQ(2, visitor.setting_count_);
-}
-
-TEST_P(BufferedSpdyFramerTest, ReadSynStreamHeaderBlock) {
- if (spdy_version() > SPDY3) {
- // SYN_STREAM not supported in SPDY>3.
- return;
- }
- SpdyHeaderBlock headers;
- headers["aa"] = "vv";
- headers["bb"] = "ww";
- BufferedSpdyFramer framer(spdy_version(), true);
- scoped_ptr<SpdyFrame> control_frame(
- framer.CreateSynStream(1, // stream_id
- 0, // associated_stream_id
- 1, // priority
- CONTROL_FLAG_NONE,
- &headers));
- EXPECT_TRUE(control_frame.get() != NULL);
-
- TestBufferedSpdyVisitor visitor(spdy_version());
- visitor.SimulateInFramer(
- reinterpret_cast<unsigned char*>(control_frame.get()->data()),
- control_frame.get()->size());
- EXPECT_EQ(0, visitor.error_count_);
- EXPECT_EQ(1, visitor.syn_frame_count_);
- EXPECT_EQ(0, visitor.syn_reply_frame_count_);
- EXPECT_EQ(0, visitor.headers_frame_count_);
- EXPECT_EQ(0, visitor.push_promise_frame_count_);
- EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
-}
-
-TEST_P(BufferedSpdyFramerTest, ReadSynReplyHeaderBlock) {
- if (spdy_version() > SPDY3) {
- // SYN_REPLY not supported in SPDY>3.
- return;
- }
- SpdyHeaderBlock headers;
- headers["alpha"] = "beta";
- headers["gamma"] = "delta";
- BufferedSpdyFramer framer(spdy_version(), true);
- scoped_ptr<SpdyFrame> control_frame(
- framer.CreateSynReply(1, // stream_id
- CONTROL_FLAG_NONE,
- &headers));
- EXPECT_TRUE(control_frame.get() != NULL);
-
- TestBufferedSpdyVisitor visitor(spdy_version());
- visitor.SimulateInFramer(
- reinterpret_cast<unsigned char*>(control_frame.get()->data()),
- control_frame.get()->size());
- EXPECT_EQ(0, visitor.error_count_);
- EXPECT_EQ(0, visitor.syn_frame_count_);
- EXPECT_EQ(0, visitor.push_promise_frame_count_);
- if (spdy_version() < SPDY4) {
- EXPECT_EQ(1, visitor.syn_reply_frame_count_);
- EXPECT_EQ(0, visitor.headers_frame_count_);
- } else {
- EXPECT_EQ(0, visitor.syn_reply_frame_count_);
- EXPECT_EQ(1, visitor.headers_frame_count_);
- }
- EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
-}
-
-TEST_P(BufferedSpdyFramerTest, ReadHeadersHeaderBlock) {
- SpdyHeaderBlock headers;
- headers["alpha"] = "beta";
- headers["gamma"] = "delta";
- BufferedSpdyFramer framer(spdy_version(), true);
- scoped_ptr<SpdyFrame> control_frame(
- framer.CreateHeaders(1, // stream_id
- CONTROL_FLAG_NONE,
- 0, // priority
- &headers));
- EXPECT_TRUE(control_frame.get() != NULL);
-
- TestBufferedSpdyVisitor visitor(spdy_version());
- visitor.SimulateInFramer(
- reinterpret_cast<unsigned char*>(control_frame.get()->data()),
- control_frame.get()->size());
- EXPECT_EQ(0, visitor.error_count_);
- EXPECT_EQ(0, visitor.syn_frame_count_);
- EXPECT_EQ(0, visitor.syn_reply_frame_count_);
- EXPECT_EQ(1, visitor.headers_frame_count_);
- EXPECT_EQ(0, visitor.push_promise_frame_count_);
- EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
-}
-
-TEST_P(BufferedSpdyFramerTest, ReadPushPromiseHeaderBlock) {
- if (spdy_version() < SPDY4)
- return;
- SpdyHeaderBlock headers;
- headers["alpha"] = "beta";
- headers["gamma"] = "delta";
- BufferedSpdyFramer framer(spdy_version(), true);
- scoped_ptr<SpdyFrame> control_frame(
- framer.CreatePushPromise(1, 2, &headers));
- EXPECT_TRUE(control_frame.get() != NULL);
-
- TestBufferedSpdyVisitor visitor(spdy_version());
- visitor.SimulateInFramer(
- reinterpret_cast<unsigned char*>(control_frame.get()->data()),
- control_frame.get()->size());
- EXPECT_EQ(0, visitor.error_count_);
- EXPECT_EQ(0, visitor.syn_frame_count_);
- EXPECT_EQ(0, visitor.syn_reply_frame_count_);
- EXPECT_EQ(0, visitor.headers_frame_count_);
- EXPECT_EQ(1, visitor.push_promise_frame_count_);
- EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
- EXPECT_EQ(1u, visitor.header_stream_id_);
- EXPECT_EQ(2u, visitor.promised_stream_id_);
-}
-
-} // namespace net
« no previous file with comments | « net/spdy/buffered_spdy_framer.cc ('k') | net/spdy/fuzzing/hpack_example_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698