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

Unified Diff: third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py

Issue 1970963002: Check for and skip long paths when importing w3c tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
index 0657cccabef6bb5c731cc22ceb0dd79b13fceb24..eec089e72d90cc525ebc1a2fca1d452dd76657ee 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
@@ -82,6 +82,12 @@ from webkitpy.w3c.test_parser import TestParser
from webkitpy.w3c.test_converter import convert_for_webkit
+# Maximum length of import path starting from top of source repository.
+# This limit is here because the Windows builders cannot create paths that are
+# longer than the Windows max path length (260). See http://crbug.com/609871.
+MAX_PATH_LENGTH = 125
+
+
_log = logging.getLogger(__name__)
@@ -329,6 +335,11 @@ class TestImporter(object):
_log.warning('%s not found. Possible error in the test.', orig_filepath)
continue
+ if self.path_too_long(orig_filepath):
+ _log.warning('%s skipped (longer than %d chars), to avoid hitting Windows max path length on builders (http://crbug.com/609871).',
+ orig_filepath, MAX_PATH_LENGTH)
+ continue
+
new_filepath = self.filesystem.join(new_path, file_to_copy['dest'])
if 'reference_support_info' in file_to_copy.keys() and file_to_copy['reference_support_info'] != {}:
reference_support_info = file_to_copy['reference_support_info']
@@ -388,6 +399,15 @@ class TestImporter(object):
for prefixed_property in sorted(total_prefixed_properties, key=lambda p: total_prefixed_properties[p]):
_log.info(' %s: %s', prefixed_property, total_prefixed_properties[prefixed_property])
+ def path_too_long(self, source_path):
+ """Checks whether a source path is too long to import.
+
+ Args:
+ Absolute path of file to be imported.
+ """
+ path_from_repo_base = os.path.relpath(source_path, self.top_of_repo)
+ return len(path_from_repo_base) > MAX_PATH_LENGTH
+
def setup_destination_directory(self):
""" Creates a destination directory that mirrors that of the source directory """
« no previous file with comments | « no previous file | third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698