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
diff --git a/webrtc/p2p/base/relayserver_unittest.cc b/webrtc/p2p/base/relayserver_unittest.cc
index 3349a17..0bff039 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 @@
 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 @@
     msg->AddAttribute(attr);
   }
 
-  rtc::Thread* main_;
-  rtc::SocketServer* ss_;
+  rtc::scoped_ptr<rtc::PhysicalSocketServer> pss_;
+  rtc::scoped_ptr<rtc::VirtualSocketServer> ss_;
+  rtc::SocketServerScope ss_scope_;
   rtc::scoped_ptr<RelayServer> server_;
   rtc::scoped_ptr<rtc::TestClient> client1_;
   rtc::scoped_ptr<rtc::TestClient> client2_;