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

Side by Side Diff: net/spdy/chromium/spdy_network_transaction_unittest.cc

Issue 2936663002: Simplify CombineFrames() interface. (Closed)
Patch Set: Re: #7. Created 3 years, 6 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/http/bidirectional_stream_unittest.cc ('k') | net/spdy/chromium/spdy_session_unittest.cc » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <cmath> 5 #include <cmath>
6 #include <memory> 6 #include <memory>
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 3588 matching lines...) Expand 10 before | Expand all | Expand 10 after
3599 TEST_F(SpdyNetworkTransactionTest, BufferFull) { 3599 TEST_F(SpdyNetworkTransactionTest, BufferFull) {
3600 SpdySerializedFrame req( 3600 SpdySerializedFrame req(
3601 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 3601 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
3602 MockWrite writes[] = {CreateMockWrite(req, 0)}; 3602 MockWrite writes[] = {CreateMockWrite(req, 0)};
3603 3603
3604 // 2 data frames in a single read. 3604 // 2 data frames in a single read.
3605 SpdySerializedFrame data_frame_1( 3605 SpdySerializedFrame data_frame_1(
3606 spdy_util_.ConstructSpdyDataFrame(1, "goodby", 6, /*fin=*/false)); 3606 spdy_util_.ConstructSpdyDataFrame(1, "goodby", 6, /*fin=*/false));
3607 SpdySerializedFrame data_frame_2( 3607 SpdySerializedFrame data_frame_2(
3608 spdy_util_.ConstructSpdyDataFrame(1, "e worl", 6, /*fin=*/false)); 3608 spdy_util_.ConstructSpdyDataFrame(1, "e worl", 6, /*fin=*/false));
3609 const SpdySerializedFrame* data_frames[2] = { 3609 SpdySerializedFrame combined_data_frames =
3610 &data_frame_1, &data_frame_2, 3610 CombineFrames({&data_frame_1, &data_frame_2});
3611 }; 3611
3612 char combined_data_frames[100];
3613 int combined_data_frames_len =
3614 CombineFrames(data_frames, arraysize(data_frames),
3615 combined_data_frames, arraysize(combined_data_frames));
3616 SpdySerializedFrame last_frame( 3612 SpdySerializedFrame last_frame(
3617 spdy_util_.ConstructSpdyDataFrame(1, "d", 1, /*fin=*/true)); 3613 spdy_util_.ConstructSpdyDataFrame(1, "d", 1, /*fin=*/true));
3618 3614
3619 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); 3615 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3620 MockRead reads[] = { 3616 MockRead reads[] = {
3621 CreateMockRead(resp, 1), 3617 CreateMockRead(resp, 1),
3622 MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause 3618 MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause
3623 MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), 3619 CreateMockRead(combined_data_frames, 3),
3624 MockRead(ASYNC, ERR_IO_PENDING, 4), // Force a pause 3620 MockRead(ASYNC, ERR_IO_PENDING, 4), // Force a pause
3625 CreateMockRead(last_frame, 5), 3621 CreateMockRead(last_frame, 5),
3626 MockRead(ASYNC, 0, 6) // EOF 3622 MockRead(ASYNC, 0, 6) // EOF
3627 }; 3623 };
3628 3624
3629 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 3625 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
3630 3626
3631 TestCompletionCallback callback; 3627 TestCompletionCallback callback;
3632 3628
3633 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, 3629 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
3689 TEST_F(SpdyNetworkTransactionTest, Buffering) { 3685 TEST_F(SpdyNetworkTransactionTest, Buffering) {
3690 SpdySerializedFrame req( 3686 SpdySerializedFrame req(
3691 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 3687 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
3692 MockWrite writes[] = {CreateMockWrite(req, 0)}; 3688 MockWrite writes[] = {CreateMockWrite(req, 0)};
3693 3689
3694 // 4 data frames in a single read. 3690 // 4 data frames in a single read.
3695 SpdySerializedFrame data_frame( 3691 SpdySerializedFrame data_frame(
3696 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); 3692 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false));
3697 SpdySerializedFrame data_frame_fin( 3693 SpdySerializedFrame data_frame_fin(
3698 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/true)); 3694 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/true));
3699 const SpdySerializedFrame* data_frames[4] = {&data_frame, &data_frame, 3695 SpdySerializedFrame combined_data_frames =
3700 &data_frame, &data_frame_fin}; 3696 CombineFrames({&data_frame, &data_frame, &data_frame, &data_frame_fin});
3701 char combined_data_frames[100];
3702 int combined_data_frames_len =
3703 CombineFrames(data_frames, arraysize(data_frames),
3704 combined_data_frames, arraysize(combined_data_frames));
3705 3697
3706 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); 3698 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3707 MockRead reads[] = { 3699 MockRead reads[] = {
3708 CreateMockRead(resp, 1), 3700 CreateMockRead(resp, 1),
3709 MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause 3701 MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause
3710 MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), 3702 CreateMockRead(combined_data_frames, 3), MockRead(ASYNC, 0, 4) // EOF
3711 MockRead(ASYNC, 0, 4) // EOF
3712 }; 3703 };
3713 3704
3714 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 3705 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
3715 3706
3716 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, 3707 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY,
3717 NetLogWithSource(), nullptr); 3708 NetLogWithSource(), nullptr);
3718 helper.RunPreTestSetup(); 3709 helper.RunPreTestSetup();
3719 helper.AddData(&data); 3710 helper.AddData(&data);
3720 HttpNetworkTransaction* trans = helper.trans(); 3711 HttpNetworkTransaction* trans = helper.trans();
3721 3712
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
3778 SpdySerializedFrame req( 3769 SpdySerializedFrame req(
3779 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 3770 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
3780 MockWrite writes[] = {CreateMockWrite(req, 0)}; 3771 MockWrite writes[] = {CreateMockWrite(req, 0)};
3781 3772
3782 // 5 data frames in a single read. 3773 // 5 data frames in a single read.
3783 SpdySerializedFrame reply(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); 3774 SpdySerializedFrame reply(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3784 SpdySerializedFrame data_frame( 3775 SpdySerializedFrame data_frame(
3785 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); 3776 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false));
3786 SpdySerializedFrame data_frame_fin( 3777 SpdySerializedFrame data_frame_fin(
3787 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/true)); 3778 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/true));
3788 const SpdySerializedFrame* frames[5] = {&reply, &data_frame, &data_frame, 3779 SpdySerializedFrame combined_frames = CombineFrames(
3789 &data_frame, &data_frame_fin}; 3780 {&reply, &data_frame, &data_frame, &data_frame, &data_frame_fin});
3790 char combined_frames[200];
3791 int combined_frames_len =
3792 CombineFrames(frames, arraysize(frames),
3793 combined_frames, arraysize(combined_frames));
3794 3781
3795 MockRead reads[] = { 3782 MockRead reads[] = {
3796 MockRead(ASYNC, combined_frames, combined_frames_len, 1), 3783 CreateMockRead(combined_frames, 1), MockRead(ASYNC, 0, 2) // EOF
3797 MockRead(ASYNC, 0, 2) // EOF
3798 }; 3784 };
3799 3785
3800 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 3786 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
3801 3787
3802 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, 3788 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY,
3803 NetLogWithSource(), nullptr); 3789 NetLogWithSource(), nullptr);
3804 helper.RunPreTestSetup(); 3790 helper.RunPreTestSetup();
3805 helper.AddData(&data); 3791 helper.AddData(&data);
3806 HttpNetworkTransaction* trans = helper.trans(); 3792 HttpNetworkTransaction* trans = helper.trans();
3807 3793
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
3858 // Verify the case where we buffer data and close the connection. 3844 // Verify the case where we buffer data and close the connection.
3859 TEST_F(SpdyNetworkTransactionTest, BufferedClosed) { 3845 TEST_F(SpdyNetworkTransactionTest, BufferedClosed) {
3860 SpdySerializedFrame req( 3846 SpdySerializedFrame req(
3861 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 3847 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
3862 MockWrite writes[] = {CreateMockWrite(req, 0)}; 3848 MockWrite writes[] = {CreateMockWrite(req, 0)};
3863 3849
3864 // All data frames in a single read. 3850 // All data frames in a single read.
3865 // NOTE: We don't FIN the stream. 3851 // NOTE: We don't FIN the stream.
3866 SpdySerializedFrame data_frame( 3852 SpdySerializedFrame data_frame(
3867 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); 3853 spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false));
3868 const SpdySerializedFrame* data_frames[4] = {&data_frame, &data_frame, 3854 SpdySerializedFrame combined_data_frames =
3869 &data_frame, &data_frame}; 3855 CombineFrames({&data_frame, &data_frame, &data_frame, &data_frame});
3870 char combined_data_frames[100];
3871 int combined_data_frames_len =
3872 CombineFrames(data_frames, arraysize(data_frames),
3873 combined_data_frames, arraysize(combined_data_frames));
3874 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); 3856 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
3875 MockRead reads[] = { 3857 MockRead reads[] = {
3876 CreateMockRead(resp, 1), 3858 CreateMockRead(resp, 1),
3877 MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a wait 3859 MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a wait
3878 MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), 3860 CreateMockRead(combined_data_frames, 3), MockRead(ASYNC, 0, 4) // EOF
3879 MockRead(ASYNC, 0, 4) // EOF
3880 }; 3861 };
3881 3862
3882 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 3863 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
3883 3864
3884 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, 3865 NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY,
3885 NetLogWithSource(), nullptr); 3866 NetLogWithSource(), nullptr);
3886 helper.RunPreTestSetup(); 3867 helper.RunPreTestSetup();
3887 helper.AddData(&data); 3868 helper.AddData(&data);
3888 HttpNetworkTransaction* trans = helper.trans(); 3869 HttpNetworkTransaction* trans = helper.trans();
3889 3870
(...skipping 1744 matching lines...) Expand 10 before | Expand all | Expand 10 after
5634 kSpdyMaxConcurrentPushedStreams; 5615 kSpdyMaxConcurrentPushedStreams;
5635 initial_settings[SETTINGS_INITIAL_WINDOW_SIZE] = stream_max_recv_window_size; 5616 initial_settings[SETTINGS_INITIAL_WINDOW_SIZE] = stream_max_recv_window_size;
5636 SpdySerializedFrame initial_settings_frame( 5617 SpdySerializedFrame initial_settings_frame(
5637 spdy_util_.ConstructSpdySettings(initial_settings)); 5618 spdy_util_.ConstructSpdySettings(initial_settings));
5638 5619
5639 SpdySerializedFrame initial_window_update( 5620 SpdySerializedFrame initial_window_update(
5640 spdy_util_.ConstructSpdyWindowUpdate( 5621 spdy_util_.ConstructSpdyWindowUpdate(
5641 kSessionFlowControlStreamId, 5622 kSessionFlowControlStreamId,
5642 session_max_recv_window_size - kDefaultInitialWindowSize)); 5623 session_max_recv_window_size - kDefaultInitialWindowSize));
5643 5624
5644 const SpdySerializedFrame* frames[3] = {&preface, &initial_settings_frame, 5625 SpdySerializedFrame combined_frames = CombineFrames(
5645 &initial_window_update}; 5626 {&preface, &initial_settings_frame, &initial_window_update});
5646 char combined_frames[100];
5647 int combined_frames_len = CombineFrames(
5648 frames, arraysize(frames), combined_frames, arraysize(combined_frames));
5649 5627
5650 std::vector<MockWrite> writes; 5628 std::vector<MockWrite> writes;
5651 writes.push_back(MockWrite(ASYNC, combined_frames, combined_frames_len)); 5629 writes.push_back(CreateMockWrite(combined_frames));
5652 5630
5653 SpdySerializedFrame req( 5631 SpdySerializedFrame req(
5654 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); 5632 spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
5655 writes.push_back(CreateMockWrite(req, writes.size())); 5633 writes.push_back(CreateMockWrite(req, writes.size()));
5656 5634
5657 std::vector<MockRead> reads; 5635 std::vector<MockRead> reads;
5658 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); 5636 SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1));
5659 reads.push_back(CreateMockRead(resp, writes.size() + reads.size())); 5637 reads.push_back(CreateMockRead(resp, writes.size() + reads.size()));
5660 5638
5661 std::vector<SpdySerializedFrame> body_frames; 5639 std::vector<SpdySerializedFrame> body_frames;
(...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after
6641 6619
6642 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { 6620 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) {
6643 auto ssl_provider = base::MakeUnique<SSLSocketDataProvider>(ASYNC, OK); 6621 auto ssl_provider = base::MakeUnique<SSLSocketDataProvider>(ASYNC, OK);
6644 // Set to TLS_RSA_WITH_NULL_MD5 6622 // Set to TLS_RSA_WITH_NULL_MD5
6645 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); 6623 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status);
6646 6624
6647 RunTLSUsageCheckTest(std::move(ssl_provider)); 6625 RunTLSUsageCheckTest(std::move(ssl_provider));
6648 } 6626 }
6649 6627
6650 } // namespace net 6628 } // namespace net
OLDNEW
« no previous file with comments | « net/http/bidirectional_stream_unittest.cc ('k') | net/spdy/chromium/spdy_session_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698