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

Side by Side Diff: net/url_request/url_request_unittest.h

Issue 10895: Add Terminate() to the Process object, have RenderProcessHost use this to avo... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « net/url_request/url_request.cc ('k') | webkit/glue/resource_handle_impl.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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #ifndef NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ 5 #ifndef NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_
6 #define NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ 6 #define NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_
7 7
8 #include <sstream> 8 #include <sstream>
9 #include <string> 9 #include <string>
10 10
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 bool received_data_before_response_; 178 bool received_data_before_response_;
179 bool request_failed_; 179 bool request_failed_;
180 std::string data_received_; 180 std::string data_received_;
181 181
182 // our read buffer 182 // our read buffer
183 char buf_[4096]; 183 char buf_[4096];
184 }; 184 };
185 185
186 // This object bounds the lifetime of an external python-based HTTP server 186 // This object bounds the lifetime of an external python-based HTTP server
187 // that can provide various responses useful for testing. 187 // that can provide various responses useful for testing.
188 class TestServer : public process_util::ProcessFilter { 188 class TestServer : public base::ProcessFilter {
189 public: 189 public:
190 TestServer(const std::wstring& document_root) 190 TestServer(const std::wstring& document_root)
191 : process_handle_(NULL), 191 : process_handle_(NULL),
192 is_shutdown_(true) { 192 is_shutdown_(true) {
193 Init(kDefaultHostName, kDefaultPort, document_root, std::wstring()); 193 Init(kDefaultHostName, kDefaultPort, document_root, std::wstring());
194 } 194 }
195 195
196 virtual ~TestServer() { 196 virtual ~TestServer() {
197 Shutdown(); 197 Shutdown();
198 } 198 }
199 199
200 // Implementation of ProcessFilter 200 // Implementation of ProcessFilter
201 virtual bool Includes(uint32 pid, uint32 parent_pid) const { 201 virtual bool Includes(uint32 pid, uint32 parent_pid) const {
202 // This function may be called after Shutdown(), in which process_handle_ is 202 // This function may be called after Shutdown(), in which process_handle_ is
203 // set to NULL. Since no process handle is set, it can't be included in the 203 // set to NULL. Since no process handle is set, it can't be included in the
204 // filter. 204 // filter.
205 if (!process_handle_) 205 if (!process_handle_)
206 return false; 206 return false;
207 // TODO(port): rationalize return value of GetProcId 207 // TODO(port): rationalize return value of GetProcId
208 return pid == (uint32)process_util::GetProcId(process_handle_); 208 return pid == (uint32)base::GetProcId(process_handle_);
209 } 209 }
210 210
211 GURL TestServerPage(const std::string& path) { 211 GURL TestServerPage(const std::string& path) {
212 return GURL(base_address_ + path); 212 return GURL(base_address_ + path);
213 } 213 }
214 214
215 GURL TestServerPageW(const std::wstring& path) { 215 GURL TestServerPageW(const std::wstring& path) {
216 return GURL(base_address_ + WideToUTF8(path)); 216 return GURL(base_address_ + WideToUTF8(path));
217 } 217 }
218 218
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 L"\"" + python_runtime_ + L"\" " + L"\"" + testserver_path + 286 L"\"" + python_runtime_ + L"\" " + L"\"" + testserver_path +
287 L"\" --port=" + UTF8ToWide(port_str) + L" --data-dir=\"" + 287 L"\" --port=" + UTF8ToWide(port_str) + L" --data-dir=\"" +
288 test_data_directory + L"\""; 288 test_data_directory + L"\"";
289 if (!cert_path.empty()) { 289 if (!cert_path.empty()) {
290 command_line.append(L" --https=\""); 290 command_line.append(L" --https=\"");
291 command_line.append(cert_path); 291 command_line.append(cert_path);
292 command_line.append(L"\""); 292 command_line.append(L"\"");
293 } 293 }
294 294
295 ASSERT_TRUE( 295 ASSERT_TRUE(
296 process_util::LaunchApp(command_line, false, true, &process_handle_)) << 296 base::LaunchApp(command_line, false, true, &process_handle_)) <<
297 "Failed to launch " << command_line; 297 "Failed to launch " << command_line;
298 #elif defined(OS_LINUX) 298 #elif defined(OS_LINUX)
299 bool tlslite_installed = !access("/usr/bin/tls.py", X_OK); 299 bool tlslite_installed = !access("/usr/bin/tls.py", X_OK);
300 ASSERT_TRUE(tlslite_installed) << "tlslite not installed? Please run 'pytho n setup.py install' in third_party/tlslite."; 300 ASSERT_TRUE(tlslite_installed) << "tlslite not installed? Please run 'pytho n setup.py install' in third_party/tlslite.";
301 301
302 std::vector<std::string> command_line; 302 std::vector<std::string> command_line;
303 command_line.push_back("python"); 303 command_line.push_back("python");
304 command_line.push_back(WideToUTF8(testserver_path)); 304 command_line.push_back(WideToUTF8(testserver_path));
305 command_line.push_back("--port=" + port_str); 305 command_line.push_back("--port=" + port_str);
306 command_line.push_back("--data-dir=" + WideToUTF8(test_data_directory)); 306 command_line.push_back("--data-dir=" + WideToUTF8(test_data_directory));
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 if (process_handle_) { 350 if (process_handle_) {
351 #if defined(OS_WIN) 351 #if defined(OS_WIN)
352 CloseHandle(process_handle_); 352 CloseHandle(process_handle_);
353 #endif 353 #endif
354 process_handle_ = NULL; 354 process_handle_ = NULL;
355 } 355 }
356 356
357 // Make sure we don't leave any stray testserver processes laying around. 357 // Make sure we don't leave any stray testserver processes laying around.
358 std::wstring testserver_name = 358 std::wstring testserver_name =
359 file_util::GetFilenameFromPath(python_runtime_); 359 file_util::GetFilenameFromPath(python_runtime_);
360 process_util::CleanupProcesses(testserver_name, 10000, 1, this); 360 base::CleanupProcesses(testserver_name, 10000, 1, this);
361 EXPECT_EQ(0, process_util::GetProcessCount(testserver_name, this)); 361 EXPECT_EQ(0, base::GetProcessCount(testserver_name, this));
362 362
363 is_shutdown_ = true; 363 is_shutdown_ = true;
364 } 364 }
365 365
366 private: 366 private:
367 // Used by MakeGETRequest to implement sync load behavior. 367 // Used by MakeGETRequest to implement sync load behavior.
368 class SyncTestDelegate : public TestDelegate { 368 class SyncTestDelegate : public TestDelegate {
369 public: 369 public:
370 SyncTestDelegate() : event_(false, false), success_(false) { 370 SyncTestDelegate() : event_(false, false), success_(false) {
371 } 371 }
(...skipping 12 matching lines...) Expand all
384 static void StartGETRequest(const GURL& url, URLRequest::Delegate* delegate) { 384 static void StartGETRequest(const GURL& url, URLRequest::Delegate* delegate) {
385 URLRequest* request = new URLRequest(url, delegate); 385 URLRequest* request = new URLRequest(url, delegate);
386 request->set_context(new TestURLRequestContext()); 386 request->set_context(new TestURLRequestContext());
387 request->set_method("GET"); 387 request->set_method("GET");
388 request->Start(); 388 request->Start();
389 EXPECT_TRUE(request->is_pending()); 389 EXPECT_TRUE(request->is_pending());
390 } 390 }
391 391
392 std::string base_address_; 392 std::string base_address_;
393 std::wstring python_runtime_; 393 std::wstring python_runtime_;
394 ProcessHandle process_handle_; 394 base::ProcessHandle process_handle_;
395 bool is_shutdown_; 395 bool is_shutdown_;
396 }; 396 };
397 397
398 class HTTPSTestServer : public TestServer { 398 class HTTPSTestServer : public TestServer {
399 public: 399 public:
400 HTTPSTestServer(const std::string& host_name, int port, 400 HTTPSTestServer(const std::string& host_name, int port,
401 const std::wstring& document_root, 401 const std::wstring& document_root,
402 const std::wstring& cert_path) : TestServer(ManualInit()) { 402 const std::wstring& cert_path) : TestServer(ManualInit()) {
403 Init(host_name, port, document_root, cert_path); 403 Init(host_name, port, document_root, cert_path);
404 } 404 }
405 405
406 virtual std::string scheme() { return std::string("https"); } 406 virtual std::string scheme() { return std::string("https"); }
407 }; 407 };
408 408
409 #endif // NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_ 409 #endif // NET_URL_REQUEST_URL_REQUEST_UNITTEST_H_
410 410
OLDNEW
« no previous file with comments | « net/url_request/url_request.cc ('k') | webkit/glue/resource_handle_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698