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

Side by Side Diff: net/quic/core/quic_spdy_stream_test.cc

Issue 2338713003: Deprecate FLAGS_quic_close_stream_after_writing_queued_data (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « net/quic/core/quic_spdy_stream.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/core/quic_spdy_stream.h" 5 #include "net/quic/core/quic_spdy_stream.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 953 matching lines...) Expand 10 before | Expand all | Expand 10 after
964 964
965 // Writing trailers will send a FIN, but not close the write side of the 965 // Writing trailers will send a FIN, but not close the write side of the
966 // stream as there are queued bytes. 966 // stream as there are queued bytes.
967 EXPECT_CALL(*session_, WriteHeadersMock(_, _, true, _, _)); 967 EXPECT_CALL(*session_, WriteHeadersMock(_, _, true, _, _));
968 stream_->WriteTrailers(SpdyHeaderBlock(), nullptr); 968 stream_->WriteTrailers(SpdyHeaderBlock(), nullptr);
969 EXPECT_TRUE(stream_->fin_sent()); 969 EXPECT_TRUE(stream_->fin_sent());
970 if (!session_->force_hol_blocking()) { 970 if (!session_->force_hol_blocking()) {
971 EXPECT_FALSE(stream_->write_side_closed()); 971 EXPECT_FALSE(stream_->write_side_closed());
972 } 972 }
973 973
974 if (!FLAGS_quic_close_stream_after_writing_queued_data) {
975 return;
976 }
977 // Writing the queued bytes will close the write side of the stream. 974 // Writing the queued bytes will close the write side of the stream.
978 EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)) 975 EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _))
979 .WillOnce(Return(QuicConsumedData(1, false))); 976 .WillOnce(Return(QuicConsumedData(1, false)));
980 stream_->OnCanWrite(); 977 stream_->OnCanWrite();
981 EXPECT_TRUE(stream_->write_side_closed()); 978 EXPECT_TRUE(stream_->write_side_closed());
982 } 979 }
983 980
984 TEST_P(QuicSpdyStreamTest, WritingTrailersAfterFIN) { 981 TEST_P(QuicSpdyStreamTest, WritingTrailersAfterFIN) {
985 // Test that it is not possible to write Trailers after a FIN has been sent. 982 // Test that it is not possible to write Trailers after a FIN has been sent.
986 Initialize(kShouldProcessData); 983 Initialize(kShouldProcessData);
987 EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)) 984 EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _))
988 .Times(AnyNumber()) 985 .Times(AnyNumber())
989 .WillRepeatedly(Invoke(MockQuicSession::ConsumeAllData)); 986 .WillRepeatedly(Invoke(MockQuicSession::ConsumeAllData));
990 987
991 // Write the initial headers, with a FIN. 988 // Write the initial headers, with a FIN.
992 EXPECT_CALL(*session_, WriteHeadersMock(_, _, _, _, _)); 989 EXPECT_CALL(*session_, WriteHeadersMock(_, _, _, _, _));
993 stream_->WriteHeaders(SpdyHeaderBlock(), /*fin=*/true, nullptr); 990 stream_->WriteHeaders(SpdyHeaderBlock(), /*fin=*/true, nullptr);
994 EXPECT_TRUE(stream_->fin_sent()); 991 EXPECT_TRUE(stream_->fin_sent());
995 992
996 // Writing Trailers should fail, as the FIN has already been sent. 993 // Writing Trailers should fail, as the FIN has already been sent.
997 // populated with the number of body bytes written. 994 // populated with the number of body bytes written.
998 EXPECT_QUIC_BUG(stream_->WriteTrailers(SpdyHeaderBlock(), nullptr), 995 EXPECT_QUIC_BUG(stream_->WriteTrailers(SpdyHeaderBlock(), nullptr),
999 "Trailers cannot be sent after a FIN"); 996 "Trailers cannot be sent after a FIN");
1000 } 997 }
1001 998
1002 } // namespace 999 } // namespace
1003 } // namespace test 1000 } // namespace test
1004 } // namespace net 1001 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_spdy_stream.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698