Changeset 104725 in webkit
- Timestamp:
- Jan 11, 2012 11:26:25 AM (12 years ago)
- Location:
- trunk/Tools
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r104718 r104725 1 2012-01-11 Dirk Pranke <dpranke@chromium.org> 2 3 webkitpy: clean up version detection in webkitpy.layout_tests.port 4 https://bugs.webkit.org/show_bug.cgi?id=76016 5 6 Reviewed by Adam Barth. 7 8 This change updates the code in webkitpy.layout_tests.port to 9 use the new os_name and os_version fields on host.platform. This 10 gets layout_tests.port out of the version parsing business. Most 11 of the diffs are just cleaning up test code to accomodate the 12 changes. 13 14 * Scripts/webkitpy/common/system/executive_mock.py: 15 (MockExecutive): 16 (MockExecutive.ignore_error): 17 (MockExecutive2): 18 (MockExecutive2.ignore_error): 19 * Scripts/webkitpy/common/system/platforminfo_mock.py: 20 (MockPlatformInfo.is_mac): 21 (MockPlatformInfo.is_linux): 22 (MockPlatformInfo.is_win): 23 * Scripts/webkitpy/common/system/systemhost_mock.py: 24 (MockSystemHost.__init__): 25 * Scripts/webkitpy/layout_tests/port/apple.py: 26 (ApplePort.__init__): 27 * Scripts/webkitpy/layout_tests/port/chromium_mac.py: 28 (ChromiumMacPort.__init__): 29 (ChromiumMacPort.check_wdiff): 30 * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: 31 (ChromiumMacPortTest): 32 (ChromiumMacPortTest.assert_name): 33 (ChromiumMacPortTest.test_versions): 34 * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: 35 (ChromiumPortTest.test_all_test_configurations): 36 (ChromiumPortTest.TestMacPort.__init__): 37 (ChromiumPortTest.TestLinuxPort.__init__): 38 (ChromiumPortTest.TestWinPort.__init__): 39 * Scripts/webkitpy/layout_tests/port/chromium_win.py: 40 (ChromiumWinPort.__init__): 41 * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py: 42 (ChromiumWinTest): 43 (ChromiumWinTest.assert_name): 44 (ChromiumWinTest.test_versions): 45 (ChromiumWinTest.test_baseline_path): 46 (ChromiumWinTest.test_build_path): 47 * Scripts/webkitpy/layout_tests/port/factory.py: 48 (PortFactory._port_name_from_arguments_and_options): 49 (PortFactory.get): 50 * Scripts/webkitpy/layout_tests/port/factory_unittest.py: 51 (FactoryTest): 52 (FactoryTest.setUp): 53 (FactoryTest.assert_port): 54 (FactoryTest.test_mac): 55 (FactoryTest.test_win): 56 (FactoryTest.test_google_chrome): 57 (FactoryTest.test_gtk): 58 (FactoryTest.test_qt): 59 (FactoryTest.test_chromium_gpu): 60 (FactoryTest.test_chromium_gpu_linux): 61 (FactoryTest.test_chromium_gpu_mac): 62 (FactoryTest.test_chromium_gpu_win): 63 (FactoryTest.test_chromium_mac): 64 (FactoryTest.test_chromium_linux): 65 (FactoryTest.test_chromium_win): 66 (FactoryTest.test_unknown_specified): 67 (FactoryTest.test_unknown_default): 68 * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py: 69 (TestGoogleChromePort): 70 (TestGoogleChromePort._verify_baseline_path): 71 (TestGoogleChromePort._verify_expectations_overrides): 72 (TestGoogleChromePort.test_get_google_chrome_port): 73 * Scripts/webkitpy/layout_tests/port/mac.py: 74 (MacPort): 75 * Scripts/webkitpy/layout_tests/port/mac_unittest.py: 76 (MacTest): 77 (assert_name): 78 (test_tests_for_other_platforms): 79 (test_version): 80 (test_versions): 81 (test_is_version_methods): 82 (test_setup_environ_for_server): 83 (_assert_search_path): 84 (test_show_results_html_file): 85 * Scripts/webkitpy/layout_tests/port/port_testcase.py: 86 (PortTestCase): 87 (PortTestCase.make_port): 88 * Scripts/webkitpy/layout_tests/port/win.py: 89 (WinPort): 90 * Scripts/webkitpy/layout_tests/port/win_unittest.py: 91 (WinPortTest): 92 (WinPortTest.test_show_results_html_file): 93 (WinPortTest._assert_search_path): 94 (WinPortTest._assert_version): 95 1 96 2012-01-11 Hugo Parente Lima <hugo.lima@openbossa.org> 2 97 -
trunk/Tools/Scripts/webkitpy/common/system/executive_mock.py
r102056 r104725 35 35 # FIXME: This should be unified with MockExecutive2 36 36 class MockExecutive(object): 37 @staticmethod 38 def ignore_error(error): 39 pass 40 37 41 def __init__(self, should_log=False, should_throw=False, should_throw_when_run=None): 38 42 self._should_log = should_log … … 80 84 81 85 class MockExecutive2(object): 86 @staticmethod 87 def ignore_error(error): 88 pass 89 82 90 def __init__(self, output='', exit_code=0, exception=None, 83 91 run_command_fn=None, stderr=''): -
trunk/Tools/Scripts/webkitpy/common/system/platforminfo_mock.py
r104637 r104725 33 33 34 34 def is_mac(self): 35 return True35 return self.os_name == 'mac' 36 36 37 37 def is_linux(self): 38 return False38 return self.os_name == 'linux' 39 39 40 def is_win dows(self):41 return False40 def is_win(self): 41 return self.os_name == 'win' 42 42 43 43 def display_name(self): -
trunk/Tools/Scripts/webkitpy/common/system/systemhost_mock.py
r102393 r104725 36 36 37 37 class MockSystemHost(object): 38 def __init__(self, log_executive=False, executive_throws_when_run=None ):38 def __init__(self, log_executive=False, executive_throws_when_run=None, os_name=None, os_version=None): 39 39 self.executive = MockExecutive(should_log=log_executive, should_throw_when_run=executive_throws_when_run) 40 40 self.filesystem = MockFileSystem() 41 41 self.user = MockUser() 42 42 self.platform = MockPlatformInfo() 43 if os_name: 44 self.platform.os_name = os_name 45 if os_version: 46 self.platform.os_version = os_version 43 47 44 48 # FIXME: Should this take pointers to the filesystem and the executive? -
trunk/Tools/Scripts/webkitpy/layout_tests/port/apple.py
r104637 r104725 57 57 return port_name[len(self.port_name + '-'):] 58 58 59 def __init__(self, host, port_name=None, os_version_string=None,**kwargs):59 def __init__(self, host, port_name=None, **kwargs): 60 60 port_name = port_name or self.port_name 61 61 WebKitPort.__init__(self, host, port_name=port_name, **kwargs) … … 68 68 69 69 if port_name == self.port_name: 70 # FIXME: Use host.platforminfo.os_version instead. 71 self._version = self._detect_version(os_version_string) or self.FUTURE_VERSION 70 self._version = host.platform.os_version 72 71 self._name = self.port_name + '-' + self._version 73 72 else: -
trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py
r104637 r104725 31 31 32 32 import logging 33 import os34 33 import signal 35 34 36 from webkitpy.layout_tests.port import mac37 35 from webkitpy.layout_tests.port import chromium 38 39 from webkitpy.common.system.executive import Executive40 36 41 37 … … 84 80 chromium.ChromiumPort.__init__(self, host, port_name=port_name, **kwargs) 85 81 if port_name.endswith('-mac'): 86 # FIXME: Use host.platforminfo.os_version instead.87 self._version = mac.os_version(os_version_string, self.SUPPORTED_OS_VERSIONS)82 assert host.platform.is_mac() 83 self._version = host.platform.os_version 88 84 self._name = port_name + '-' + self._version 89 85 else: … … 142 138 try: 143 139 # We're ignoring the return and always returning True 144 self._executive.run_command([self._path_to_wdiff()], error_handler= Executive.ignore_error)140 self._executive.run_command([self._path_to_wdiff()], error_handler=self._executive.ignore_error) 145 141 except OSError: 146 142 if logging: -
trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py
r104416 r104725 29 29 import unittest 30 30 31 from webkitpy.thirdparty.mock import Mock32 from webkitpy.common.host_mock import MockHost33 34 31 from webkitpy.layout_tests.port import chromium_mac 35 32 from webkitpy.layout_tests.port import port_testcase … … 37 34 38 35 class ChromiumMacPortTest(port_testcase.PortTestCase): 36 os_name = 'mac' 37 os_version = 'leopard' 39 38 port_maker = chromium_mac.ChromiumMacPort 40 39 … … 43 42 44 43 def assert_name(self, port_name, os_version_string, expected): 45 port = self.make_port( port_name=port_name, os_version_string=os_version_string)44 port = self.make_port(os_version=os_version_string, port_name=port_name) 46 45 self.assertEquals(expected, port.name()) 47 46 … … 49 48 self.assertTrue(self.make_port().name() in ('chromium-mac-leopard', 'chromium-mac-snowleopard', 'chromium-mac-lion', 'chromium-mac-future')) 50 49 51 self.assert_name(None, ' 10.5.3', 'chromium-mac-leopard')52 self.assert_name('chromium-mac', ' 10.5.3', 'chromium-mac-leopard')53 self.assert_name('chromium-mac-leopard', ' 10.5.3', 'chromium-mac-leopard')54 self.assert_name('chromium-mac-leopard', ' 10.6.3', 'chromium-mac-leopard')50 self.assert_name(None, 'leopard', 'chromium-mac-leopard') 51 self.assert_name('chromium-mac', 'leopard', 'chromium-mac-leopard') 52 self.assert_name('chromium-mac-leopard', 'leopard', 'chromium-mac-leopard') 53 self.assert_name('chromium-mac-leopard', 'snowleopard', 'chromium-mac-leopard') 55 54 56 self.assert_name(None, ' 10.6.3', 'chromium-mac-snowleopard')57 self.assert_name('chromium-mac', ' 10.6.3', 'chromium-mac-snowleopard')58 self.assert_name('chromium-mac-snowleopard', ' 10.5.3', 'chromium-mac-snowleopard')59 self.assert_name('chromium-mac-snowleopard', ' 10.6.3', 'chromium-mac-snowleopard')55 self.assert_name(None, 'snowleopard', 'chromium-mac-snowleopard') 56 self.assert_name('chromium-mac', 'snowleopard', 'chromium-mac-snowleopard') 57 self.assert_name('chromium-mac-snowleopard', 'leopard', 'chromium-mac-snowleopard') 58 self.assert_name('chromium-mac-snowleopard', 'snowleopard', 'chromium-mac-snowleopard') 60 59 61 self.assert_name(None, '10.7', 'chromium-mac-lion') 62 self.assert_name(None, '10.7.3', 'chromium-mac-lion') 63 self.assert_name(None, '10.8', 'chromium-mac-future') 64 self.assert_name('chromium-mac', '10.7.3', 'chromium-mac-lion') 65 self.assert_name('chromium-mac-future', '10.4.3', 'chromium-mac-future') 66 self.assert_name('chromium-mac-future', '10.5.3', 'chromium-mac-future') 67 self.assert_name('chromium-mac-future', '10.6.3', 'chromium-mac-future') 68 self.assert_name('chromium-mac-future', '10.7.3', 'chromium-mac-future') 60 self.assert_name(None, 'lion', 'chromium-mac-lion') 61 self.assert_name(None, 'future', 'chromium-mac-future') 62 self.assert_name('chromium-mac', 'lion', 'chromium-mac-lion') 63 self.assert_name('chromium-mac-future', 'tiger', 'chromium-mac-future') 64 self.assert_name('chromium-mac-future', 'leopard', 'chromium-mac-future') 65 self.assert_name('chromium-mac-future', 'snowleopard', 'chromium-mac-future') 66 self.assert_name('chromium-mac-future', 'lion', 'chromium-mac-future') 69 67 70 self.assertRaises(AssertionError, self.assert_name, None, ' 10.4.1', 'should-raise-assertion-so-this-value-does-not-matter')68 self.assertRaises(AssertionError, self.assert_name, None, 'tiger', 'should-raise-assertion-so-this-value-does-not-matter') 71 69 72 70 def test_baseline_path(self): -
trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py
r104416 r104725 35 35 from webkitpy.common.system.executive_mock import MockExecutive, MockExecutive2 36 36 from webkitpy.common.system.filesystem_mock import MockFileSystem 37 from webkitpy.common. host_mock import MockHost37 from webkitpy.common.system.systemhost_mock import MockSystemHost 38 38 from webkitpy.thirdparty.mock import Mock 39 39 from webkitpy.tool.mocktool import MockOptions … … 159 159 def test_all_test_configurations(self): 160 160 """Validate the complete set of configurations this port knows about.""" 161 port = chromium.ChromiumPort(Mock Host())161 port = chromium.ChromiumPort(MockSystemHost()) 162 162 self.assertEquals(set(port.all_test_configurations()), set([ 163 163 TestConfiguration('leopard', 'x86', 'debug', 'cpu'), … … 210 210 def __init__(self, options=None): 211 211 options = options or MockOptions() 212 chromium_mac.ChromiumMacPort.__init__(self, Mock Host(), options=options)212 chromium_mac.ChromiumMacPort.__init__(self, MockSystemHost(os_name='mac', os_version='leopard'), options=options) 213 213 214 214 def default_configuration(self): … … 219 219 def __init__(self, options=None): 220 220 options = options or MockOptions() 221 chromium_linux.ChromiumLinuxPort.__init__(self, Mock Host(), options=options)221 chromium_linux.ChromiumLinuxPort.__init__(self, MockSystemHost(os_name='linux', os_version='lucid'), options=options) 222 222 223 223 def default_configuration(self): … … 228 228 def __init__(self, options=None): 229 229 options = options or MockOptions() 230 chromium_win.ChromiumWinPort.__init__(self, Mock Host(), options=options)230 chromium_win.ChromiumWinPort.__init__(self, MockSystemHost(os_name='win', os_version='xp'), options=options) 231 231 232 232 def default_configuration(self): -
trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py
r103952 r104725 32 32 import os 33 33 import logging 34 import sys35 34 36 35 import chromium … … 38 37 39 38 _log = logging.getLogger(__name__) 40 41 42 def os_version(windows_version=None):43 if not windows_version:44 if hasattr(sys, 'getwindowsversion'):45 windows_version = tuple(sys.getwindowsversion()[:2])46 else:47 # Make up something for testing.48 windows_version = (5, 1)49 50 version_strings = {51 (6, 1): 'win7',52 (6, 0): 'vista',53 (5, 1): 'xp',54 }55 return version_strings[windows_version]56 39 57 40 … … 91 74 chromium.ChromiumPort.__init__(self, host, port_name=port_name, **kwargs) 92 75 if port_name.endswith('-win'): 93 self._version = os_version(windows_version) 76 assert host.platform.is_win() 77 if host.platform.os_version == '7sp0': 78 self._version = 'win7' 79 else: 80 self._version = host.platform.os_version 94 81 self._name = port_name + '-' + self._version 95 82 else: 96 83 self._version = port_name[port_name.index('-win-') + len('-win-'):] 97 84 assert self._version in self.SUPPORTED_VERSIONS, "%s is not in %s" % (self._version, self.SUPPORTED_VERSIONS) 98 85 99 86 -
trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py
r103952 r104725 28 28 29 29 import os 30 import sys31 30 import unittest 32 31 33 32 from webkitpy.common.system import outputcapture 34 from webkitpy.common.host_mock import MockHost35 33 from webkitpy.common.system.executive_mock import MockExecutive 36 34 from webkitpy.common.system.filesystem_mock import MockFileSystem 37 38 35 from webkitpy.layout_tests.port import chromium_win 39 36 from webkitpy.layout_tests.port import port_testcase … … 47 44 48 45 port_maker = chromium_win.ChromiumWinPort 46 os_name = 'win' 47 os_version = 'xp' 49 48 50 49 def test_uses_apache(self): … … 73 72 output.assert_outputs(self, port.setup_environ_for_server, expected_stderr=expected_stderr) 74 73 75 def assert_name(self, port_name, windows_version, expected):76 port = chromium_win.ChromiumWinPort(MockHost(), port_name=port_name, windows_version=windows_version)74 def assert_name(self, port_name, os_version_string, expected): 75 port = self.make_port(port_name=port_name, os_version=os_version_string) 77 76 self.assertEquals(expected, port.name()) 78 77 79 78 def test_versions(self): 80 port = chromium_win.ChromiumWinPort(MockHost())79 port = self.make_port() 81 80 self.assertTrue(port.name() in ('chromium-win-xp', 'chromium-win-vista', 'chromium-win-win7')) 82 81 83 self.assert_name(None, (5, 1), 'chromium-win-xp')84 self.assert_name('chromium-win', (5, 1), 'chromium-win-xp')85 self.assert_name('chromium-win-xp', (5, 1), 'chromium-win-xp')86 self.assert_name('chromium-win-xp', (6, 0), 'chromium-win-xp')87 self.assert_name('chromium-win-xp', (6, 1), 'chromium-win-xp')82 self.assert_name(None, 'xp', 'chromium-win-xp') 83 self.assert_name('chromium-win', 'xp', 'chromium-win-xp') 84 self.assert_name('chromium-win-xp', 'xp', 'chromium-win-xp') 85 self.assert_name('chromium-win-xp', 'vista', 'chromium-win-xp') 86 self.assert_name('chromium-win-xp', '7sp0', 'chromium-win-xp') 88 87 89 self.assert_name(None, (6, 0), 'chromium-win-vista')90 self.assert_name('chromium-win', (6, 0), 'chromium-win-vista')91 self.assert_name('chromium-win-vista', (5, 1), 'chromium-win-vista')92 self.assert_name('chromium-win-vista', (6, 0), 'chromium-win-vista')93 self.assert_name('chromium-win-vista', (6, 1), 'chromium-win-vista')88 self.assert_name(None, 'vista', 'chromium-win-vista') 89 self.assert_name('chromium-win', 'vista', 'chromium-win-vista') 90 self.assert_name('chromium-win-vista', 'xp', 'chromium-win-vista') 91 self.assert_name('chromium-win-vista', 'vista', 'chromium-win-vista') 92 self.assert_name('chromium-win-vista', '7sp0', 'chromium-win-vista') 94 93 95 self.assert_name(None, (6, 1), 'chromium-win-win7')96 self.assert_name('chromium-win', (6, 1), 'chromium-win-win7')97 self.assert_name('chromium-win-win7', (5, 1), 'chromium-win-win7')98 self.assert_name('chromium-win-win7', (6, 0), 'chromium-win-win7')99 self.assert_name('chromium-win-win7', (6, 1), 'chromium-win-win7')94 self.assert_name(None, '7sp0', 'chromium-win-win7') 95 self.assert_name('chromium-win', '7sp0', 'chromium-win-win7') 96 self.assert_name('chromium-win-win7', 'xp', 'chromium-win-win7') 97 self.assert_name('chromium-win-win7', 'vista', 'chromium-win-win7') 98 self.assert_name('chromium-win-win7', '7sp0', 'chromium-win-win7') 100 99 101 self.assertRaises(KeyError, self.assert_name, None, (4, 0), 'chromium-win-xp') 102 self.assertRaises(KeyError, self.assert_name, None, (5, 0), 'chromium-win-xp') 103 self.assertRaises(KeyError, self.assert_name, None, (5, 2), 'chromium-win-xp') 104 self.assertRaises(KeyError, self.assert_name, None, (7, 1), 'chromium-win-xp') 100 self.assertRaises(AssertionError, self.assert_name, None, 'w2k', 'chromium-win-xp') 105 101 106 102 def test_baseline_path(self): 107 port = chromium_win.ChromiumWinPort(MockHost(),port_name='chromium-win-xp')103 port = self.make_port(port_name='chromium-win-xp') 108 104 self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-win-xp')) 109 105 110 port = chromium_win.ChromiumWinPort(MockHost(),port_name='chromium-win-vista')106 port = self.make_port(port_name='chromium-win-vista') 111 107 self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-win-vista')) 112 108 113 port = chromium_win.ChromiumWinPort(MockHost(),port_name='chromium-win-win7')109 port = self.make_port(port_name='chromium-win-win7') 114 110 self.assertEquals(port.baseline_path(), port._webkit_baseline_path('chromium-win')) 115 111 116 112 def test_build_path(self): 117 host = MockHost()118 host.filesystem = MockFileSystem(files={113 port = self.make_port() 114 port._filesystem.files = { 119 115 '/mock-checkout/Source/WebKit/chromium/build/Release/DumpRenderTree.exe': 'exe', 120 }) 121 122 port = chromium_win.ChromiumWinPort(host) 116 } 123 117 self.assertEquals( 124 118 '/mock-checkout/Source/WebKit/chromium/build/Release/DumpRenderTree.exe', -
trunk/Tools/Scripts/webkitpy/layout_tests/port/factory.py
r104416 r104725 31 31 32 32 import re 33 import sys34 33 35 34 from webkitpy.layout_tests.port import builders … … 48 47 def _port_name_from_arguments_and_options(self, port_name, options, platform): 49 48 if port_name == 'chromium-gpu': 50 if platform in ('cygwin', 'win32'):49 if platform.is_win(): 51 50 return 'chromium-gpu-win' 52 if platform. startswith('linux'):51 if platform.is_linux(): 53 52 return 'chromium-gpu-linux' 54 if platform == 'darwin':53 if platform.is_mac(): 55 54 return 'chromium-gpu-mac' 56 55 … … 58 57 return port_name 59 58 60 if platform in ('win32', 'cygwin'):59 if platform.is_win(): 61 60 if options and hasattr(options, 'chromium') and options.chromium: 62 61 return 'chromium-win' 63 62 return 'win' 64 if platform. startswith('linux'):63 if platform.is_linux(): 65 64 return 'chromium-linux' 66 if platform == 'darwin':65 if platform.is_mac(): 67 66 if options and hasattr(options, 'chromium') and options.chromium: 68 67 return 'chromium-mac' 69 68 return 'mac' 70 69 71 raise NotImplementedError('unknown port; platform = "%s"' % platform)70 raise NotImplementedError('unknown port; os_name = "%s"' % platform.os_name) 72 71 73 def get(self, port_name=None, options=None, platform=None,**kwargs):72 def get(self, port_name=None, options=None, **kwargs): 74 73 """Returns an object implementing the Port interface. If 75 74 port_name is None, this routine attempts to guess at the most 76 75 appropriate port on this platform.""" 77 platform = platform or sys.platform 78 port_to_use = self._port_name_from_arguments_and_options(port_name, options, platform) 76 port_to_use = self._port_name_from_arguments_and_options(port_name, options, self._host.platform) 79 77 if port_to_use.startswith('test'): 80 78 import test -
trunk/Tools/Scripts/webkitpy/layout_tests/port/factory_unittest.py
r104416 r104725 27 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 28 29 import sys30 29 import unittest 31 30 32 31 from webkitpy.tool.mocktool import MockOptions 33 32 from webkitpy.common.system.systemhost_mock import MockSystemHost 33 from webkitpy.layout_tests.port.factory import PortFactory 34 34 35 35 import chromium_gpu … … 38 38 import chromium_win 39 39 import dryrun 40 import factory41 40 import google_chrome 42 41 import gtk … … 48 47 49 48 class FactoryTest(unittest.TestCase): 50 """Test factory creates proper port object for the target. 51 52 Target is specified by port_name, sys.platform and options. 53 54 """ 49 """Test that the factory creates the proper port object for given combination of port_name, host.platform, and options.""" 55 50 # FIXME: The ports themselves should expose what options they require, 56 51 # instead of passing generic "options". 57 52 58 53 def setUp(self): 59 self.real_sys_platform = sys.platform60 54 self.webkit_options = MockOptions(pixel_tests=False) 61 55 self.chromium_options = MockOptions(pixel_tests=False, chromium=True) 62 self.factory = factory.PortFactory(MockSystemHost())63 56 64 def tearDown(self): 65 sys.platform = self.real_sys_platform 66 67 def assert_port(self, port_name, expected_port, port_obj=None, platform=None): 68 """Helper assert for port_name. 69 70 Args: 71 port_name: port name to get port object. 72 expected_port: class of expected port object. 73 port_obj: optional port object 74 """ 75 port_obj = port_obj or self.factory.get(port_name=port_name, platform=platform) 76 self.assertTrue(isinstance(port_obj, expected_port)) 77 78 def assert_platform_port(self, platform, options, expected_port): 79 """Helper assert for platform and options. 80 81 Args: 82 platform: sys.platform. 83 options: options to get port object. 84 expected_port: class of expected port object. 85 86 """ 87 # FIXME: Hacking sys.platform like this is WRONG. 88 orig_platform = sys.platform 89 sys.platform = platform 90 # FIXME: We need a better way to mock this. 91 self.assertTrue(isinstance(self.factory.get(options=options), expected_port)) 92 sys.platform = orig_platform 57 def assert_port(self, port_name=None, os_name=None, os_version=None, options=None, cls=None): 58 host = MockSystemHost(os_name=os_name, os_version=os_version) 59 port = PortFactory(host).get(port_name, options=options) 60 self.assertTrue(isinstance(port, cls)) 93 61 94 62 def test_mac(self): 95 self.assert_port("mac", mac.MacPort) 96 self.assert_platform_port("darwin", None, mac.MacPort) 97 self.assert_platform_port("darwin", self.webkit_options, mac.MacPort) 63 self.assert_port(port_name='mac', cls=mac.MacPort) 64 self.assert_port(port_name=None, os_name='mac', os_version='leopard', cls=mac.MacPort) 98 65 99 66 def test_win(self): 100 self.assert_port("win", win.WinPort) 101 self.assert_platform_port("win32", None, win.WinPort) 102 self.assert_platform_port("win32", self.webkit_options, win.WinPort) 103 self.assert_platform_port("cygwin", None, win.WinPort) 104 self.assert_platform_port("cygwin", self.webkit_options, win.WinPort) 67 self.assert_port(port_name='win', cls=win.WinPort) 68 self.assert_port(port_name=None, os_name='win', os_version='xp', cls=win.WinPort) 69 self.assert_port(port_name=None, os_name='win', os_version='xp', options=self.webkit_options, cls=win.WinPort) 105 70 106 71 def test_google_chrome(self): 107 self.assert_port("google-chrome-linux32", google_chrome.GoogleChromeLinux32Port) 108 self.assert_port("google-chrome-linux64", google_chrome.GoogleChromeLinux64Port) 109 self.assert_port("google-chrome-win", google_chrome.GoogleChromeWinPort) 110 self.assert_port("google-chrome-mac", google_chrome.GoogleChromeMacPort) 72 self.assert_port(port_name='google-chrome-linux32', 73 cls=google_chrome.GoogleChromeLinux32Port) 74 self.assert_port(port_name='google-chrome-linux64', os_name='linux', os_version='lucid', 75 cls=google_chrome.GoogleChromeLinux64Port) 76 self.assert_port(port_name='google-chrome-linux64', 77 cls=google_chrome.GoogleChromeLinux64Port) 78 self.assert_port(port_name='google-chrome-win-xp', 79 cls=google_chrome.GoogleChromeWinPort) 80 self.assert_port(port_name='google-chrome-win', os_name='win', os_version='xp', 81 cls=google_chrome.GoogleChromeWinPort) 82 self.assert_port(port_name='google-chrome-win-xp', os_name='win', os_version='xp', 83 cls=google_chrome.GoogleChromeWinPort) 84 self.assert_port(port_name='google-chrome-mac', os_name='mac', os_version='leopard', 85 cls=google_chrome.GoogleChromeMacPort) 86 self.assert_port(port_name='google-chrome-mac-leopard', os_name='mac', os_version='leopard', 87 cls=google_chrome.GoogleChromeMacPort) 88 self.assert_port(port_name='google-chrome-mac-leopard', 89 cls=google_chrome.GoogleChromeMacPort) 111 90 112 91 def test_gtk(self): 113 self.assert_port( "gtk",gtk.GtkPort)92 self.assert_port(port_name='gtk', cls=gtk.GtkPort) 114 93 115 94 def test_qt(self): 116 self.assert_port( "qt",qt.QtPort)95 self.assert_port(port_name='qt', cls=qt.QtPort) 117 96 118 97 def test_chromium_gpu(self): 119 self.assert_port('chromium-gpu', chromium_gpu.ChromiumGpuMacPort, platform='darwin') 120 self.assert_port('chromium-gpu', chromium_gpu.ChromiumGpuWinPort, platform='win32') 121 self.assert_port('chromium-gpu', chromium_gpu.ChromiumGpuWinPort, platform='cygwin') 122 self.assert_port('chromium-gpu', chromium_gpu.ChromiumGpuLinuxPort, platform='linux2') 123 self.assert_port('chromium-gpu', chromium_gpu.ChromiumGpuLinuxPort, platform='linux3') 98 self.assert_port(port_name='chromium-gpu', os_name='mac', os_version='leopard', 99 cls=chromium_gpu.ChromiumGpuMacPort) 100 self.assert_port(port_name='chromium-gpu', os_name='win', os_version='xp', 101 cls=chromium_gpu.ChromiumGpuWinPort) 102 self.assert_port(port_name='chromium-gpu', os_name='linux', os_version='lucid', 103 cls=chromium_gpu.ChromiumGpuLinuxPort) 124 104 125 105 def test_chromium_gpu_linux(self): 126 self.assert_port( "chromium-gpu-linux",chromium_gpu.ChromiumGpuLinuxPort)106 self.assert_port(port_name='chromium-gpu-linux', cls=chromium_gpu.ChromiumGpuLinuxPort) 127 107 128 108 def test_chromium_gpu_mac(self): 129 self.assert_port( "chromium-gpu-mac",chromium_gpu.ChromiumGpuMacPort)109 self.assert_port(port_name='chromium-gpu-mac-leopard', cls=chromium_gpu.ChromiumGpuMacPort) 130 110 131 111 def test_chromium_gpu_win(self): 132 self.assert_port( "chromium-gpu-win",chromium_gpu.ChromiumGpuWinPort)112 self.assert_port(port_name='chromium-gpu-win-xp', cls=chromium_gpu.ChromiumGpuWinPort) 133 113 134 114 def test_chromium_mac(self): 135 self.assert_port("chromium-mac", chromium_mac.ChromiumMacPort) 136 self.assert_platform_port("darwin", self.chromium_options, 137 chromium_mac.ChromiumMacPort) 115 self.assert_port(port_name='chromium-mac-leopard', cls=chromium_mac.ChromiumMacPort) 116 self.assert_port(port_name='chromium-mac', os_name='mac', os_version='leopard', 117 cls=chromium_mac.ChromiumMacPort) 118 self.assert_port(port_name=None, os_name='mac', os_version='leopard', options=self.chromium_options, 119 cls=chromium_mac.ChromiumMacPort) 138 120 139 121 def test_chromium_linux(self): 140 self.assert_port("chromium-linux", chromium_linux.ChromiumLinuxPort) 141 self.assert_platform_port("linux2", self.chromium_options, 142 chromium_linux.ChromiumLinuxPort) 143 self.assert_platform_port("linux3", self.chromium_options, 144 chromium_linux.ChromiumLinuxPort) 122 self.assert_port(port_name='chromium-linux', cls=chromium_linux.ChromiumLinuxPort) 123 self.assert_port(port_name=None, os_name='linux', os_version='lucid', options=self.chromium_options, 124 cls=chromium_linux.ChromiumLinuxPort) 145 125 146 126 def test_chromium_win(self): 147 self.assert_port( "chromium-win",chromium_win.ChromiumWinPort)148 self.assert_p latform_port("win32", self.chromium_options,149 150 self.assert_p latform_port("cygwin",self.chromium_options,151 127 self.assert_port(port_name='chromium-win-xp', cls=chromium_win.ChromiumWinPort) 128 self.assert_port(port_name='chromium-win', os_name='win', os_version='xp', 129 cls=chromium_win.ChromiumWinPort) 130 self.assert_port(port_name=None, os_name='win', os_version='xp', options=self.chromium_options, 131 cls=chromium_win.ChromiumWinPort) 152 132 153 133 def test_unknown_specified(self): 154 # Test what happens when you specify an unknown port. 155 self.assertRaises(NotImplementedError, self.factory.get, port_name='unknown') 134 self.assertRaises(NotImplementedError, PortFactory(MockSystemHost()).get, port_name='unknown') 156 135 157 136 def test_unknown_default(self): 158 # Test what happens when you're running on an unknown platform. 159 orig_platform = sys.platform 160 sys.platform = 'unknown' 161 self.assertRaises(NotImplementedError, self.factory.get) 162 sys.platform = orig_platform 137 self.assertRaises(NotImplementedError, PortFactory(MockSystemHost(os_name='vms')).get) 163 138 164 139 -
trunk/Tools/Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py
r104416 r104725 27 27 import unittest 28 28 29 from webkitpy.common.host_mock import MockHost 29 from webkitpy.common.system.systemhost_mock import MockSystemHost 30 from webkitpy.layout_tests.port.factory import PortFactory 30 31 31 32 32 class GetGoogleChromePortTest(unittest.TestCase): 33 def test_get_google_chrome_port(self): 34 test_ports = ('google-chrome-linux32', 'google-chrome-linux64', 'google-chrome-mac', 'google-chrome-win') 35 for port in test_ports: 36 self._verify_baseline_path(port, port) 37 self._verify_expectations_overrides(port) 38 39 self._verify_baseline_path('google-chrome-mac', 'google-chrome-mac-leopard') 40 self._verify_baseline_path('google-chrome-win', 'google-chrome-win-xp') 41 self._verify_baseline_path('google-chrome-win', 'google-chrome-win-vista') 42 33 class TestGoogleChromePort(unittest.TestCase): 43 34 def _verify_baseline_path(self, expected_path, port_name): 44 port = MockHost().port_factory.get(port_name=port_name)35 port = PortFactory(MockSystemHost()).get(port_name=port_name) 45 36 path = port.baseline_search_path()[0] 46 37 self.assertEqual(expected_path, port._filesystem.basename(path)) 47 38 48 39 def _verify_expectations_overrides(self, port_name): 49 # FIXME: Make this more robust when we have the Tree() abstraction. 50 # we should be able to test for the files existing or not, and 51 # be able to control the contents better. 52 # FIXME: What is the Tree() abstraction? 53 54 host = MockHost() 55 chromium_port = host.port_factory.get("chromium-mac") 40 host = MockSystemHost() 41 chromium_port = PortFactory(host).get("chromium-mac-leopard") 56 42 chromium_base = chromium_port.path_from_chromium_base() 57 port = host.port_factory.get(port_name=port_name, options=None)43 port = PortFactory(host).get(port_name=port_name, options=None) 58 44 59 45 expected_chromium_overrides = '// chromium overrides\n' … … 71 57 self.assertEqual(actual_chrome_overrides, expected_chromium_overrides + expected_chrome_overrides) 72 58 59 def test_get_google_chrome_port(self): 60 self._verify_baseline_path('google-chrome-linux32', 'google-chrome-linux32') 61 self._verify_baseline_path('google-chrome-linux64', 'google-chrome-linux64') 62 self._verify_baseline_path('google-chrome-mac', 'google-chrome-mac-leopard') 63 self._verify_baseline_path('google-chrome-win', 'google-chrome-win-xp') 64 65 self._verify_expectations_overrides('google-chrome-mac-leopard') 66 self._verify_expectations_overrides('google-chrome-win-xp') 67 self._verify_expectations_overrides('google-chrome-linux32') 68 self._verify_expectations_overrides('google-chrome-linux64') 69 73 70 74 71 if __name__ == '__main__': -
trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py
r104637 r104725 28 28 29 29 import logging 30 import platform31 30 import re 32 31 … … 37 36 _log = logging.getLogger(__name__) 38 37 39 # FIXME: Delete this when we switch to using host.platforminfo.os_version instead.40 def os_version(os_version_string=None, supported_versions=None):41 if not os_version_string:42 if hasattr(platform, 'mac_ver') and platform.mac_ver()[0]:43 os_version_string = platform.mac_ver()[0]44 else:45 # Make up something for testing.46 os_version_string = "10.5.6"47 release_version = int(os_version_string.split('.')[1])48 version_strings = {49 5: 'leopard',50 6: 'snowleopard',51 7: 'lion',52 }53 assert release_version >= min(version_strings.keys())54 version_string = version_strings.get(release_version, 'future')55 if supported_versions:56 assert version_string in supported_versions57 return version_string58 59 60 38 class MacPort(ApplePort): 61 39 port_name = "mac" … … 64 42 # and the order of fallback between them. Matches ORWT. 65 43 VERSION_FALLBACK_ORDER = ["mac-leopard", "mac-snowleopard", "mac-lion", "mac"] 66 67 # FIXME: Delete this when we switch to using host.platforminfo.os_version instead.68 def _detect_version(self, os_version_string):69 # FIXME: MacPort and WinPort implement _detect_version differently.70 # WinPort uses os_version_string as a replacement for self.version.71 # Thus just returns os_version_string from this function if not None.72 # Mac (incorrectly) uses os_version_string as a way to unit-test73 # the os_version parsing logic. We should split the os_version parsing tests74 # into separate unittests so that they do not need to construct75 # MacPort objects just to test our version parsing.76 return os_version(os_version_string)77 44 78 45 def __init__(self, host, **kwargs): -
trunk/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py
r103952 r104725 33 33 from webkitpy.tool.mocktool import MockOptions 34 34 from webkitpy.common.system.executive_mock import MockExecutive 35 from webkitpy.common. host_mock import MockHost35 from webkitpy.common.system.systemhost_mock import MockSystemHost 36 36 37 37 38 38 class MacTest(port_testcase.PortTestCase): 39 os_name = 'mac' 40 os_version = 'leopard' 39 41 port_maker = MacPort 40 42 … … 75 77 76 78 def assert_name(self, port_name, os_version_string, expected): 77 port = self.make_port(port_name=port_name, os_version_string=os_version_string) 79 host = MockSystemHost(os_name='mac', os_version=os_version_string) 80 port = self.make_port(host=host, port_name=port_name) 78 81 self.assertEquals(expected, port.name()) 79 82 80 83 def test_tests_for_other_platforms(self): 81 84 platforms = ['mac', 'chromium-linux', 'mac-snowleopard'] 82 port = MacPort(MockHost(),port_name='mac-snowleopard')85 port = self.make_port(port_name='mac-snowleopard') 83 86 platform_dir_paths = map(port._webkit_baseline_path, platforms) 84 87 # Replace our empty mock file system with one which has our expected platform directories. … … 91 94 92 95 def test_version(self): 93 port = MacPort(MockHost())96 port = self.make_port() 94 97 self.assertTrue(port.version()) 95 98 96 99 def test_versions(self): 97 self.assert_name(None, ' 10.5.3', 'mac-leopard')98 self.assert_name('mac', ' 10.5.3', 'mac-leopard')99 self.assert_name('mac-leopard', ' 10.4.8', 'mac-leopard')100 self.assert_name('mac-leopard', ' 10.5.3', 'mac-leopard')101 self.assert_name('mac-leopard', ' 10.6.3', 'mac-leopard')100 self.assert_name(None, 'leopard', 'mac-leopard') 101 self.assert_name('mac', 'leopard', 'mac-leopard') 102 self.assert_name('mac-leopard', 'tiger', 'mac-leopard') 103 self.assert_name('mac-leopard', 'leopard', 'mac-leopard') 104 self.assert_name('mac-leopard', 'snowleopard', 'mac-leopard') 102 105 103 self.assert_name(None, ' 10.6.3', 'mac-snowleopard')104 self.assert_name('mac', ' 10.6.3', 'mac-snowleopard')105 self.assert_name('mac-snowleopard', ' 10.4.3', 'mac-snowleopard')106 self.assert_name('mac-snowleopard', ' 10.5.3', 'mac-snowleopard')107 self.assert_name('mac-snowleopard', ' 10.6.3', 'mac-snowleopard')106 self.assert_name(None, 'snowleopard', 'mac-snowleopard') 107 self.assert_name('mac', 'snowleopard', 'mac-snowleopard') 108 self.assert_name('mac-snowleopard', 'tiger', 'mac-snowleopard') 109 self.assert_name('mac-snowleopard', 'leopard', 'mac-snowleopard') 110 self.assert_name('mac-snowleopard', 'snowleopard', 'mac-snowleopard') 108 111 109 self.assert_name(None, ' 10.7', 'mac-lion')110 self.assert_name( None, '10.7.3', 'mac-lion')111 self.assert_name('mac ', '10.7.3', 'mac-lion')112 self.assert_name(None, 'lion', 'mac-lion') 113 self.assert_name('mac', 'lion', 'mac-lion') 114 self.assert_name('mac-lion', 'lion', 'mac-lion') 112 115 113 self.assert_name(None, ' 10.9', 'mac-future')114 self.assert_name('mac', ' 10.9', 'mac-future')115 self.assert_name('mac-future', ' 10.9', 'mac-future')116 self.assert_name(None, 'future', 'mac-future') 117 self.assert_name('mac', 'future', 'mac-future') 118 self.assert_name('mac-future', 'future', 'mac-future') 116 119 117 self.assertRaises(AssertionError, self.assert_name, None, '10.3.1', 'should-raise-assertion-so-this-value-does-not-matter')118 120 119 121 def test_is_version_methods(self): 120 leopard_port = self.make_port(port_name='mac-leopard' , os_version_string='10.5.3')122 leopard_port = self.make_port(port_name='mac-leopard') 121 123 self.assertTrue(leopard_port.is_leopard()) 122 124 self.assertFalse(leopard_port.is_snowleopard()) 123 125 self.assertFalse(leopard_port.is_lion()) 124 126 125 snowleopard_port = self.make_port(port_name='mac-snowleopard' , os_version_string='10.6.3')127 snowleopard_port = self.make_port(port_name='mac-snowleopard') 126 128 self.assertFalse(snowleopard_port.is_leopard()) 127 129 self.assertTrue(snowleopard_port.is_snowleopard()) 128 130 self.assertFalse(snowleopard_port.is_lion()) 129 131 130 lion_port = self.make_port(port_name='mac-lion' , os_version_string='10.7.2')132 lion_port = self.make_port(port_name='mac-lion') 131 133 self.assertFalse(lion_port.is_leopard()) 132 134 self.assertFalse(lion_port.is_snowleopard()) … … 134 136 135 137 def test_setup_environ_for_server(self): 136 port = MacPort(MockHost(),options=MockOptions(leaks=True, guard_malloc=True))138 port = self.make_port(options=MockOptions(leaks=True, guard_malloc=True)) 137 139 env = port.setup_environ_for_server(port.driver_name()) 138 140 self.assertEquals(env['MallocStackLogging'], '1') … … 143 145 # rather be passed components (directly or via setters). Once 144 146 # we fix that, this method will need a re-write. 145 port = MacPort(MockHost(),port_name='mac-%s' % version, options=MockOptions(webkit_test_runner=use_webkit2))147 port = self.make_port(port_name='mac-%s' % version, options=MockOptions(webkit_test_runner=use_webkit2)) 146 148 absolute_search_paths = map(port._webkit_baseline_path, search_paths) 147 149 self.assertEquals(port.baseline_search_path(), absolute_search_paths) … … 158 160 159 161 def test_show_results_html_file(self): 160 port = MacPort(MockHost())162 port = self.make_port() 161 163 # Delay setting a should_log executive to avoid logging from MacPort.__init__. 162 164 port._executive = MockExecutive(should_log=True) -
trunk/Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py
r99781 r104725 47 47 from webkitpy.tool.mocktool import MockOptions 48 48 from webkitpy.common.system.executive_mock import MockExecutive 49 from webkitpy.common. host_mock import MockHost49 from webkitpy.common.system.systemhost_mock import MockSystemHost 50 50 51 51 … … 56 56 57 57 # Subclasses override this to point to their Port subclass. 58 os_name = None 59 os_version = None 58 60 port_maker = None 59 61 60 def make_port(self, host=None, options=None, **kwargs):61 host = host or Mock Host()62 def make_port(self, host=None, options=None, os_name=None, os_version=None, **kwargs): 63 host = host or MockSystemHost(os_name=(os_name or self.os_name), os_version=(os_version or self.os_version)) 62 64 options = options or MockOptions(configuration='Release') 63 65 return self.port_maker(host, options=options, **kwargs) -
trunk/Tools/Scripts/webkitpy/layout_tests/port/win.py
r104637 r104725 46 46 VERSION_FALLBACK_ORDER = ["win-xp", "win-vista", "win-7sp0", "win"] 47 47 48 # FIXME: Use host.platforminfo.os_version instead.49 def _version_string_from_windows_version_tuple(self, windows_version_tuple):50 if windows_version_tuple[:3] == (6, 1, 7600):51 return '7sp0'52 if windows_version_tuple[:2] == (6, 0):53 return 'vista'54 if windows_version_tuple[:2] == (5, 1):55 return 'xp'56 return None57 58 def _detect_version(self, os_version_string=None, run_on_non_windows_platforms=None):59 # FIXME: os_version_string is for unit testing, but may eventually be provided by factory.py instead.60 if os_version_string is not None:61 return os_version_string62 63 # No sense in trying to detect our windows version on non-windows platforms, unless we're unittesting.64 if sys.platform != 'cygwin' and not run_on_non_windows_platforms:65 return None66 67 # Note, this intentionally returns None to mean that it can't detect what the current version is.68 # Callers can then decide what version they want to pretend to be.69 try:70 ver_output = self._executive.run_command(['cmd', '/c', 'ver'])71 except (ScriptError, OSError), e:72 ver_output = ""73 _log.error("Failed to detect Windows version, assuming latest.\n%s" % e)74 match_object = re.search(r'(?P<major>\d)\.(?P<minor>\d)\.(?P<build>\d+)', ver_output)75 if match_object:76 version_tuple = tuple(map(int, match_object.groups()))77 return self._version_string_from_windows_version_tuple(version_tuple)78 79 48 def compare_text(self, expected_text, actual_text): 80 49 # Sanity was restored in WK2, so we don't need this hack there. -
trunk/Tools/Scripts/webkitpy/layout_tests/port/win_unittest.py
r104191 r104725 28 28 29 29 import StringIO 30 import sys31 30 import unittest 32 31 … … 34 33 from webkitpy.common.system.executive_mock import MockExecutive, MockExecutive2 35 34 from webkitpy.common.system.filesystem_mock import MockFileSystem 36 from webkitpy.common.host_mock import MockHost37 35 from webkitpy.common.system.outputcapture import OutputCapture 36 from webkitpy.common.system.systemhost_mock import MockSystemHost 38 37 from webkitpy.layout_tests.port import port_testcase 39 38 from webkitpy.layout_tests.port.win import WinPort … … 42 41 43 42 class WinPortTest(port_testcase.PortTestCase): 43 os_name = 'win' 44 os_version = 'xp' 44 45 port_maker = WinPort 45 46 … … 56 57 self.assertTrue(stderr.endswith("test.html'], cwd=/mock-checkout\n")) 57 58 58 def test_detect_version(self):59 port = self.make_port()60 61 def mock_run_command(cmd):62 self.assertEquals(cmd, ['cmd', '/c', 'ver'])63 return "6.1.7600"64 65 port._executive = MockExecutive2(run_command_fn=mock_run_command)66 self.assertEquals(port._detect_version(run_on_non_windows_platforms=True), '7sp0')67 68 def mock_run_command(cmd):69 raise ScriptError('Failure')70 71 port._executive = MockExecutive2(run_command_fn=mock_run_command)72 # Failures log to the python error log, but we have no easy way to capture/test that.73 self.assertEquals(port._detect_version(run_on_non_windows_platforms=True), None)74 75 59 def _assert_search_path(self, expected_search_paths, version, use_webkit2=False): 76 port = WinPort(os_version_string=version, 77 options=MockOptions(webkit_test_runner=use_webkit2), 78 host=MockHost()) 60 host = MockSystemHost(os_name='win', os_version=version) 61 port = WinPort(host, options=MockOptions(webkit_test_runner=use_webkit2)) 79 62 absolute_search_paths = map(port._webkit_baseline_path, expected_search_paths) 80 63 self.assertEquals(port.baseline_search_path(), absolute_search_paths) … … 92 75 93 76 def _assert_version(self, port_name, expected_version): 94 port = WinPort(port_name=port_name, host=MockHost()) 77 host = MockSystemHost(os_name='win', os_version=expected_version) 78 port = WinPort(host, port_name=port_name) 95 79 self.assertEquals(port.version(), expected_version) 96 80
Note: See TracChangeset
for help on using the changeset viewer.