summaryrefslogtreecommitdiffstats
path: root/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py')
-rw-r--r--Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py59
1 files changed, 43 insertions, 16 deletions
diff --git a/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py
index ef04679..4586a23 100644
--- a/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py
+++ b/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py
@@ -30,23 +30,18 @@ import StringIO
import sys
import unittest
-import mac
-import port_testcase
+from webkitpy.layout_tests.port import mac
+from webkitpy.layout_tests.port import port_testcase
class MacTest(port_testcase.PortTestCase):
- def make_port(self, port_name=None, options=port_testcase.mock_options):
- if sys.platform != 'darwin':
+ def port_maker(self, platform):
+ if platform != 'darwin':
return None
- port_obj = mac.MacPort(port_name=port_name, options=options)
- port_obj._options.results_directory = port_obj.results_directory()
- port_obj._options.configuration = 'Release'
- return port_obj
+ return mac.MacPort
def assert_skipped_files_for_version(self, port_name, expected_paths):
- port = self.make_port(port_name)
- if not port:
- return
+ port = mac.MacPort(port_name=port_name)
skipped_paths = port._skipped_file_paths()
# FIXME: _skipped_file_paths should return WebKit-relative paths.
# So to make it unit testable, we strip the WebKit directory from the path.
@@ -54,8 +49,11 @@ class MacTest(port_testcase.PortTestCase):
self.assertEqual(relative_paths, expected_paths)
def test_skipped_file_paths(self):
- self.assert_skipped_files_for_version('mac',
- ['/LayoutTests/platform/mac/Skipped'])
+ # We skip this on win32 because we use '/' as the dir separator and it's
+ # not worth making platform-independent.
+ if sys.platform == 'win32':
+ return None
+
self.assert_skipped_files_for_version('mac-snowleopard',
['/LayoutTests/platform/mac-snowleopard/Skipped', '/LayoutTests/platform/mac/Skipped'])
self.assert_skipped_files_for_version('mac-leopard',
@@ -78,11 +76,40 @@ svg/batik/text/smallFonts.svg
]
def test_tests_from_skipped_file_contents(self):
- port = self.make_port()
- if not port:
- return
+ port = mac.MacPort()
self.assertEqual(port._tests_from_skipped_file_contents(self.example_skipped_file), self.example_skipped_tests)
+ def assert_name(self, port_name, os_version_string, expected):
+ port = mac.MacPort(port_name=port_name,
+ os_version_string=os_version_string)
+ self.assertEquals(expected, port.name())
+
+ def test_versions(self):
+ port = self.make_port()
+ if port:
+ self.assertTrue(port.name() in ('mac-tiger', 'mac-leopard', 'mac-snowleopard'))
+
+ self.assert_name(None, '10.4.8', 'mac-tiger')
+ self.assert_name('mac', '10.4.8', 'mac-tiger')
+ self.assert_name('mac-tiger', '10.4.8', 'mac-tiger')
+ self.assert_name('mac-tiger', '10.5.3', 'mac-tiger')
+ self.assert_name('mac-tiger', '10.6.3', 'mac-tiger')
+
+ self.assert_name(None, '10.5.3', 'mac-leopard')
+ self.assert_name('mac', '10.5.3', 'mac-leopard')
+ self.assert_name('mac-leopard', '10.4.8', 'mac-leopard')
+ self.assert_name('mac-leopard', '10.5.3', 'mac-leopard')
+ self.assert_name('mac-leopard', '10.6.3', 'mac-leopard')
+
+ self.assert_name(None, '10.6.3', 'mac-snowleopard')
+ self.assert_name('mac', '10.6.3', 'mac-snowleopard')
+ self.assert_name('mac-snowleopard', '10.4.3', 'mac-snowleopard')
+ self.assert_name('mac-snowleopard', '10.5.3', 'mac-snowleopard')
+ self.assert_name('mac-snowleopard', '10.6.3', 'mac-snowleopard')
+
+ self.assertRaises(KeyError, self.assert_name, None, '10.7.1', 'mac-leopard')
+ self.assertRaises(KeyError, self.assert_name, None, '10.3.1', 'mac-leopard')
+
if __name__ == '__main__':
unittest.main()