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

Side by Side Diff: chrome/test/ui/ui_test.cc

Issue 4724004: Group commandline settings in UI test and in process browser test. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync to head Created 10 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 | « chrome/test/ui/ui_test.h ('k') | no next file » | 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/test/ui/ui_test.h" 5 #include "chrome/test/ui/ui_test.h"
6 6
7 #if defined(OS_POSIX) 7 #if defined(OS_POSIX)
8 #include <signal.h> 8 #include <signal.h>
9 #include <sys/types.h> 9 #include <sys/types.h>
10 #endif 10 #endif
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 case UITestBase::CUSTOM_FRAME_NATIVE_THEME: 654 case UITestBase::CUSTOM_FRAME_NATIVE_THEME:
655 source_history_file = 655 source_history_file =
656 source_history_file.AppendASCII("custom_frame_gtk_theme"); 656 source_history_file.AppendASCII("custom_frame_gtk_theme");
657 break; 657 break;
658 default: 658 default:
659 NOTREACHED(); 659 NOTREACHED();
660 } 660 }
661 return source_history_file; 661 return source_history_file;
662 } 662 }
663 663
664 bool UITestBase::LaunchBrowserHelper(const CommandLine& arguments, 664 void UITestBase::PrepareTestCommandline(CommandLine* command_line) {
665 bool wait, 665 // Propagate commandline settings from test_launcher_utils.
666 base::ProcessHandle* process) { 666 test_launcher_utils::PrepareBrowserCommandLineForTests(command_line);
667 FilePath command = browser_directory_.Append(
668 FilePath::FromWStringHack(chrome::kBrowserProcessExecutablePath));
669 CommandLine command_line(command);
670 667
671 // Add any explicit command line flags passed to the process. 668 // Add any explicit command line flags passed to the process.
672 CommandLine::StringType extra_chrome_flags = 669 CommandLine::StringType extra_chrome_flags =
673 CommandLine::ForCurrentProcess()->GetSwitchValueNative( 670 CommandLine::ForCurrentProcess()->GetSwitchValueNative(
674 switches::kExtraChromeFlags); 671 switches::kExtraChromeFlags);
675 if (!extra_chrome_flags.empty()) { 672 if (!extra_chrome_flags.empty()) {
676 // Split by spaces and append to command line 673 // Split by spaces and append to command line
677 std::vector<CommandLine::StringType> flags; 674 std::vector<CommandLine::StringType> flags;
678 base::SplitString(extra_chrome_flags, ' ', &flags); 675 base::SplitString(extra_chrome_flags, ' ', &flags);
679 for (size_t i = 0; i < flags.size(); ++i) 676 for (size_t i = 0; i < flags.size(); ++i)
680 command_line.AppendArgNative(flags[i]); 677 command_line->AppendArgNative(flags[i]);
681 } 678 }
682 679
683 // No default browser check, it would create an info-bar (if we are not the 680 // No default browser check, it would create an info-bar (if we are not the
684 // default browser) that could conflicts with some tests expectations. 681 // default browser) that could conflicts with some tests expectations.
685 command_line.AppendSwitch(switches::kNoDefaultBrowserCheck); 682 command_line->AppendSwitch(switches::kNoDefaultBrowserCheck);
686 683
687 // This is a UI test. 684 // This is a UI test.
688 command_line.AppendSwitchASCII(switches::kTestType, kUITestType); 685 command_line->AppendSwitchASCII(switches::kTestType, kUITestType);
689 686
690 // Tell the browser to use a temporary directory just for this test. 687 // Tell the browser to use a temporary directory just for this test.
691 command_line.AppendSwitchPath(switches::kUserDataDir, user_data_dir()); 688 command_line->AppendSwitchPath(switches::kUserDataDir, user_data_dir());
692 689
693 // We need cookies on file:// for things like the page cycler. 690 // We need cookies on file:// for things like the page cycler.
694 if (enable_file_cookies_) 691 if (enable_file_cookies_)
695 command_line.AppendSwitch(switches::kEnableFileCookies); 692 command_line->AppendSwitch(switches::kEnableFileCookies);
696 693
697 if (dom_automation_enabled_) 694 if (dom_automation_enabled_)
698 command_line.AppendSwitch(switches::kDomAutomationController); 695 command_line->AppendSwitch(switches::kDomAutomationController);
699 696
700 if (include_testing_id_) { 697 if (include_testing_id_) {
701 command_line.AppendSwitchASCII(switches::kTestingChannelID, 698 command_line->AppendSwitchASCII(switches::kTestingChannelID,
702 server_->channel_id()); 699 server_->channel_id());
703 } 700 }
704 701
705 if (!show_error_dialogs_ && 702 if (!show_error_dialogs_ &&
706 !CommandLine::ForCurrentProcess()->HasSwitch( 703 !CommandLine::ForCurrentProcess()->HasSwitch(
707 switches::kEnableErrorDialogs)) { 704 switches::kEnableErrorDialogs)) {
708 command_line.AppendSwitch(switches::kNoErrorDialogs); 705 command_line->AppendSwitch(switches::kNoErrorDialogs);
709 } 706 }
710 if (in_process_renderer_) 707 if (in_process_renderer_)
711 command_line.AppendSwitch(switches::kSingleProcess); 708 command_line->AppendSwitch(switches::kSingleProcess);
712 if (no_sandbox_) 709 if (no_sandbox_)
713 command_line.AppendSwitch(switches::kNoSandbox); 710 command_line->AppendSwitch(switches::kNoSandbox);
714 if (full_memory_dump_) 711 if (full_memory_dump_)
715 command_line.AppendSwitch(switches::kFullMemoryCrashReport); 712 command_line->AppendSwitch(switches::kFullMemoryCrashReport);
716 if (safe_plugins_) 713 if (safe_plugins_)
717 command_line.AppendSwitch(switches::kSafePlugins); 714 command_line->AppendSwitch(switches::kSafePlugins);
718 if (enable_dcheck_) 715 if (enable_dcheck_)
719 command_line.AppendSwitch(switches::kEnableDCHECK); 716 command_line->AppendSwitch(switches::kEnableDCHECK);
720 if (silent_dump_on_dcheck_) 717 if (silent_dump_on_dcheck_)
721 command_line.AppendSwitch(switches::kSilentDumpOnDCHECK); 718 command_line->AppendSwitch(switches::kSilentDumpOnDCHECK);
722 if (disable_breakpad_) 719 if (disable_breakpad_)
723 command_line.AppendSwitch(switches::kDisableBreakpad); 720 command_line->AppendSwitch(switches::kDisableBreakpad);
724 if (!homepage_.empty()) 721 if (!homepage_.empty())
725 command_line.AppendSwitchASCII(switches::kHomePage, homepage_); 722 command_line->AppendSwitchASCII(switches::kHomePage, homepage_);
726 723
727 if (!js_flags_.empty()) 724 if (!js_flags_.empty())
728 command_line.AppendSwitchASCII(switches::kJavaScriptFlags, js_flags_); 725 command_line->AppendSwitchASCII(switches::kJavaScriptFlags, js_flags_);
729 if (!log_level_.empty()) 726 if (!log_level_.empty())
730 command_line.AppendSwitchASCII(switches::kLoggingLevel, log_level_); 727 command_line->AppendSwitchASCII(switches::kLoggingLevel, log_level_);
731 728
732 command_line.AppendSwitch(switches::kMetricsRecordingOnly); 729 command_line->AppendSwitch(switches::kMetricsRecordingOnly);
733 730
734 if (!CommandLine::ForCurrentProcess()->HasSwitch( 731 if (!CommandLine::ForCurrentProcess()->HasSwitch(
735 switches::kEnableErrorDialogs)) 732 switches::kEnableErrorDialogs))
736 command_line.AppendSwitch(switches::kEnableLogging); 733 command_line->AppendSwitch(switches::kEnableLogging);
737 734
738 if (dump_histograms_on_exit_) 735 if (dump_histograms_on_exit_)
739 command_line.AppendSwitch(switches::kDumpHistogramsOnExit); 736 command_line->AppendSwitch(switches::kDumpHistogramsOnExit);
740 737
741 #ifdef WAIT_FOR_DEBUGGER_ON_OPEN 738 #ifdef WAIT_FOR_DEBUGGER_ON_OPEN
742 command_line.AppendSwitch(switches::kDebugOnStart); 739 command_line->AppendSwitch(switches::kDebugOnStart);
743 #endif 740 #endif
744 741
745 if (!ui_test_name_.empty()) 742 if (!ui_test_name_.empty())
746 command_line.AppendSwitchASCII(switches::kTestName, ui_test_name_); 743 command_line->AppendSwitchASCII(switches::kTestName, ui_test_name_);
747 744
748 // The tests assume that file:// URIs can freely access other file:// URIs. 745 // The tests assume that file:// URIs can freely access other file:// URIs.
749 command_line.AppendSwitch(switches::kAllowFileAccessFromFiles); 746 command_line->AppendSwitch(switches::kAllowFileAccessFromFiles);
750 747
751 // Disable TabCloseableStateWatcher for tests. 748 // Disable TabCloseableStateWatcher for tests.
752 command_line.AppendSwitch(switches::kDisableTabCloseableStateWatcher); 749 command_line->AppendSwitch(switches::kDisableTabCloseableStateWatcher);
753 750
754 // Allow file:// access on ChromeOS. 751 // Allow file:// access on ChromeOS.
755 command_line.AppendSwitch(switches::kAllowFileAccess); 752 command_line->AppendSwitch(switches::kAllowFileAccess);
753 }
756 754
757 test_launcher_utils::PrepareBrowserCommandLineForTests(&command_line); 755 bool UITestBase::LaunchBrowserHelper(const CommandLine& arguments,
756 bool wait,
757 base::ProcessHandle* process) {
758 FilePath command = browser_directory_.Append(
759 FilePath::FromWStringHack(chrome::kBrowserProcessExecutablePath));
758 760
761 CommandLine command_line(command);
762
763 // Add command line arguments that should be applied to all UI tests.
764 PrepareTestCommandline(&command_line);
759 DebugFlags::ProcessDebugFlags( 765 DebugFlags::ProcessDebugFlags(
760 &command_line, ChildProcessInfo::UNKNOWN_PROCESS, false); 766 &command_line, ChildProcessInfo::UNKNOWN_PROCESS, false);
761 command_line.AppendArguments(arguments, false); 767 command_line.AppendArguments(arguments, false);
762 768
763 // TODO(phajdan.jr): Only run it for "main" browser launch. 769 // TODO(phajdan.jr): Only run it for "main" browser launch.
764 browser_launch_time_ = TimeTicks::Now(); 770 browser_launch_time_ = TimeTicks::Now();
765 771
766 #if defined(OS_WIN) 772 #if defined(OS_WIN)
767 bool started = base::LaunchApp(command_line, 773 bool started = base::LaunchApp(command_line,
768 wait, 774 wait,
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
1184 incorrect_state_count++; 1190 incorrect_state_count++;
1185 } 1191 }
1186 1192
1187 LOG(INFO) << "Elapsed time: " << (base::Time::Now() - start).InSecondsF() 1193 LOG(INFO) << "Elapsed time: " << (base::Time::Now() - start).InSecondsF()
1188 << " seconds" 1194 << " seconds"
1189 << " call failed " << fail_count << " times" 1195 << " call failed " << fail_count << " times"
1190 << " state was incorrect " << incorrect_state_count << " times"; 1196 << " state was incorrect " << incorrect_state_count << " times";
1191 ADD_FAILURE() << "Timeout reached in " << __FUNCTION__; 1197 ADD_FAILURE() << "Timeout reached in " << __FUNCTION__;
1192 return false; 1198 return false;
1193 } 1199 }
1194
OLDNEW
« no previous file with comments | « chrome/test/ui/ui_test.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698