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

Unified Diff: net/quic/quic_flow_controller_test.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/quic/quic_flow_controller.cc ('k') | net/quic/quic_framer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_flow_controller_test.cc
diff --git a/net/quic/quic_flow_controller_test.cc b/net/quic/quic_flow_controller_test.cc
deleted file mode 100644
index e3fcafea5f5f178ff3727eea48840a5aeee6ae86..0000000000000000000000000000000000000000
--- a/net/quic/quic_flow_controller_test.cc
+++ /dev/null
@@ -1,155 +0,0 @@
-// Copyright 2014 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/quic/quic_flow_controller.h"
-
-#include "base/format_macros.h"
-#include "base/strings/stringprintf.h"
-#include "net/quic/quic_utils.h"
-#include "net/quic/test_tools/quic_connection_peer.h"
-#include "net/quic/test_tools/quic_flow_controller_peer.h"
-#include "net/quic/test_tools/quic_test_utils.h"
-#include "net/test/gtest_util.h"
-#include "testing/gmock/include/gmock/gmock.h"
-
-namespace net {
-namespace test {
-
-class QuicFlowControllerTest : public ::testing::Test {
- public:
- QuicFlowControllerTest()
- : stream_id_(1234),
- send_window_(kInitialSessionFlowControlWindowForTest),
- receive_window_(kInitialSessionFlowControlWindowForTest),
- max_receive_window_(kInitialSessionFlowControlWindowForTest),
- connection_(false) {
- }
-
- void Initialize() {
- flow_controller_.reset(new QuicFlowController(
- &connection_, stream_id_, false, send_window_,
- receive_window_, max_receive_window_));
- }
-
- protected:
- QuicStreamId stream_id_;
- QuicByteCount send_window_;
- QuicByteCount receive_window_;
- QuicByteCount max_receive_window_;
- scoped_ptr<QuicFlowController> flow_controller_;
- MockConnection connection_;
-};
-
-TEST_F(QuicFlowControllerTest, SendingBytes) {
- Initialize();
-
- EXPECT_TRUE(flow_controller_->IsEnabled());
- EXPECT_FALSE(flow_controller_->IsBlocked());
- EXPECT_FALSE(flow_controller_->FlowControlViolation());
- EXPECT_EQ(send_window_, flow_controller_->SendWindowSize());
-
- // Send some bytes, but not enough to block.
- flow_controller_->AddBytesSent(send_window_ / 2);
- EXPECT_FALSE(flow_controller_->IsBlocked());
- EXPECT_EQ(send_window_ / 2, flow_controller_->SendWindowSize());
-
- // Send enough bytes to block.
- flow_controller_->AddBytesSent(send_window_ / 2);
- EXPECT_TRUE(flow_controller_->IsBlocked());
- EXPECT_EQ(0u, flow_controller_->SendWindowSize());
-
- // BLOCKED frame should get sent.
- EXPECT_CALL(connection_, SendBlocked(stream_id_)).Times(1);
- flow_controller_->MaybeSendBlocked();
-
- // Update the send window, and verify this has unblocked.
- EXPECT_TRUE(flow_controller_->UpdateSendWindowOffset(2 * send_window_));
- EXPECT_FALSE(flow_controller_->IsBlocked());
- EXPECT_EQ(send_window_, flow_controller_->SendWindowSize());
-
- // Updating with a smaller offset doesn't change anything.
- EXPECT_FALSE(flow_controller_->UpdateSendWindowOffset(send_window_ / 10));
- EXPECT_EQ(send_window_, flow_controller_->SendWindowSize());
-
- // Try to send more bytes, violating flow control.
- EXPECT_CALL(connection_,
- SendConnectionClose(QUIC_FLOW_CONTROL_SENT_TOO_MUCH_DATA));
- EXPECT_DFATAL(
- flow_controller_->AddBytesSent(send_window_ * 10),
- base::StringPrintf("Trying to send an extra %" PRIu64 " bytes",
- send_window_ * 10));
- EXPECT_TRUE(flow_controller_->IsBlocked());
- EXPECT_EQ(0u, flow_controller_->SendWindowSize());
-}
-
-TEST_F(QuicFlowControllerTest, ReceivingBytes) {
- Initialize();
-
- EXPECT_TRUE(flow_controller_->IsEnabled());
- EXPECT_FALSE(flow_controller_->IsBlocked());
- EXPECT_FALSE(flow_controller_->FlowControlViolation());
- EXPECT_EQ(kInitialSessionFlowControlWindowForTest,
- QuicFlowControllerPeer::ReceiveWindowSize(flow_controller_.get()));
-
- // Receive some bytes, updating highest received offset, but not enough to
- // fill flow control receive window.
- EXPECT_TRUE(
- flow_controller_->UpdateHighestReceivedOffset(1 + receive_window_ / 2));
- EXPECT_FALSE(flow_controller_->FlowControlViolation());
- EXPECT_EQ((receive_window_ / 2) - 1,
- QuicFlowControllerPeer::ReceiveWindowSize(flow_controller_.get()));
-
- // Consume enough bytes to send a WINDOW_UPDATE frame.
- EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(1);
-
- flow_controller_->AddBytesConsumed(1 + receive_window_ / 2);
-
- // Result is that once again we have a fully open receive window.
- EXPECT_FALSE(flow_controller_->FlowControlViolation());
- EXPECT_EQ(kInitialSessionFlowControlWindowForTest,
- QuicFlowControllerPeer::ReceiveWindowSize(flow_controller_.get()));
-}
-
-TEST_F(QuicFlowControllerTest, OnlySendBlockedFrameOncePerOffset) {
- Initialize();
-
- // Test that we don't send duplicate BLOCKED frames. We should only send one
- // BLOCKED frame at a given send window offset.
- EXPECT_TRUE(flow_controller_->IsEnabled());
- EXPECT_FALSE(flow_controller_->IsBlocked());
- EXPECT_FALSE(flow_controller_->FlowControlViolation());
- EXPECT_EQ(send_window_, flow_controller_->SendWindowSize());
-
- // Send enough bytes to block.
- flow_controller_->AddBytesSent(send_window_);
- EXPECT_TRUE(flow_controller_->IsBlocked());
- EXPECT_EQ(0u, flow_controller_->SendWindowSize());
-
- // Expect that 2 BLOCKED frames should get sent in total.
- EXPECT_CALL(connection_, SendBlocked(stream_id_)).Times(2);
-
- // BLOCKED frame should get sent.
- flow_controller_->MaybeSendBlocked();
-
- // BLOCKED frame should not get sent again until our send offset changes.
- flow_controller_->MaybeSendBlocked();
- flow_controller_->MaybeSendBlocked();
- flow_controller_->MaybeSendBlocked();
- flow_controller_->MaybeSendBlocked();
- flow_controller_->MaybeSendBlocked();
-
- // Update the send window, then send enough bytes to block again.
- EXPECT_TRUE(flow_controller_->UpdateSendWindowOffset(2 * send_window_));
- EXPECT_FALSE(flow_controller_->IsBlocked());
- EXPECT_EQ(send_window_, flow_controller_->SendWindowSize());
- flow_controller_->AddBytesSent(send_window_);
- EXPECT_TRUE(flow_controller_->IsBlocked());
- EXPECT_EQ(0u, flow_controller_->SendWindowSize());
-
- // BLOCKED frame should get sent as send offset has changed.
- flow_controller_->MaybeSendBlocked();
-}
-
-} // namespace test
-} // namespace net
« no previous file with comments | « net/quic/quic_flow_controller.cc ('k') | net/quic/quic_framer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698