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

Side by Side Diff: chrome/common/ipc_tests.cc

Issue 18003: Call logging::InitLogging. The lack of this was causing some hangs (and poss... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « base/test_suite.h ('k') | chrome/installer/util/run_all_unittests.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 #if defined(OS_WIN) 5 #if defined(OS_WIN)
6 #include <windows.h> 6 #include <windows.h>
7 #endif 7 #endif
8 #include <stdio.h> 8 #include <stdio.h>
9 #include <iostream> 9 #include <iostream>
10 #include <string> 10 #include <string>
11 11
12 #include "chrome/common/ipc_tests.h" 12 #include "chrome/common/ipc_tests.h"
13 13
14 #include "base/at_exit.h" 14 #include "base/at_exit.h"
15 #include "base/base_switches.h" 15 #include "base/base_switches.h"
16 #include "base/command_line.h" 16 #include "base/command_line.h"
17 #include "base/debug_on_start.h" 17 #include "base/debug_on_start.h"
18 #include "base/perftimer.h" 18 #include "base/perftimer.h"
19 #include "base/process_util.h" 19 #include "base/perf_test_suite.h"
20 #include "base/scoped_nsautorelease_pool.h"
21 #include "base/test_suite.h" 20 #include "base/test_suite.h"
22 #include "base/thread.h" 21 #include "base/thread.h"
23 #include "chrome/common/chrome_switches.h" 22 #include "chrome/common/chrome_switches.h"
24 #include "chrome/common/ipc_channel.h" 23 #include "chrome/common/ipc_channel.h"
25 #include "chrome/common/ipc_channel_proxy.h" 24 #include "chrome/common/ipc_channel_proxy.h"
26 #include "chrome/common/ipc_message_utils.h" 25 #include "chrome/common/ipc_message_utils.h"
27 #include "testing/multiprocess_func_list.h" 26 #include "testing/multiprocess_func_list.h"
28 27
29 // Define to enable IPC performance testing instead of the regular unit tests 28 // Define to enable IPC performance testing instead of the regular unit tests
30 // #define PERFORMANCE_TEST 29 // #define PERFORMANCE_TEST
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 ChannelReflectorListener channel_reflector_listener(&chan); 427 ChannelReflectorListener channel_reflector_listener(&chan);
429 chan.set_listener(&channel_reflector_listener); 428 chan.set_listener(&channel_reflector_listener);
430 chan.Connect(); 429 chan.Connect();
431 430
432 MessageLoop::current()->Run(); 431 MessageLoop::current()->Run();
433 return true; 432 return true;
434 } 433 }
435 434
436 #endif // PERFORMANCE_TEST 435 #endif // PERFORMANCE_TEST
437 436
438 #if defined(OS_WIN)
439 // All fatal log messages (e.g. DCHECK failures) imply unit test failures
440 static void IPCTestAssertHandler(const std::string& str) {
441 FAIL() << str;
442 }
443
444 // Disable crash dialogs so that it doesn't gum up the buildbot
445 static void SuppressErrorDialogs() {
446 UINT new_flags = SEM_FAILCRITICALERRORS |
447 SEM_NOGPFAULTERRORBOX |
448 SEM_NOOPENFILEERRORBOX;
449
450 // Preserve existing error mode, as discussed at http://t/dmea
451 UINT existing_flags = SetErrorMode(new_flags);
452 SetErrorMode(existing_flags | new_flags);
453 }
454 #endif // defined(OS_WIN)
455
456 int main(int argc, char** argv) { 437 int main(int argc, char** argv) {
457 base::ScopedNSAutoreleasePool scoped_pool; 438 #ifdef PERFORMANCE_TEST
458 base::EnableTerminationOnHeapCorruption(); 439 int retval = PerfTestSuite(argc, argv).Run();
459 440 #else
460 #if defined(OS_WIN)
461 // suppress standard crash dialogs and such unless a debugger is present.
462 if (!IsDebuggerPresent()) {
463 SuppressErrorDialogs();
464 logging::SetLogAssertHandler(IPCTestAssertHandler);
465 }
466 #endif // defined(OS_WIN)
467
468 int retval = TestSuite(argc, argv).Run(); 441 int retval = TestSuite(argc, argv).Run();
469
470 #ifdef PERFORMANCE_TEST
471 if (!InitPerfLog("ipc_perf_child.log"))
472 return 1;
473 #endif 442 #endif
474 return retval; 443 return retval;
475 } 444 }
OLDNEW
« no previous file with comments | « base/test_suite.h ('k') | chrome/installer/util/run_all_unittests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698