OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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_layout_test.h" | 5 #include "chrome/test/ui/ui_layout_test.h" |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
10 #include "base/test/test_file_util.h" | 10 #include "base/test/test_file_util.h" |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 PathService::Get(base::DIR_SOURCE_ROOT, &src_dir); | 48 PathService::Get(base::DIR_SOURCE_ROOT, &src_dir); |
49 | 49 |
50 // Gets the file path to WebKit ui layout tests, that is, | 50 // Gets the file path to WebKit ui layout tests, that is, |
51 // chrome/test/data/ui_tests/LayoutTests/... | 51 // chrome/test/data/ui_tests/LayoutTests/... |
52 // Note that we have to use our own copy of WebKit layout tests because our | 52 // Note that we have to use our own copy of WebKit layout tests because our |
53 // build machines do not have WebKit layout tests added. | 53 // build machines do not have WebKit layout tests added. |
54 layout_test_dir_ = src_dir.AppendASCII("chrome"); | 54 layout_test_dir_ = src_dir.AppendASCII("chrome"); |
55 layout_test_dir_ = layout_test_dir_.AppendASCII("test"); | 55 layout_test_dir_ = layout_test_dir_.AppendASCII("test"); |
56 layout_test_dir_ = layout_test_dir_.AppendASCII("data"); | 56 layout_test_dir_ = layout_test_dir_.AppendASCII("data"); |
57 layout_test_dir_ = layout_test_dir_.AppendASCII("layout_tests"); | 57 layout_test_dir_ = layout_test_dir_.AppendASCII("layout_tests"); |
| 58 layout_test_dir_ = layout_test_dir_.AppendASCII("LayoutTests"); |
58 layout_test_dir_ = layout_test_dir_.Append(test_parent_dir); | 59 layout_test_dir_ = layout_test_dir_.Append(test_parent_dir); |
59 layout_test_dir_ = layout_test_dir_.Append(test_case_dir); | 60 layout_test_dir_ = layout_test_dir_.Append(test_case_dir); |
60 ASSERT_TRUE(file_util::DirectoryExists(layout_test_dir_)); | 61 ASSERT_TRUE(file_util::DirectoryExists(layout_test_dir_)); |
61 | 62 |
62 // Gets the file path to rebased expected result directory for the current | 63 // Gets the file path to rebased expected result directory for the current |
63 // platform. | 64 // platform. |
64 // webkit/data/layout_tests/platform/chromium_***/LayoutTests/... | 65 // chrome/test/data/layout_tests/LayoutTests/platform/chromium_***/... |
65 rebase_result_dir_ = src_dir.AppendASCII("webkit"); | 66 rebase_result_dir_ = src_dir.AppendASCII("chrome"); |
| 67 rebase_result_dir_ = rebase_result_dir_.AppendASCII("test"); |
66 rebase_result_dir_ = rebase_result_dir_.AppendASCII("data"); | 68 rebase_result_dir_ = rebase_result_dir_.AppendASCII("data"); |
67 rebase_result_dir_ = rebase_result_dir_.AppendASCII("layout_tests"); | 69 rebase_result_dir_ = rebase_result_dir_.AppendASCII("layout_tests"); |
| 70 rebase_result_dir_ = rebase_result_dir_.AppendASCII("LayoutTests"); |
68 rebase_result_dir_ = rebase_result_dir_.AppendASCII("platform"); | 71 rebase_result_dir_ = rebase_result_dir_.AppendASCII("platform"); |
69 rebase_result_dir_ = rebase_result_dir_.AppendASCII(kPlatformName); | 72 rebase_result_dir_ = rebase_result_dir_.AppendASCII(kPlatformName); |
70 rebase_result_dir_ = rebase_result_dir_.Append(test_parent_dir); | 73 rebase_result_dir_ = rebase_result_dir_.Append(test_parent_dir); |
71 rebase_result_dir_ = rebase_result_dir_.Append(test_case_dir); | 74 rebase_result_dir_ = rebase_result_dir_.Append(test_case_dir); |
72 | 75 |
73 // Gets the file path to rebased expected result directory under the | 76 // Gets the file path to rebased expected result directory under the |
74 // win32 platform. This is used by other non-win32 platform to use the same | 77 // win32 platform. This is used by other non-win32 platform to use the same |
75 // rebased expected results. | 78 // rebased expected results. |
76 #if !defined(OS_WIN) | 79 #if !defined(OS_WIN) |
77 rebase_result_win_dir_ = src_dir.AppendASCII("webkit"); | 80 rebase_result_win_dir_ = src_dir.AppendASCII("chrome"); |
| 81 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("test"); |
78 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("data"); | 82 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("data"); |
79 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("layout_tests"); | 83 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("layout_tests"); |
| 84 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("LayoutTests"); |
80 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("platform"); | 85 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("platform"); |
81 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("chromium-win"); | 86 rebase_result_win_dir_ = rebase_result_win_dir_.AppendASCII("chromium-win"); |
82 rebase_result_win_dir_ = rebase_result_win_dir_.Append(test_parent_dir); | 87 rebase_result_win_dir_ = rebase_result_win_dir_.Append(test_parent_dir); |
83 rebase_result_win_dir_ = rebase_result_win_dir_.Append(test_case_dir); | 88 rebase_result_win_dir_ = rebase_result_win_dir_.Append(test_case_dir); |
84 #endif | 89 #endif |
85 | 90 |
86 // Creates the temporary directory. | 91 // Creates the temporary directory. |
87 ASSERT_TRUE(file_util::CreateNewTempDirectory( | 92 ASSERT_TRUE(file_util::CreateNewTempDirectory( |
88 FILE_PATH_LITERAL("chrome_ui_layout_tests_"), &temp_test_dir_)); | 93 FILE_PATH_LITERAL("chrome_ui_layout_tests_"), &temp_test_dir_)); |
89 | 94 |
90 // Creates the new layout test subdirectory under the temp directory. | 95 // Creates the new layout test subdirectory under the temp directory. |
91 // Note that we have to mimic the same layout test directory structure, | 96 // Note that we have to mimic the same layout test directory structure, |
92 // like .../LayoutTests/fast/workers/.... Otherwise those layout tests | 97 // like .../LayoutTests/fast/workers/.... Otherwise those layout tests |
93 // dealing with location property, like worker-location.html, could fail. | 98 // dealing with location property, like worker-location.html, could fail. |
94 new_layout_test_dir_ = temp_test_dir_; | 99 new_layout_test_dir_ = temp_test_dir_; |
| 100 new_layout_test_dir_ = new_layout_test_dir_.AppendASCII("LayoutTests"); |
95 new_layout_test_dir_ = new_layout_test_dir_.Append(test_parent_dir); | 101 new_layout_test_dir_ = new_layout_test_dir_.Append(test_parent_dir); |
96 if (port == kHttpPort) { | 102 if (port == kHttpPort) { |
97 new_http_root_dir_ = new_layout_test_dir_; | 103 new_http_root_dir_ = new_layout_test_dir_; |
98 test_case_dir_ = test_case_dir; | 104 test_case_dir_ = test_case_dir; |
99 } | 105 } |
100 new_layout_test_dir_ = new_layout_test_dir_.Append(test_case_dir); | 106 new_layout_test_dir_ = new_layout_test_dir_.Append(test_case_dir); |
101 ASSERT_TRUE(file_util::CreateDirectory(new_layout_test_dir_)); | 107 ASSERT_TRUE(file_util::CreateDirectory(new_layout_test_dir_)); |
102 | 108 |
103 // Copy the resource subdirectory if it exists. | 109 // Copy the resource subdirectory if it exists. |
104 FilePath layout_test_resource_path(layout_test_dir_); | 110 FilePath layout_test_resource_path(layout_test_dir_); |
(...skipping 27 matching lines...) Expand all Loading... |
132 | 138 |
133 void UILayoutTest::AddResourceForLayoutTest(const FilePath& parent_dir, | 139 void UILayoutTest::AddResourceForLayoutTest(const FilePath& parent_dir, |
134 const FilePath& resource_dir) { | 140 const FilePath& resource_dir) { |
135 FilePath root_dir; | 141 FilePath root_dir; |
136 PathService::Get(base::DIR_SOURCE_ROOT, &root_dir); | 142 PathService::Get(base::DIR_SOURCE_ROOT, &root_dir); |
137 | 143 |
138 FilePath src_dir = root_dir.AppendASCII("chrome"); | 144 FilePath src_dir = root_dir.AppendASCII("chrome"); |
139 src_dir = src_dir.AppendASCII("test"); | 145 src_dir = src_dir.AppendASCII("test"); |
140 src_dir = src_dir.AppendASCII("data"); | 146 src_dir = src_dir.AppendASCII("data"); |
141 src_dir = src_dir.AppendASCII("layout_tests"); | 147 src_dir = src_dir.AppendASCII("layout_tests"); |
| 148 src_dir = src_dir.AppendASCII("LayoutTests"); |
142 src_dir = src_dir.Append(parent_dir); | 149 src_dir = src_dir.Append(parent_dir); |
143 src_dir = src_dir.Append(resource_dir); | 150 src_dir = src_dir.Append(resource_dir); |
144 ASSERT_TRUE(file_util::DirectoryExists(src_dir)); | 151 ASSERT_TRUE(file_util::DirectoryExists(src_dir)); |
145 | 152 |
146 FilePath dest_parent_dir = temp_test_dir_.Append(parent_dir); | 153 FilePath dest_parent_dir = temp_test_dir_. |
| 154 AppendASCII("LayoutTests").Append(parent_dir); |
147 ASSERT_TRUE(file_util::CreateDirectory(dest_parent_dir)); | 155 ASSERT_TRUE(file_util::CreateDirectory(dest_parent_dir)); |
148 FilePath dest_dir = dest_parent_dir.Append(resource_dir); | 156 FilePath dest_dir = dest_parent_dir.Append(resource_dir); |
149 ASSERT_TRUE(file_util::CopyDirectory(src_dir, dest_dir, true)); | 157 ASSERT_TRUE(file_util::CopyDirectory(src_dir, dest_dir, true)); |
150 } | 158 } |
151 | 159 |
152 void UILayoutTest::RunLayoutTest(const std::string& test_case_file_name, | 160 void UILayoutTest::RunLayoutTest(const std::string& test_case_file_name, |
153 int port) { | 161 int port) { |
154 SCOPED_TRACE(test_case_file_name.c_str()); | 162 SCOPED_TRACE(test_case_file_name.c_str()); |
155 | 163 |
156 ASSERT_TRUE(!layout_test_controller_.empty()); | 164 ASSERT_TRUE(!layout_test_controller_.empty()); |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 std::string* expected_result_value) { | 240 std::string* expected_result_value) { |
233 FilePath expected_result_path(result_dir_path); | 241 FilePath expected_result_path(result_dir_path); |
234 expected_result_path = expected_result_path.AppendASCII(test_case_file_name); | 242 expected_result_path = expected_result_path.AppendASCII(test_case_file_name); |
235 expected_result_path = expected_result_path.InsertBeforeExtension( | 243 expected_result_path = expected_result_path.InsertBeforeExtension( |
236 FILE_PATH_LITERAL("-expected")); | 244 FILE_PATH_LITERAL("-expected")); |
237 expected_result_path = | 245 expected_result_path = |
238 expected_result_path.ReplaceExtension(FILE_PATH_LITERAL("txt")); | 246 expected_result_path.ReplaceExtension(FILE_PATH_LITERAL("txt")); |
239 return file_util::ReadFileToString(expected_result_path, | 247 return file_util::ReadFileToString(expected_result_path, |
240 expected_result_value); | 248 expected_result_value); |
241 } | 249 } |
OLD | NEW |