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

Side by Side Diff: net/spdy/bidirectional_stream_spdy_impl_unittest.cc

Issue 2675593002: Spdy{RstStream,GoAway}Status -> SpdyErrorCode. (Closed)
Patch Set: Merged master, which includes 145087791. Created 3 years, 10 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_session.cc ('k') | net/spdy/buffered_spdy_framer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/spdy/bidirectional_stream_spdy_impl.h" 5 #include "net/spdy/bidirectional_stream_spdy_impl.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 TestLoadTimingNotReused(load_timing_info); 378 TestLoadTimingNotReused(load_timing_info);
379 LoadTimingInfo load_timing_info2; 379 LoadTimingInfo load_timing_info2;
380 EXPECT_TRUE(delegate2->GetLoadTimingInfo(&load_timing_info2)); 380 EXPECT_TRUE(delegate2->GetLoadTimingInfo(&load_timing_info2));
381 TestLoadTimingReused(load_timing_info2); 381 TestLoadTimingReused(load_timing_info2);
382 } 382 }
383 383
384 TEST_F(BidirectionalStreamSpdyImplTest, SendDataAfterStreamFailed) { 384 TEST_F(BidirectionalStreamSpdyImplTest, SendDataAfterStreamFailed) {
385 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost( 385 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost(
386 kDefaultUrl, 1, kBodyDataSize * 3, LOW, nullptr, 0)); 386 kDefaultUrl, 1, kBodyDataSize * 3, LOW, nullptr, 0));
387 SpdySerializedFrame rst( 387 SpdySerializedFrame rst(
388 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_PROTOCOL_ERROR)); 388 spdy_util_.ConstructSpdyRstStream(1, ERROR_CODE_PROTOCOL_ERROR));
389 389
390 MockWrite writes[] = { 390 MockWrite writes[] = {
391 CreateMockWrite(req, 0), CreateMockWrite(rst, 2), 391 CreateMockWrite(req, 0), CreateMockWrite(rst, 2),
392 }; 392 };
393 393
394 const char* const kExtraHeaders[] = {"X-UpperCase", "yes"}; 394 const char* const kExtraHeaders[] = {"X-UpperCase", "yes"};
395 SpdySerializedFrame resp( 395 SpdySerializedFrame resp(
396 spdy_util_.ConstructSpdyGetReply(kExtraHeaders, 1, 1)); 396 spdy_util_.ConstructSpdyGetReply(kExtraHeaders, 1, 1));
397 397
398 MockRead reads[] = { 398 MockRead reads[] = {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 // Tests that when received RST_STREAM with NO_ERROR, BidirectionalStream does 439 // Tests that when received RST_STREAM with NO_ERROR, BidirectionalStream does
440 // not crash when processing pending writes. See crbug.com/650438. 440 // not crash when processing pending writes. See crbug.com/650438.
441 TEST_P(BidirectionalStreamSpdyImplTest, RstWithNoErrorBeforeSendIsComplete) { 441 TEST_P(BidirectionalStreamSpdyImplTest, RstWithNoErrorBeforeSendIsComplete) {
442 bool is_test_sendv = GetParam(); 442 bool is_test_sendv = GetParam();
443 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost( 443 SpdySerializedFrame req(spdy_util_.ConstructSpdyPost(
444 kDefaultUrl, 1, kBodyDataSize * 3, LOW, nullptr, 0)); 444 kDefaultUrl, 1, kBodyDataSize * 3, LOW, nullptr, 0));
445 MockWrite writes[] = {CreateMockWrite(req, 0)}; 445 MockWrite writes[] = {CreateMockWrite(req, 0)};
446 446
447 SpdySerializedFrame resp(spdy_util_.ConstructSpdyPostReply(nullptr, 0)); 447 SpdySerializedFrame resp(spdy_util_.ConstructSpdyPostReply(nullptr, 0));
448 SpdySerializedFrame rst( 448 SpdySerializedFrame rst(
449 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_NO_ERROR)); 449 spdy_util_.ConstructSpdyRstStream(1, ERROR_CODE_NO_ERROR));
450 MockRead reads[] = {CreateMockRead(resp, 1), 450 MockRead reads[] = {CreateMockRead(resp, 1),
451 MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause. 451 MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause.
452 CreateMockRead(rst, 3), MockRead(ASYNC, 0, 4)}; 452 CreateMockRead(rst, 3), MockRead(ASYNC, 0, 4)};
453 453
454 InitSession(reads, arraysize(reads), writes, arraysize(writes)); 454 InitSession(reads, arraysize(reads), writes, arraysize(writes));
455 455
456 BidirectionalStreamRequestInfo request_info; 456 BidirectionalStreamRequestInfo request_info;
457 request_info.method = "POST"; 457 request_info.method = "POST";
458 request_info.url = default_url_; 458 request_info.url = default_url_;
459 request_info.extra_headers.SetHeader(net::HttpRequestHeaders::kContentLength, 459 request_info.extra_headers.SetHeader(net::HttpRequestHeaders::kContentLength,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 } else { 513 } else {
514 delegate->SendData(write_buffer.get(), write_buffer->size(), true); 514 delegate->SendData(write_buffer.get(), write_buffer->size(), true);
515 } 515 }
516 base::RunLoop().RunUntilIdle(); 516 base::RunLoop().RunUntilIdle();
517 EXPECT_THAT(delegate->error(), IsError(ERR_UNEXPECTED)); 517 EXPECT_THAT(delegate->error(), IsError(ERR_UNEXPECTED));
518 EXPECT_TRUE(delegate->on_failed_called()); 518 EXPECT_TRUE(delegate->on_failed_called());
519 EXPECT_EQ(is_test_sendv ? 2 : 4, delegate->on_data_sent_count()); 519 EXPECT_EQ(is_test_sendv ? 2 : 4, delegate->on_data_sent_count());
520 } 520 }
521 521
522 } // namespace net 522 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_spdy_session.cc ('k') | net/spdy/buffered_spdy_framer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698