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

Unified Diff: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py

Issue 1806393002: Run yapf on files in webkit/layout_tests/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
Index: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py
index 1bb2831d109be80b0a012ba59c347a0f6ee44793..37c93991cbdab119c16fcaea5433e11cd46ccf39 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py
@@ -25,7 +25,6 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
"""Abstract base class of Port-specific entry points for the layout tests
test infrastructure (the Port and Driver classes)."""
@@ -47,7 +46,6 @@ except ImportError:
# Needed for Python < 2.7
from webkitpy.thirdparty.ordered_dict import OrderedDict
-
from webkitpy.common import find_files
from webkitpy.common import read_checksum_from_png
from webkitpy.common.memoized import memoized
@@ -97,7 +95,6 @@ class Port(object):
# a different operating system version. This isn't accurate, but will work until
# we need to test and support baselines across multiple O/S versions.
('retina', 'x86'),
-
('mac10.9', 'x86'),
('mac10.10', 'x86'),
('mac10.11', 'x86'),
@@ -107,8 +104,7 @@ class Port(object):
('trusty', 'x86_64'),
# FIXME: Technically this should be 'arm', but adding a third architecture type breaks TestConfigurationConverter.
# If we need this to be 'arm' in the future, then we first have to fix TestConfigurationConverter.
- ('icecreamsandwich', 'x86'),
- )
+ ('icecreamsandwich', 'x86'), )
CONFIGURATION_SPECIFIER_MACROS = {
'mac': ['retina', 'mac10.9', 'mac10.10', 'mac10.11'],
@@ -117,7 +113,7 @@ class Port(object):
'android': ['icecreamsandwich'],
}
- DEFAULT_BUILD_DIRECTORIES = ('out',)
+ DEFAULT_BUILD_DIRECTORIES = ('out', )
# overridden in subclasses.
FALLBACK_PATHS = {}
@@ -217,7 +213,8 @@ class Port(object):
self._virtual_test_suites = None
def __str__(self):
- return "Port{name=%s, version=%s, architecture=%s, test_configuration=%s}" % (self._name, self._version, self._architecture, self._test_configuration)
+ return "Port{name=%s, version=%s, architecture=%s, test_configuration=%s}" % (self._name, self._version, self._architecture,
+ self._test_configuration)
def buildbot_archives_baselines(self):
return True
@@ -320,8 +317,7 @@ class Port(object):
return factory.get(target_port).default_baseline_search_path()
return []
- def _check_file_exists(self, path_to_file, file_description,
- override_step=None, logging=True):
+ def _check_file_exists(self, path_to_file, file_description, override_step=None, logging=True):
"""Verify the file is present where expected or log an error.
Args:
@@ -343,22 +339,18 @@ class Port(object):
result = True
dump_render_tree_binary_path = self._path_to_driver()
- result = self._check_file_exists(dump_render_tree_binary_path,
- 'test driver') and result
+ result = self._check_file_exists(dump_render_tree_binary_path, 'test driver') and result
if not result and self.get_option('build'):
- result = self._check_driver_build_up_to_date(
- self.get_option('configuration'))
+ result = self._check_driver_build_up_to_date(self.get_option('configuration'))
else:
_log.error('')
helper_path = self._path_to_helper()
if helper_path:
- result = self._check_file_exists(helper_path,
- 'layout test helper') and result
+ result = self._check_file_exists(helper_path, 'layout test helper') and result
if self.get_option('pixel_tests'):
- result = self.check_image_diff(
- 'To override, invoke with --no-pixel-tests') and result
+ result = self.check_image_diff('To override, invoke with --no-pixel-tests') and result
# It's okay if pretty patch and wdiff aren't available, but we will at least log messages.
self._pretty_patch_available = self.check_pretty_patch()
@@ -539,12 +531,11 @@ class Port(object):
if isinstance(string_value, unicode):
return string_value.encode('utf-8')
return string_value
+
expected_filename = to_raw_bytes(expected_filename)
actual_filename = to_raw_bytes(actual_filename)
- diff = difflib.unified_diff(expected_text.splitlines(True),
- actual_text.splitlines(True),
- expected_filename,
- actual_filename)
+ diff = difflib.unified_diff(
+ expected_text.splitlines(True), actual_text.splitlines(True), expected_filename, actual_filename)
# The diff generated by the difflib is incorrect if one of the files
# does not have a newline at the end of the file and it is present in
@@ -726,7 +717,8 @@ class Port(object):
if len(split_line) < 3:
continue
expectation_type, test_file, ref_file = split_line
- parsed_list.setdefault(filesystem.join(test_dirpath, test_file), []).append((expectation_type, filesystem.join(test_dirpath, ref_file)))
+ parsed_list.setdefault(
+ filesystem.join(test_dirpath, test_file), []).append((expectation_type, filesystem.join(test_dirpath, ref_file)))
return parsed_list
def reference_files(self, test_name):
@@ -758,14 +750,15 @@ class Port(object):
def _real_tests(self, paths):
# When collecting test cases, skip these directories
skipped_directories = set(['.svn', '_svn', 'platform', 'resources', 'support', 'script-tests', 'reference', 'reftest'])
- files = find_files.find(self._filesystem, self.layout_tests_dir(), paths, skipped_directories, Port.is_test_file, self.test_key)
+ files = find_files.find(self._filesystem, self.layout_tests_dir(), paths, skipped_directories, Port.is_test_file,
+ self.test_key)
return [self.relative_test_filename(f) for f in files]
# When collecting test cases, we include any file with these extensions.
- _supported_file_extensions = set(['.html', '.xml', '.xhtml', '.xht', '.pl',
- '.htm', '.php', '.svg', '.mht', '.pdf'])
+ _supported_file_extensions = set(['.html', '.xml', '.xhtml', '.xht', '.pl', '.htm', '.php', '.svg', '.mht', '.pdf'])
@staticmethod
+
# If any changes are made here be sure to update the isUsedInReftest method in old-run-webkit-tests as well.
def is_reference_html_file(filesystem, dirname, filename):
if filename.startswith('ref-') or filename.startswith('notref-'):
@@ -784,7 +777,8 @@ class Port(object):
@staticmethod
def is_test_file(filesystem, dirname, filename):
- return Port._has_supported_extension(filesystem, filename) and not Port.is_reference_html_file(filesystem, dirname, filename)
+ return Port._has_supported_extension(filesystem, filename) and not Port.is_reference_html_file(filesystem, dirname,
+ filename)
ALL_TEST_TYPES = ['audio', 'harness', 'pixel', 'ref', 'text', 'unknown']
@@ -823,6 +817,7 @@ class Port(object):
http://www.codinghorror.com/blog/2007/12/sorting-for-humans-natural-sort-order.html
http://nedbatchelder.com/blog/200712.html#e20071211T054956
"""
+
def tryint(val):
try:
return int(val)
@@ -1075,7 +1070,7 @@ class Port(object):
}
variables_to_copy = [
'WEBKIT_TESTFONTS', # FIXME: Is this still used?
- 'WEBKITOUTPUTDIR', # FIXME: Is this still used?
+ 'WEBKITOUTPUTDIR', # FIXME: Is this still used?
'CHROME_DEVEL_SANDBOX',
'CHROME_IPC_LOGGING',
'ASAN_OPTIONS',
@@ -1087,31 +1082,18 @@ class Port(object):
'VALGRIND_LIB_INNER',
]
if self.host.platform.is_linux() or self.host.platform.is_freebsd():
- variables_to_copy += [
- 'XAUTHORITY',
- 'HOME',
- 'LANG',
- 'LD_LIBRARY_PATH',
- 'DBUS_SESSION_BUS_ADDRESS',
- 'XDG_DATA_DIRS',
- ]
+ variables_to_copy += ['XAUTHORITY', 'HOME', 'LANG', 'LD_LIBRARY_PATH', 'DBUS_SESSION_BUS_ADDRESS', 'XDG_DATA_DIRS', ]
clean_env['DISPLAY'] = self._value_or_default_from_environ('DISPLAY', ':1')
if self.host.platform.is_mac():
clean_env['DYLD_LIBRARY_PATH'] = self._build_path()
- variables_to_copy += [
- 'HOME',
- ]
+ variables_to_copy += ['HOME', ]
if self.host.platform.is_win():
variables_to_copy += [
'PATH',
'GYP_DEFINES', # Required to locate win sdk.
]
if self.host.platform.is_cygwin():
- variables_to_copy += [
- 'HOMEDRIVE',
- 'HOMEPATH',
- '_NT_SYMBOL_PATH',
- ]
+ variables_to_copy += ['HOMEDRIVE', 'HOMEPATH', '_NT_SYMBOL_PATH', ]
for variable in variables_to_copy:
self._copy_value_from_environ_if_set(clean_env, variable)
@@ -1140,7 +1122,9 @@ class Port(object):
_log.debug("Starting layout helper %s" % helper_path)
# Note: Not thread safe: http://bugs.python.org/issue2320
self._helper = self._executive.popen([helper_path],
- stdin=self._executive.PIPE, stdout=self._executive.PIPE, stderr=None)
+ stdin=self._executive.PIPE,
+ stdout=self._executive.PIPE,
+ stderr=None)
is_ready = self._helper.stdout.readline()
if not is_ready.startswith('ready'):
_log.error("layout_test_helper failed to be ready")
@@ -1156,7 +1140,8 @@ class Port(object):
Ports can stub this out if they don't need a web server to be running."""
assert not self._http_server, 'Already running an http server.'
- server = apache_http.ApacheHTTP(self, self.results_directory(),
+ server = apache_http.ApacheHTTP(self,
+ self.results_directory(),
additional_dirs=additional_dirs,
number_of_servers=(number_of_drivers * 4))
server.start()
@@ -1334,8 +1319,7 @@ class Port(object):
return {}
def expectations_files(self):
- return ([self.path_to_generic_test_expectations_file()] +
- self._port_specific_expectations_files() +
+ return ([self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files() +
self._flag_specific_expectations_files())
def repository_path(self):
@@ -1358,13 +1342,8 @@ class Port(object):
def _wdiff_command(self, actual_filename, expected_filename):
executable = self._path_to_wdiff()
- return [executable,
- "--start-delete=%s" % self._WDIFF_DEL,
- "--end-delete=%s" % self._WDIFF_END,
- "--start-insert=%s" % self._WDIFF_ADD,
- "--end-insert=%s" % self._WDIFF_END,
- actual_filename,
- expected_filename]
+ return [executable, "--start-delete=%s" % self._WDIFF_DEL, "--end-delete=%s" % self._WDIFF_END,
+ "--start-insert=%s" % self._WDIFF_ADD, "--end-insert=%s" % self._WDIFF_END, actual_filename, expected_filename]
@staticmethod
def _handle_wdiff_error(script_error):
@@ -1378,8 +1357,7 @@ class Port(object):
# Diffs are treated as binary as they may include multiple files
# with conflicting encodings. Thus we do not decode the output.
command = self._wdiff_command(actual_filename, expected_filename)
- wdiff = self._executive.run_command(command, decode_output=False,
- error_handler=self._handle_wdiff_error)
+ wdiff = self._executive.run_command(command, decode_output=False, error_handler=self._handle_wdiff_error)
return self._format_wdiff_output_as_html(wdiff)
_wdiff_error_html = "Failed to run wdiff, see error log."
@@ -1412,8 +1390,7 @@ class Port(object):
self._pretty_patch_available = self.check_pretty_patch(logging=False)
if not self._pretty_patch_available:
return self._pretty_patch_error_html
- command = ("ruby", "-I", self._filesystem.dirname(self._pretty_patch_path),
- self._pretty_patch_path, diff_path)
+ command = ("ruby", "-I", self._filesystem.dirname(self._pretty_patch_path), self._pretty_patch_path, diff_path)
try:
# Diffs are treated as binary (we pass decode_output=False) as they
# may contain multiple files of conflicting encodings.
@@ -1538,7 +1515,8 @@ class Port(object):
# Running the symbolizer script can take a lot of memory, so we need to
# serialize access to it across all the concurrently running drivers.
- llvm_symbolizer_path = self.path_from_chromium_base('third_party', 'llvm-build', 'Release+Asserts', 'bin', 'llvm-symbolizer')
+ llvm_symbolizer_path = self.path_from_chromium_base('third_party', 'llvm-build', 'Release+Asserts', 'bin',
+ 'llvm-symbolizer')
if self._filesystem.exists(llvm_symbolizer_path):
env = os.environ.copy()
env['LLVM_SYMBOLIZER_PATH'] = llvm_symbolizer_path
@@ -1547,7 +1525,11 @@ class Port(object):
sanitizer_filter_path = self.path_from_chromium_base('tools', 'valgrind', 'asan', 'asan_symbolize.py')
sanitizer_strip_path_prefix = 'Release/../../'
if self._filesystem.exists(sanitizer_filter_path):
- stderr = self._executive.run_command(['flock', sys.executable, sanitizer_filter_path, sanitizer_strip_path_prefix], input=stderr, decode_output=False, env=env)
+ stderr = self._executive.run_command(
+ ['flock', sys.executable, sanitizer_filter_path, sanitizer_strip_path_prefix],
+ input=stderr,
+ decode_output=False,
+ env=env)
name_str = name or '<unknown process name>'
pid_str = str(pid or '<unknown>')
@@ -1564,9 +1546,9 @@ class Port(object):
else:
stderr_lines = [u'<empty>']
- return (stderr, 'crash log for %s (pid %s):\n%s\n%s\n' % (name_str, pid_str,
- '\n'.join(('STDOUT: ' + l) for l in stdout_lines),
- '\n'.join(('STDERR: ' + l) for l in stderr_lines)))
+ return (stderr, 'crash log for %s (pid %s):\n%s\n%s\n' % (name_str, pid_str, '\n'.join(('STDOUT: ' + l)
+ for l in stdout_lines),
+ '\n'.join(('STDERR: ' + l) for l in stderr_lines)))
def look_for_new_crash_logs(self, crashed_processes, start_time):
pass
@@ -1692,10 +1674,7 @@ class Port(object):
if self.PORT_HAS_AUDIO_CODECS_BUILT_IN:
return {}
else:
- return {
- "ff_mp3_decoder": ["webaudio/codec-tests/mp3"],
- "ff_aac_decoder": ["webaudio/codec-tests/aac"],
- }
+ return {"ff_mp3_decoder": ["webaudio/codec-tests/mp3"], "ff_aac_decoder": ["webaudio/codec-tests/aac"], }
def _has_test_in_directories(self, directory_lists, test_list):
if not test_list:
@@ -1715,7 +1694,9 @@ class Port(object):
if self._has_test_in_directories(self._missing_symbol_to_skipped_tests().values(), test_list):
symbols_string = self._symbols_string()
if symbols_string is not None:
- return reduce(operator.add, [directories for symbol_substring, directories in self._missing_symbol_to_skipped_tests().items() if symbol_substring not in symbols_string], [])
+ return reduce(operator.add, [directories
+ for symbol_substring, directories in self._missing_symbol_to_skipped_tests().items()
+ if symbol_substring not in symbols_string], [])
return []
def _convert_path(self, path):
@@ -1733,8 +1714,8 @@ class Port(object):
# base class does, because finding the right directory is relatively
# fast.
target = target or self.get_option('target')
- return self._static_build_path(self._filesystem, self.get_option('build_directory'),
- self.path_from_chromium_base(), target, comps)
+ return self._static_build_path(self._filesystem, self.get_option('build_directory'), self.path_from_chromium_base(), target,
+ comps)
def _check_driver_build_up_to_date(self, target):
# We should probably get rid of this check altogether as it has
@@ -1751,8 +1732,7 @@ class Port(object):
debug_mtime = self._filesystem.mtime(debug_path)
release_mtime = self._filesystem.mtime(release_path)
- if (debug_mtime > release_mtime and target == 'Release' or
- release_mtime > debug_mtime and target == 'Debug'):
+ if (debug_mtime > release_mtime and target == 'Release' or release_mtime > debug_mtime and target == 'Debug'):
most_recent_binary = 'Release' if target == 'Debug' else 'Debug'
_log.warning('You are running the %s binary. However the %s binary appears to be more recent. '
'Please pass --%s.', target, most_recent_binary, most_recent_binary.lower())

Powered by Google App Engine
This is Rietveld 408576698