| Index: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py
|
| diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py
|
| index 858bc6b3db09d126618980134a1728fa76fb05dc..9e9ccfd28ca79e211f7309035c6fd48af2c754d0 100644
|
| --- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py
|
| +++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py
|
| @@ -43,28 +43,6 @@ from webkitpy.layout_tests.models import test_run_results
|
| from webkitpy.layout_tests.port.base import Port
|
|
|
|
|
| -# FIXME: get rid of this fixture
|
| -class TestWebKitPort(Port):
|
| - port_name = "testwebkitport"
|
| -
|
| - def __init__(self, port_name=None, symbols_string=None,
|
| - expectations_file=None, skips_file=None, host=None, config=None,
|
| - **kwargs):
|
| - port_name = port_name or TestWebKitPort.port_name
|
| - self.symbols_string = symbols_string # Passing "" disables all staticly-detectable features.
|
| - host = host or MockSystemHost()
|
| - super(TestWebKitPort, self).__init__(host, port_name=port_name, **kwargs)
|
| -
|
| - def all_test_configurations(self):
|
| - return [self.test_configuration()]
|
| -
|
| - def _symbols_string(self):
|
| - return self.symbols_string
|
| -
|
| - def _tests_for_disabled_features(self):
|
| - return ["accessibility", ]
|
| -
|
| -
|
| class FakePrinter(object):
|
|
|
| def write_update(self, msg):
|
| @@ -82,7 +60,7 @@ class PortTestCase(unittest.TestCase):
|
| # Subclasses override this to point to their Port subclass.
|
| os_name = None
|
| os_version = None
|
| - port_maker = TestWebKitPort
|
| + port_maker = Port
|
| port_name = None
|
| full_port_name = None
|
|
|
| @@ -91,8 +69,7 @@ class PortTestCase(unittest.TestCase):
|
| options = options or optparse.Values({'configuration': 'Release'})
|
| port_name = port_name or self.port_name
|
| port_name = self.port_maker.determine_full_port_name(host, options, port_name)
|
| - port = self.port_maker(host, port_name, options=options, **kwargs)
|
| - return port
|
| + return self.port_maker(host, port_name, options=options, **kwargs)
|
|
|
| def make_wdiff_available(self, port):
|
| port._wdiff_available = True
|
| @@ -349,56 +326,31 @@ class PortTestCase(unittest.TestCase):
|
|
|
| def test_skipped_directories_for_symbols(self):
|
| # This first test confirms that the commonly found symbols result in the expected skipped directories.
|
| - symbols_string = " ".join(["fooSymbol"])
|
| - expected_directories = set([
|
| - "webaudio/codec-tests/mp3",
|
| - "webaudio/codec-tests/aac",
|
| - ])
|
| -
|
| - result_directories = set(TestWebKitPort(symbols_string=symbols_string)._skipped_tests_for_unsupported_features(
|
| - test_list=['webaudio/codec-tests/mp3/foo.html']))
|
| - self.assertEqual(result_directories, expected_directories)
|
| -
|
| + port = self.make_port()
|
| + # pylint: disable=protected-access
|
| + port._symbols_string = lambda: "fooSymbol"
|
| + self.assertEqual(
|
| + set(port._skipped_tests_for_unsupported_features(test_list=['webaudio/codec-tests/mp3/foo.html'])),
|
| + set([
|
| + "webaudio/codec-tests/mp3",
|
| + "webaudio/codec-tests/aac",
|
| + ]))
|
| +
|
| + self.make_port()
|
| # Test that the nm string parsing actually works:
|
| - symbols_string = """
|
| + port._symbols_string = lambda: """
|
| 000000000124f498 s __ZZN7WebCore13ff_mp3_decoder12replaceChildEPS0_S1_E19__PRETTY_FUNCTION__
|
| 000000000124f500 s __ZZN7WebCore13ff_mp3_decoder13addChildAboveEPS0_S1_E19__PRETTY_FUNCTION__
|
| 000000000124f670 s __ZZN7WebCore13ff_mp3_decoder13addChildBelowEPS0_S1_E19__PRETTY_FUNCTION__
|
| """
|
| # Note 'compositing' is not in the list of skipped directories (hence the parsing of GraphicsLayer worked):
|
| - expected_directories = set([
|
| - "webaudio/codec-tests/aac",
|
| - ])
|
| - result_directories = set(TestWebKitPort(symbols_string=symbols_string)._skipped_tests_for_unsupported_features(
|
| - test_list=['webaudio/codec-tests/mp3/foo.html']))
|
| - self.assertEqual(result_directories, expected_directories)
|
| -
|
| - def _assert_config_file_for_platform(self, port, platform, config_file):
|
| - port.host.platform = MockPlatformInfo(os_name=platform)
|
| - self.assertEqual(port._apache_config_file_name_for_platform(), config_file)
|
| -
|
| - def _assert_config_file_for_linux_distribution(self, port, distribution, config_file):
|
| - port.host.platform = MockPlatformInfo(os_name='linux', linux_distribution=distribution)
|
| - self.assertEqual(port._apache_config_file_name_for_platform(), config_file)
|
| -
|
| - def test_apache_config_file_name_for_platform(self):
|
| - port = TestWebKitPort()
|
| - self._assert_config_file_for_platform(port, 'cygwin', 'cygwin-httpd.conf')
|
| -
|
| - port._apache_version = lambda: '2.2'
|
| - self._assert_config_file_for_platform(port, 'linux', 'apache2-httpd-2.2.conf')
|
| - self._assert_config_file_for_linux_distribution(port, 'arch', 'arch-httpd-2.2.conf')
|
| - self._assert_config_file_for_linux_distribution(port, 'debian', 'debian-httpd-2.2.conf')
|
| - self._assert_config_file_for_linux_distribution(port, 'slackware', 'apache2-httpd-2.2.conf')
|
| - self._assert_config_file_for_linux_distribution(port, 'redhat', 'redhat-httpd-2.2.conf')
|
| -
|
| - self._assert_config_file_for_platform(port, 'mac', 'apache2-httpd-2.2.conf')
|
| - # win32 isn't a supported sys.platform. AppleWin/WinCairo/WinCE ports all use cygwin.
|
| - self._assert_config_file_for_platform(port, 'win32', 'apache2-httpd-2.2.conf')
|
| - self._assert_config_file_for_platform(port, 'barf', 'apache2-httpd-2.2.conf')
|
| + self.assertEqual(
|
| + set(port._skipped_tests_for_unsupported_features(test_list=['webaudio/codec-tests/mp3/foo.html'])),
|
| + set(["webaudio/codec-tests/aac"]))
|
|
|
| def test_path_to_apache_config_file(self):
|
| - port = TestWebKitPort()
|
| + # Specific behavior may vary by port, so unit test sub-classes may override this.
|
| + port = self.make_port()
|
|
|
| port.host.environ['WEBKIT_HTTP_SERVER_CONF_PATH'] = '/path/to/httpd.conf'
|
| self.assertRaises(IOError, port.path_to_apache_config_file)
|
| @@ -406,10 +358,12 @@ class PortTestCase(unittest.TestCase):
|
| port.host.environ['WEBKIT_HTTP_SERVER_CONF_PATH'] = '/existing/httpd.conf'
|
| self.assertEqual(port.path_to_apache_config_file(), '/existing/httpd.conf')
|
|
|
| - # Mock out _apache_config_file_name_for_platform to avoid mocking platform info
|
| + # Mock out _apache_config_file_name_for_platform to avoid mocking platform info.
|
| port._apache_config_file_name_for_platform = lambda: 'httpd.conf'
|
| del port.host.environ['WEBKIT_HTTP_SERVER_CONF_PATH']
|
| - self.assertEqual(port.path_to_apache_config_file(), '/mock-checkout/third_party/WebKit/LayoutTests/http/conf/httpd.conf')
|
| + self.assertEqual(
|
| + port.path_to_apache_config_file(),
|
| + port.host.filesystem.join(port.layout_tests_dir(), 'http/conf/httpd.conf'))
|
|
|
| # Check that even if we mock out _apache_config_file_name, the environment variable takes precedence.
|
| port.host.environ['WEBKIT_HTTP_SERVER_CONF_PATH'] = '/existing/httpd.conf'
|
|
|