| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/guid.h" | 8 #include "base/guid.h" |
| 9 #include "base/location.h" | 9 #include "base/location.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/single_thread_task_runner.h" |
| 11 #include "base/sync_socket.h" | 11 #include "base/sync_socket.h" |
| 12 #include "base/synchronization/waitable_event.h" | 12 #include "base/synchronization/waitable_event.h" |
| 13 #include "base/threading/thread.h" | 13 #include "base/threading/thread.h" |
| 14 #include "base/time/time.h" | 14 #include "base/time/time.h" |
| 15 #include "chrome/test/chromedriver/chrome/status.h" | 15 #include "chrome/test/chromedriver/chrome/status.h" |
| 16 #include "chrome/test/chromedriver/net/port_server.h" | 16 #include "chrome/test/chromedriver/net/port_server.h" |
| 17 #include "net/base/sys_addrinfo.h" | 17 #include "net/base/sys_addrinfo.h" |
| 18 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
| 19 | 19 |
| 20 #if defined(OS_LINUX) | 20 #if defined(OS_LINUX) |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 class PortServerTest : public testing::Test { | 117 class PortServerTest : public testing::Test { |
| 118 public: | 118 public: |
| 119 PortServerTest() : thread_("server") { | 119 PortServerTest() : thread_("server") { |
| 120 EXPECT_TRUE(thread_.Start()); | 120 EXPECT_TRUE(thread_.Start()); |
| 121 } | 121 } |
| 122 | 122 |
| 123 void RunServer(const std::string& path, | 123 void RunServer(const std::string& path, |
| 124 const std::string& response, | 124 const std::string& response, |
| 125 std::string* request) { | 125 std::string* request) { |
| 126 base::WaitableEvent listen_event(false, false); | 126 base::WaitableEvent listen_event(false, false); |
| 127 thread_.message_loop()->PostTask( | 127 thread_.task_runner()->PostTask( |
| 128 FROM_HERE, | 128 FROM_HERE, |
| 129 base::Bind( | 129 base::Bind(&RunServerOnThread, path, response, &listen_event, request)); |
| 130 &RunServerOnThread, path, response, &listen_event, request)); | |
| 131 ASSERT_TRUE(listen_event.TimedWait(base::TimeDelta::FromSeconds(5))); | 130 ASSERT_TRUE(listen_event.TimedWait(base::TimeDelta::FromSeconds(5))); |
| 132 } | 131 } |
| 133 | 132 |
| 134 private: | 133 private: |
| 135 base::Thread thread_; | 134 base::Thread thread_; |
| 136 }; | 135 }; |
| 137 | 136 |
| 138 TEST_F(PortServerTest, Reserve) { | 137 TEST_F(PortServerTest, Reserve) { |
| 139 std::string path = GenerateRandomPath(); | 138 std::string path = GenerateRandomPath(); |
| 140 PortServer server(path); | 139 PortServer server(path); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 Status status = mgr.ReservePortFromPool(&port, &reservation); | 207 Status status = mgr.ReservePortFromPool(&port, &reservation); |
| 209 ASSERT_EQ(kOk, status.code()) << status.message(); | 208 ASSERT_EQ(kOk, status.code()) << status.message(); |
| 210 ASSERT_TRUE(reservation); | 209 ASSERT_TRUE(reservation); |
| 211 ASSERT_GE(port, 15000); | 210 ASSERT_GE(port, 15000); |
| 212 ASSERT_LE(port, 16000); | 211 ASSERT_LE(port, 16000); |
| 213 if (i == 0) | 212 if (i == 0) |
| 214 first_port = port; | 213 first_port = port; |
| 215 ASSERT_EQ(port, first_port); | 214 ASSERT_EQ(port, first_port); |
| 216 } | 215 } |
| 217 } | 216 } |
| OLD | NEW |