| 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 |