Diff
Modified: trunk/Tools/ChangeLog (121405 => 121406)
--- trunk/Tools/ChangeLog 2012-06-28 05:00:42 UTC (rev 121405)
+++ trunk/Tools/ChangeLog 2012-06-28 05:15:45 UTC (rev 121406)
@@ -1,3 +1,40 @@
+2012-06-27 Sheriff Bot <webkit.review....@gmail.com>
+
+ Unreviewed, rolling out r121363, r121367, r121384, and
+ r121390.
+ http://trac.webkit.org/changeset/121363
+ http://trac.webkit.org/changeset/121367
+ http://trac.webkit.org/changeset/121384
+ http://trac.webkit.org/changeset/121390
+ https://bugs.webkit.org/show_bug.cgi?id=90134
+
+ It broke debug NRWT on GTK and on Qt (Requested by Ossy_NIGHT
+ on #webkit).
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ (ChromiumPort):
+ (ChromiumPort.__init__):
+ (ChromiumPort._check_file_exists):
+ (ChromiumPort.default_results_directory):
+ (ChromiumPort._driver_class):
+ (ChromiumPort._build_path):
+ (ChromiumPort._path_to_image_diff):
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ (ChromiumLinuxPort.baseline_search_path):
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ (ChromiumMacPort.baseline_search_path):
+ * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
+ (ChromiumPortTest):
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ (ChromiumWinPort.baseline_search_path):
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ (WebKitPort.__init__):
+ (WebKitPort._webcore_symbols_string):
+ (WebKitPort._skipped_tests_for_unsupported_features):
+ * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
+ (TestWebKitPort._webcore_symbols_string):
+ (WebKitPortUnitTests.test_default_options):
+
2012-06-27 Dirk Pranke <dpra...@chromium.org>
Fix typo in r121384 :(
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py (121405 => 121406)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py 2012-06-28 05:00:42 UTC (rev 121405)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py 2012-06-28 05:15:45 UTC (rev 121406)
@@ -43,15 +43,14 @@
from webkitpy.layout_tests.models.test_configuration import TestConfiguration
from webkitpy.layout_tests.port.base import Port, VirtualTestSuite
from webkitpy.layout_tests.port.driver import DriverOutput
-from webkitpy.layout_tests.port.webkit import WebKitPort, WebKitDriver
+from webkitpy.layout_tests.port.webkit import WebKitDriver
_log = logging.getLogger(__name__)
-class ChromiumPort(WebKitPort):
+class ChromiumPort(Port):
"""Abstract base class for Chromium implementations of the Port class."""
- pixel_tests_option_default = True
ALL_SYSTEMS = (
('leopard', 'x86'),
@@ -108,13 +107,10 @@
return module_path[0:offset]
def __init__(self, host, port_name, **kwargs):
- super(ChromiumPort, self).__init__(host, port_name, **kwargs)
+ Port.__init__(self, host, port_name, **kwargs)
# All sub-classes override this, but we need an initial value for testing.
self._chromium_base_dir_path = None
- def default_test_timeout_ms(self):
- return 6 * 1000
-
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.
@@ -134,11 +130,6 @@
return False
return True
- def driver_name(self):
- # FIXME: merge this with Port.driver_name, WebKitPort.driver_name
- if self.get_option('driver_name'):
- return self.get_option('driver_name')
- return 'DumpRenderTree'
def check_build(self, needs_http):
result = True
@@ -266,20 +257,6 @@
except AssertionError:
return self._build_path(self.get_option('configuration'), 'layout-test-results')
- def _driver_class(self):
- return ChromiumDriver
-
- def _missing_symbol_to_skipped_tests(self):
- # FIXME: Should WebKitPort have these definitions also?
- return {
- "ff_mp3_decoder": ["webaudio/codec-tests/mp3"],
- "ff_aac_decoder": ["webaudio/codec-tests/aac"],
- }
-
- def skipped_layout_tests(self, test_list):
- # FIXME: Merge w/ WebKitPort.skipped_layout_tests()
- return set(self._skipped_tests_for_unsupported_features(test_list))
-
def setup_test_run(self):
# Delete the disk cache if any to ensure a clean test run.
dump_render_tree_binary_path = self._path_to_driver()
@@ -288,6 +265,9 @@
if self._filesystem.exists(cachedir):
self._filesystem.rmtree(cachedir)
+ def _driver_class(self):
+ return ChromiumDriver
+
def start_helper(self):
helper_path = self._path_to_helper()
if helper_path:
@@ -386,10 +366,6 @@
def _build_path(self, *comps):
return self._static_build_path(self._filesystem, self.get_option('build_directory'), self.path_from_chromium_base(), self.path_from_webkit_base(), *comps)
- def _path_to_image_diff(self):
- binary_name = 'ImageDiff'
- return self._build_path(self.get_option('configuration'), binary_name)
-
def _check_driver_build_up_to_date(self, configuration):
if configuration in ('Debug', 'Release'):
try:
@@ -425,7 +401,11 @@
return cygpath(path)
return path
+ def _path_to_image_diff(self):
+ binary_name = 'ImageDiff'
+ return self._build_path(self.get_option('configuration'), binary_name)
+
class ChromiumDriver(WebKitDriver):
KILL_TIMEOUT_DEFAULT = 3.0
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux.py (121405 => 121406)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux.py 2012-06-28 05:00:42 UTC (rev 121405)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_linux.py 2012-06-28 05:15:45 UTC (rev 121406)
@@ -110,9 +110,6 @@
port_names = self.FALLBACK_PATHS[self._architecture]
return map(self._webkit_baseline_path, port_names)
- def _modules_to_search_for_symbols(self):
- return [self._build_path(self.get_option('configuration'), 'libffmpegsumo.so')]
-
def check_build(self, needs_http):
result = chromium.ChromiumPort.check_build(self, needs_http)
if not result:
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py (121405 => 121406)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py 2012-06-28 05:00:42 UTC (rev 121405)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py 2012-06-28 05:15:45 UTC (rev 121406)
@@ -88,9 +88,6 @@
fallback_paths = self.FALLBACK_PATHS
return map(self._webkit_baseline_path, fallback_paths[self._version])
- def _modules_to_search_for_symbols(self):
- return [self._build_path(self.get_option('configuration'), 'ffmpegsumo.so')]
-
def check_build(self, needs_http):
result = chromium.ChromiumPort.check_build(self, needs_http)
if not result:
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py (121405 => 121406)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py 2012-06-28 05:00:42 UTC (rev 121405)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py 2012-06-28 05:15:45 UTC (rev 121406)
@@ -180,13 +180,6 @@
port_name = 'chromium-mac'
port_maker = chromium.ChromiumPort
- def test_missing_symbol_to_skipped_tests(self):
- # Test that we get the chromium skips and not the webkit default skips
- port = self.make_port()
- skip_dict = port._missing_symbol_to_skipped_tests()
- self.assertTrue('ff_mp3_decoder' in skip_dict)
- self.assertFalse('WebGLShader' in skip_dict)
-
def test_all_test_configurations(self):
"""Validate the complete set of configurations this port knows about."""
port = self.make_port()
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py (121405 => 121406)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py 2012-06-28 05:00:42 UTC (rev 121405)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py 2012-06-28 05:15:45 UTC (rev 121406)
@@ -106,11 +106,6 @@
port_names = self.FALLBACK_PATHS[self.version()]
return map(self._webkit_baseline_path, port_names)
- def _modules_to_search_for_symbols(self):
- # FIXME: we should return the path to the ffmpeg equivalents to detect if we have the mp3 and aac codecs installed.
- # See https://bugs.webkit.org/show_bug.cgi?id=89706.
- return []
-
def check_build(self, needs_http):
result = chromium.ChromiumPort.check_build(self, needs_http)
if not result:
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py (121405 => 121406)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py 2012-06-28 05:00:42 UTC (rev 121405)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py 2012-06-28 05:15:45 UTC (rev 121406)
@@ -51,21 +51,15 @@
class WebKitPort(Port):
- pixel_tests_option_default = False # FIXME: Disable until they are run by default on build.webkit.org.
-
def __init__(self, host, port_name=None, **kwargs):
Port.__init__(self, host, port_name=port_name, **kwargs)
- self.set_option_default("pixel_tests", self.pixel_tests_option_default)
- def default_test_timeout_ms(self):
- if self.get_option('guard_malloc'):
- # FIXME: --guard-malloc is only supported on Mac, so this logic should be in mac.py.
- return 350 * 1000
- if self.get_option('configuration') == 'Debug':
- # FIXME: the generic code in run_webkit_tests.py multiplies this by 2 :(.
- # We want to use the same timeout for both release and debug.
- return 17.5 * 1000
- return 35 * 1000
+ # FIXME: Disable pixel tests until they are run by default on build.webkit.org.
+ self.set_option_default("pixel_tests", False)
+ # WebKit ports expect a 35s timeout, or 350s timeout when running with -g/--guard-malloc.
+ # FIXME: --guard-malloc is only supported on Mac, so this logic should be in mac.py.
+ default_time_out_seconds = 350 if self.get_option('guard_malloc') else 35
+ self.set_option_default("time_out_ms", default_time_out_seconds * 1000)
def driver_name(self):
if self.get_option('webkit_test_runner'):
@@ -270,21 +264,16 @@
def nm_command(self):
return 'nm'
- def _modules_to_search_for_symbols(self):
- path = self._path_to_webcore_library()
- if path:
- return [path]
- return []
+ def _webcore_symbols_string(self):
+ webcore_library_path = self._path_to_webcore_library()
+ if not webcore_library_path:
+ return None
+ try:
+ return self._executive.run_command([self.nm_command(), webcore_library_path], error_handler=Executive.ignore_error)
+ except OSError, e:
+ _log.warn("Failed to run nm: %s. Can't determine WebCore supported features." % e)
+ return None
- def _symbols_string(self):
- symbols = ''
- for path_to_module in self._modules_to_search_for_symbols():
- try:
- symbols += self._executive.run_command([self.nm_command(), path_to_module], error_handler=Executive.ignore_error)
- except OSError, e:
- _log.warn("Failed to run nm: %s. Can't determine supported features correctly." % e)
- return symbols
-
# Ports which use run-time feature detection should define this method and return
# a dictionary mapping from Feature Names to skipped directoires. NRWT will
# run DumpRenderTree --print-supported-features and parse the output.
@@ -342,10 +331,10 @@
# This is a performance optimization to avoid the calling nm.
if self._has_test_in_directories(self._missing_symbol_to_skipped_tests().values(), test_list):
# Runtime feature detection not supported, fallback to static dectection:
- # Disable any tests for symbols missing from the executable or libraries.
- 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], [])
+ # Disable any tests for symbols missing from the webcore symbol string.
+ webcore_symbols_string = self._webcore_symbols_string()
+ if webcore_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 webcore_symbols_string], [])
# Failed to get any runtime or symbol information, don't skip any tests.
return []
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py (121405 => 121406)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py 2012-06-28 05:00:42 UTC (rev 121405)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py 2012-06-28 05:15:45 UTC (rev 121406)
@@ -53,7 +53,7 @@
def all_test_configurations(self):
return [self.test_configuration()]
- def _symbols_string(self):
+ def _webcore_symbols_string(self):
return self.symbols_string
def _tests_for_other_platforms(self):
@@ -66,14 +66,16 @@
class WebKitPortUnitTests(unittest.TestCase):
def test_default_options(self):
# The WebKit ports override new-run-webkit-test default options.
- options = MockOptions(pixel_tests=None)
+ options = MockOptions(pixel_tests=None, time_out_ms=None)
port = WebKitPort(MockSystemHost(), options=options)
self.assertEquals(port._options.pixel_tests, False)
+ self.assertEquals(port._options.time_out_ms, 35000)
# Note that we don't override options if specified by the user.
- options = MockOptions(pixel_tests=True)
+ options = MockOptions(pixel_tests=True, time_out_ms=6000)
port = WebKitPort(MockSystemHost(), options=options)
self.assertEquals(port._options.pixel_tests, True)
+ self.assertEquals(port._options.time_out_ms, 6000)
class WebKitPortTest(port_testcase.PortTestCase):