From 53cb74107f9ae07b0e2d04dd41d29248f55cec56 Mon Sep 17 00:00:00 2001 From: "pbos@webrtc.org" Date: Mon, 22 Dec 2014 07:56:42 +0000 Subject: [PATCH] Make RelayServerTest use VirtualSocketServer. Permits running the tests in parallel. R=juberti@webrtc.org BUG=2597 TEST=third_party/gtest-parallel/gtest-parallel -w64 out/Debug/rtc_unittests --gtest_filter=RelayServerTest.* Review URL: https://webrtc-codereview.appspot.com/38479004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7974 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/p2p/base/relayserver_unittest.cc | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/webrtc/p2p/base/relayserver_unittest.cc b/webrtc/p2p/base/relayserver_unittest.cc index 3349a1730..0bff03999 100644 --- a/webrtc/p2p/base/relayserver_unittest.cc +++ b/webrtc/p2p/base/relayserver_unittest.cc @@ -19,6 +19,7 @@ #include "webrtc/base/ssladapter.h" #include "webrtc/base/testclient.h" #include "webrtc/base/thread.h" +#include "webrtc/base/virtualsocketserver.h" using rtc::SocketAddress; using namespace cricket; @@ -37,23 +38,25 @@ static const char* msg2 = "Lobster Thermidor a Crevette with a mornay sauce..."; class RelayServerTest : public testing::Test { public: RelayServerTest() - : main_(rtc::Thread::Current()), ss_(main_->socketserver()), + : pss_(new rtc::PhysicalSocketServer), + ss_(new rtc::VirtualSocketServer(pss_.get())), + ss_scope_(ss_.get()), username_(rtc::CreateRandomString(12)), - password_(rtc::CreateRandomString(12)) { - } + password_(rtc::CreateRandomString(12)) {} + protected: virtual void SetUp() { - server_.reset(new RelayServer(main_)); + server_.reset(new RelayServer(rtc::Thread::Current())); server_->AddInternalSocket( - rtc::AsyncUDPSocket::Create(ss_, server_int_addr)); + rtc::AsyncUDPSocket::Create(ss_.get(), server_int_addr)); server_->AddExternalSocket( - rtc::AsyncUDPSocket::Create(ss_, server_ext_addr)); + rtc::AsyncUDPSocket::Create(ss_.get(), server_ext_addr)); client1_.reset(new rtc::TestClient( - rtc::AsyncUDPSocket::Create(ss_, client1_addr))); + rtc::AsyncUDPSocket::Create(ss_.get(), client1_addr))); client2_.reset(new rtc::TestClient( - rtc::AsyncUDPSocket::Create(ss_, client2_addr))); + rtc::AsyncUDPSocket::Create(ss_.get(), client2_addr))); } void Allocate() { @@ -159,8 +162,9 @@ class RelayServerTest : public testing::Test { msg->AddAttribute(attr); } - rtc::Thread* main_; - rtc::SocketServer* ss_; + rtc::scoped_ptr pss_; + rtc::scoped_ptr ss_; + rtc::SocketServerScope ss_scope_; rtc::scoped_ptr server_; rtc::scoped_ptr client1_; rtc::scoped_ptr client2_;