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

Side by Side Diff: webrtc/base/virtualsocket_unittest.cc

Issue 1920043002: Replace scoped_ptr with unique_ptr in webrtc/base/ (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 4 years, 7 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 | « webrtc/base/thread_unittest.cc ('k') | webrtc/base/virtualsocketserver.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 /* 1 /*
2 * Copyright 2006 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2006 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include <math.h> 11 #include <math.h>
12 #include <time.h> 12 #include <time.h>
13 #if defined(WEBRTC_POSIX) 13 #if defined(WEBRTC_POSIX)
14 #include <netinet/in.h> 14 #include <netinet/in.h>
15 #endif 15 #endif
16 16
17 #include <memory>
18
17 #include "webrtc/base/arraysize.h" 19 #include "webrtc/base/arraysize.h"
18 #include "webrtc/base/logging.h" 20 #include "webrtc/base/logging.h"
19 #include "webrtc/base/gunit.h" 21 #include "webrtc/base/gunit.h"
20 #include "webrtc/base/testclient.h" 22 #include "webrtc/base/testclient.h"
21 #include "webrtc/base/testutils.h" 23 #include "webrtc/base/testutils.h"
22 #include "webrtc/base/thread.h" 24 #include "webrtc/base/thread.h"
23 #include "webrtc/base/timeutils.h" 25 #include "webrtc/base/timeutils.h"
24 #include "webrtc/base/virtualsocketserver.h" 26 #include "webrtc/base/virtualsocketserver.h"
25 27
26 using namespace rtc; 28 using namespace rtc;
(...skipping 29 matching lines...) Expand all
56 58
57 count += size; 59 count += size;
58 memcpy(dummy, &cur_time, sizeof(cur_time)); 60 memcpy(dummy, &cur_time, sizeof(cur_time));
59 socket->Send(dummy, size, options); 61 socket->Send(dummy, size, options);
60 62
61 last_send = cur_time; 63 last_send = cur_time;
62 thread->PostDelayed(NextDelay(), this, 1); 64 thread->PostDelayed(NextDelay(), this, 1);
63 } 65 }
64 66
65 Thread* thread; 67 Thread* thread;
66 scoped_ptr<AsyncUDPSocket> socket; 68 std::unique_ptr<AsyncUDPSocket> socket;
67 rtc::PacketOptions options; 69 rtc::PacketOptions options;
68 bool done; 70 bool done;
69 uint32_t rate; // bytes per second 71 uint32_t rate; // bytes per second
70 uint32_t count; 72 uint32_t count;
71 uint32_t last_send; 73 uint32_t last_send;
72 char dummy[4096]; 74 char dummy[4096];
73 }; 75 };
74 76
75 struct Receiver : public MessageHandler, public sigslot::has_slots<> { 77 struct Receiver : public MessageHandler, public sigslot::has_slots<> {
76 Receiver(Thread* th, AsyncSocket* s, uint32_t bw) 78 Receiver(Thread* th, AsyncSocket* s, uint32_t bw)
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 118
117 // It is always possible for us to receive more than expected because 119 // It is always possible for us to receive more than expected because
118 // packets can be further delayed in delivery. 120 // packets can be further delayed in delivery.
119 if (bandwidth > 0) 121 if (bandwidth > 0)
120 ASSERT_TRUE(sec_count <= 5 * bandwidth / 4); 122 ASSERT_TRUE(sec_count <= 5 * bandwidth / 4);
121 sec_count = 0; 123 sec_count = 0;
122 thread->PostDelayed(1000, this, 1); 124 thread->PostDelayed(1000, this, 1);
123 } 125 }
124 126
125 Thread* thread; 127 Thread* thread;
126 scoped_ptr<AsyncUDPSocket> socket; 128 std::unique_ptr<AsyncUDPSocket> socket;
127 uint32_t bandwidth; 129 uint32_t bandwidth;
128 bool done; 130 bool done;
129 size_t count; 131 size_t count;
130 size_t sec_count; 132 size_t sec_count;
131 double sum; 133 double sum;
132 double sum_sq; 134 double sum_sq;
133 uint32_t samples; 135 uint32_t samples;
134 }; 136 };
135 137
136 class VirtualSocketServerTest : public testing::Test { 138 class VirtualSocketServerTest : public testing::Test {
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 EXPECT_EQ(client->GetRemoteAddress(), nil_addr); 340 EXPECT_EQ(client->GetRemoteAddress(), nil_addr);
339 } 341 }
340 342
341 void CloseDuringConnectTest(const SocketAddress& initial_addr) { 343 void CloseDuringConnectTest(const SocketAddress& initial_addr) {
342 testing::StreamSink sink; 344 testing::StreamSink sink;
343 SocketAddress accept_addr; 345 SocketAddress accept_addr;
344 const SocketAddress empty_addr = 346 const SocketAddress empty_addr =
345 EmptySocketAddressWithFamily(initial_addr.family()); 347 EmptySocketAddressWithFamily(initial_addr.family());
346 348
347 // Create client and server 349 // Create client and server
348 scoped_ptr<AsyncSocket> client(ss_->CreateAsyncSocket(initial_addr.family(), 350 std::unique_ptr<AsyncSocket> client(
349 SOCK_STREAM)); 351 ss_->CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
350 sink.Monitor(client.get()); 352 sink.Monitor(client.get());
351 scoped_ptr<AsyncSocket> server(ss_->CreateAsyncSocket(initial_addr.family(), 353 std::unique_ptr<AsyncSocket> server(
352 SOCK_STREAM)); 354 ss_->CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
353 sink.Monitor(server.get()); 355 sink.Monitor(server.get());
354 356
355 // Initiate connect 357 // Initiate connect
356 EXPECT_EQ(0, server->Bind(initial_addr)); 358 EXPECT_EQ(0, server->Bind(initial_addr));
357 EXPECT_EQ(server->GetLocalAddress().family(), initial_addr.family()); 359 EXPECT_EQ(server->GetLocalAddress().family(), initial_addr.family());
358 360
359 EXPECT_EQ(0, server->Listen(5)); 361 EXPECT_EQ(0, server->Listen(5));
360 EXPECT_EQ(0, client->Connect(server->GetLocalAddress())); 362 EXPECT_EQ(0, client->Connect(server->GetLocalAddress()));
361 363
362 // Server close before socket enters accept queue 364 // Server close before socket enters accept queue
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 EXPECT_EQ(0, server->Bind(initial_addr)); 401 EXPECT_EQ(0, server->Bind(initial_addr));
400 EXPECT_EQ(server->GetLocalAddress().family(), initial_addr.family()); 402 EXPECT_EQ(server->GetLocalAddress().family(), initial_addr.family());
401 403
402 EXPECT_EQ(0, server->Listen(5)); 404 EXPECT_EQ(0, server->Listen(5));
403 EXPECT_EQ(0, client->Connect(server->GetLocalAddress())); 405 EXPECT_EQ(0, client->Connect(server->GetLocalAddress()));
404 406
405 ss_->ProcessMessagesUntilIdle(); 407 ss_->ProcessMessagesUntilIdle();
406 408
407 // Server accepts connection 409 // Server accepts connection
408 EXPECT_TRUE(sink.Check(server.get(), testing::SSE_READ)); 410 EXPECT_TRUE(sink.Check(server.get(), testing::SSE_READ));
409 scoped_ptr<AsyncSocket> accepted(server->Accept(&accept_addr)); 411 std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
410 ASSERT_TRUE(NULL != accepted.get()); 412 ASSERT_TRUE(NULL != accepted.get());
411 sink.Monitor(accepted.get()); 413 sink.Monitor(accepted.get());
412 414
413 // Client closes before connection complets 415 // Client closes before connection complets
414 EXPECT_EQ(accepted->GetState(), AsyncSocket::CS_CONNECTED); 416 EXPECT_EQ(accepted->GetState(), AsyncSocket::CS_CONNECTED);
415 417
416 // Connected message has not been processed yet. 418 // Connected message has not been processed yet.
417 EXPECT_EQ(client->GetState(), AsyncSocket::CS_CONNECTING); 419 EXPECT_EQ(client->GetState(), AsyncSocket::CS_CONNECTING);
418 client->Close(); 420 client->Close();
419 421
420 ss_->ProcessMessagesUntilIdle(); 422 ss_->ProcessMessagesUntilIdle();
421 423
422 // Result: accepted socket closes 424 // Result: accepted socket closes
423 EXPECT_EQ(accepted->GetState(), AsyncSocket::CS_CLOSED); 425 EXPECT_EQ(accepted->GetState(), AsyncSocket::CS_CLOSED);
424 EXPECT_TRUE(sink.Check(accepted.get(), testing::SSE_CLOSE)); 426 EXPECT_TRUE(sink.Check(accepted.get(), testing::SSE_CLOSE));
425 EXPECT_FALSE(sink.Check(client.get(), testing::SSE_CLOSE)); 427 EXPECT_FALSE(sink.Check(client.get(), testing::SSE_CLOSE));
426 } 428 }
427 429
428 void CloseTest(const SocketAddress& initial_addr) { 430 void CloseTest(const SocketAddress& initial_addr) {
429 testing::StreamSink sink; 431 testing::StreamSink sink;
430 const SocketAddress kEmptyAddr; 432 const SocketAddress kEmptyAddr;
431 433
432 // Create clients 434 // Create clients
433 AsyncSocket* a = ss_->CreateAsyncSocket(initial_addr.family(), SOCK_STREAM); 435 AsyncSocket* a = ss_->CreateAsyncSocket(initial_addr.family(), SOCK_STREAM);
434 sink.Monitor(a); 436 sink.Monitor(a);
435 a->Bind(initial_addr); 437 a->Bind(initial_addr);
436 EXPECT_EQ(a->GetLocalAddress().family(), initial_addr.family()); 438 EXPECT_EQ(a->GetLocalAddress().family(), initial_addr.family());
437 439
438 440 std::unique_ptr<AsyncSocket> b(
439 scoped_ptr<AsyncSocket> b(ss_->CreateAsyncSocket(initial_addr.family(), 441 ss_->CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
440 SOCK_STREAM));
441 sink.Monitor(b.get()); 442 sink.Monitor(b.get());
442 b->Bind(initial_addr); 443 b->Bind(initial_addr);
443 EXPECT_EQ(b->GetLocalAddress().family(), initial_addr.family()); 444 EXPECT_EQ(b->GetLocalAddress().family(), initial_addr.family());
444 445
445 EXPECT_EQ(0, a->Connect(b->GetLocalAddress())); 446 EXPECT_EQ(0, a->Connect(b->GetLocalAddress()));
446 EXPECT_EQ(0, b->Connect(a->GetLocalAddress())); 447 EXPECT_EQ(0, b->Connect(a->GetLocalAddress()));
447 448
448 ss_->ProcessMessagesUntilIdle(); 449 ss_->ProcessMessagesUntilIdle();
449 450
450 EXPECT_TRUE(sink.Check(a, testing::SSE_OPEN)); 451 EXPECT_TRUE(sink.Check(a, testing::SSE_OPEN));
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after
1051 << " N=" << kTestSamples[sidx]; 1052 << " N=" << kTestSamples[sidx];
1052 EXPECT_NEAR(kStdDev, stddev, 0.1 * kStdDev) 1053 EXPECT_NEAR(kStdDev, stddev, 0.1 * kStdDev)
1053 << "M=" << kTestMean[midx] 1054 << "M=" << kTestMean[midx]
1054 << " SD=" << kStdDev 1055 << " SD=" << kStdDev
1055 << " N=" << kTestSamples[sidx]; 1056 << " N=" << kTestSamples[sidx];
1056 delete f; 1057 delete f;
1057 } 1058 }
1058 } 1059 }
1059 } 1060 }
1060 } 1061 }
OLDNEW
« no previous file with comments | « webrtc/base/thread_unittest.cc ('k') | webrtc/base/virtualsocketserver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698