OLD | NEW |
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 #include <fstream> | 5 #include <fstream> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/rand_util.h" | 10 #include "base/rand_util.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 "EditSearchEngines", | 72 "EditSearchEngines", |
73 "ViewPasswords" | 73 "ViewPasswords" |
74 }; | 74 }; |
75 | 75 |
76 AutomatedUITest::AutomatedUITest() | 76 AutomatedUITest::AutomatedUITest() |
77 : total_crashes_(0), | 77 : total_crashes_(0), |
78 debug_logging_enabled_(false), | 78 debug_logging_enabled_(false), |
79 post_action_delay_(0) { | 79 post_action_delay_(0) { |
80 show_window_ = true; | 80 show_window_ = true; |
81 GetSystemTimeAsFileTime(&test_start_time_); | 81 GetSystemTimeAsFileTime(&test_start_time_); |
82 CommandLine parsed_command_line; | 82 const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); |
83 if (parsed_command_line.HasSwitch(kDebugModeSwitch)) | 83 if (parsed_command_line.HasSwitch(kDebugModeSwitch)) |
84 debug_logging_enabled_ = true; | 84 debug_logging_enabled_ = true; |
85 if (parsed_command_line.HasSwitch(kWaitSwitch)) { | 85 if (parsed_command_line.HasSwitch(kWaitSwitch)) { |
86 std::wstring str = parsed_command_line.GetSwitchValue(kWaitSwitch); | 86 std::wstring str = parsed_command_line.GetSwitchValue(kWaitSwitch); |
87 if (str.empty()) { | 87 if (str.empty()) { |
88 post_action_delay_ = 1; | 88 post_action_delay_ = 1; |
89 } else { | 89 } else { |
90 post_action_delay_ = static_cast<int>(StringToInt64(str)); | 90 post_action_delay_ = static_cast<int>(StringToInt64(str)); |
91 } | 91 } |
92 } | 92 } |
93 } | 93 } |
94 | 94 |
95 AutomatedUITest::~AutomatedUITest() {} | 95 AutomatedUITest::~AutomatedUITest() {} |
96 | 96 |
97 void AutomatedUITest::RunReproduction() { | 97 void AutomatedUITest::RunReproduction() { |
98 CommandLine parsed_command_line; | 98 const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); |
99 xml_writer_.StartWriting(); | 99 xml_writer_.StartWriting(); |
100 xml_writer_.StartElement("Report"); | 100 xml_writer_.StartElement("Report"); |
101 std::string action_string = | 101 std::string action_string = |
102 WideToASCII(parsed_command_line.GetSwitchValue(kReproSwitch)); | 102 WideToASCII(parsed_command_line.GetSwitchValue(kReproSwitch)); |
103 | 103 |
104 int64 num_reproductions = 1; | 104 int64 num_reproductions = 1; |
105 if (parsed_command_line.HasSwitch(kReproRepeatSwitch)) { | 105 if (parsed_command_line.HasSwitch(kReproRepeatSwitch)) { |
106 std::wstring num_reproductions_string = | 106 std::wstring num_reproductions_string = |
107 parsed_command_line.GetSwitchValue(kReproRepeatSwitch); | 107 parsed_command_line.GetSwitchValue(kReproRepeatSwitch); |
108 std::string test = WideToASCII(num_reproductions_string); | 108 std::string test = WideToASCII(num_reproductions_string); |
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
856 } | 856 } |
857 if (!window->SimulateOSKeyPress(key, flags)) { | 857 if (!window->SimulateOSKeyPress(key, flags)) { |
858 AddWarningAttribute("failure_simulating_key_press"); | 858 AddWarningAttribute("failure_simulating_key_press"); |
859 return false; | 859 return false; |
860 } | 860 } |
861 return true; | 861 return true; |
862 } | 862 } |
863 | 863 |
864 bool AutomatedUITest::InitXMLReader() { | 864 bool AutomatedUITest::InitXMLReader() { |
865 std::wstring input_path; | 865 std::wstring input_path; |
866 CommandLine parsed_command_line; | 866 const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); |
867 if (parsed_command_line.HasSwitch(kInputFilePathSwitch)) | 867 if (parsed_command_line.HasSwitch(kInputFilePathSwitch)) |
868 input_path = parsed_command_line.GetSwitchValue(kInputFilePathSwitch); | 868 input_path = parsed_command_line.GetSwitchValue(kInputFilePathSwitch); |
869 else | 869 else |
870 input_path = kDefaultInputFilePath; | 870 input_path = kDefaultInputFilePath; |
871 | 871 |
872 if (!file_util::ReadFileToString(input_path, &xml_init_file_)) | 872 if (!file_util::ReadFileToString(input_path, &xml_init_file_)) |
873 return false; | 873 return false; |
874 return init_reader_.Load(xml_init_file_); | 874 return init_reader_.Load(xml_init_file_); |
875 } | 875 } |
876 | 876 |
877 bool AutomatedUITest::WriteReportToFile() { | 877 bool AutomatedUITest::WriteReportToFile() { |
878 std::ofstream error_file; | 878 std::ofstream error_file; |
879 std::wstring path; | 879 std::wstring path; |
880 CommandLine parsed_command_line; | 880 const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); |
881 if (parsed_command_line.HasSwitch(kOutputFilePathSwitch)) | 881 if (parsed_command_line.HasSwitch(kOutputFilePathSwitch)) |
882 path = parsed_command_line.GetSwitchValue(kOutputFilePathSwitch); | 882 path = parsed_command_line.GetSwitchValue(kOutputFilePathSwitch); |
883 else | 883 else |
884 path = kDefaultOutputFilePath; | 884 path = kDefaultOutputFilePath; |
885 | 885 |
886 if (!path.empty()) | 886 if (!path.empty()) |
887 error_file.open(path.c_str(), std::ios::out); | 887 error_file.open(path.c_str(), std::ios::out); |
888 | 888 |
889 // Closes all open elements and free the writer. This is required | 889 // Closes all open elements and free the writer. This is required |
890 // in order to retrieve the contents of the buffer. | 890 // in order to retrieve the contents of the buffer. |
891 xml_writer_.StopWriting(); | 891 xml_writer_.StopWriting(); |
892 error_file << xml_writer_.GetWrittenString(); | 892 error_file << xml_writer_.GetWrittenString(); |
893 error_file.close(); | 893 error_file.close(); |
894 return true; | 894 return true; |
895 } | 895 } |
896 | 896 |
897 void AutomatedUITest::AppendToOutputFile(const std::string &append_string) { | 897 void AutomatedUITest::AppendToOutputFile(const std::string &append_string) { |
898 std::ofstream error_file; | 898 std::ofstream error_file; |
899 std::wstring path; | 899 std::wstring path; |
900 CommandLine parsed_command_line; | 900 const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); |
901 if (parsed_command_line.HasSwitch(kOutputFilePathSwitch)) | 901 if (parsed_command_line.HasSwitch(kOutputFilePathSwitch)) |
902 path = parsed_command_line.GetSwitchValue(kOutputFilePathSwitch); | 902 path = parsed_command_line.GetSwitchValue(kOutputFilePathSwitch); |
903 else | 903 else |
904 path = kDefaultOutputFilePath; | 904 path = kDefaultOutputFilePath; |
905 | 905 |
906 if (!path.empty()) | 906 if (!path.empty()) |
907 error_file.open(path.c_str(), std::ios::out | std::ios_base::app); | 907 error_file.open(path.c_str(), std::ios::out | std::ios_base::app); |
908 | 908 |
909 error_file << append_string << " "; | 909 error_file << append_string << " "; |
910 error_file.close(); | 910 error_file.close(); |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
994 if (actual_crashes > total_crashes_) { | 994 if (actual_crashes > total_crashes_) { |
995 if (update_total_crashes) | 995 if (update_total_crashes) |
996 total_crashes_ = actual_crashes; | 996 total_crashes_ = actual_crashes; |
997 return true; | 997 return true; |
998 } else { | 998 } else { |
999 return false; | 999 return false; |
1000 } | 1000 } |
1001 } | 1001 } |
1002 | 1002 |
1003 TEST_F(AutomatedUITest, TheOneAndOnlyTest) { | 1003 TEST_F(AutomatedUITest, TheOneAndOnlyTest) { |
1004 CommandLine parsed_command_line; | 1004 const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); |
1005 if (parsed_command_line.HasSwitch(kReproSwitch)) | 1005 if (parsed_command_line.HasSwitch(kReproSwitch)) |
1006 RunReproduction(); | 1006 RunReproduction(); |
1007 else | 1007 else |
1008 RunAutomatedUITest(); | 1008 RunAutomatedUITest(); |
1009 } | 1009 } |
1010 | 1010 |
OLD | NEW |