Add mountain lion to perf-tests, layout tests
authordpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Aug 2012 01:45:48 +0000 (01:45 +0000)
committerdpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Aug 2012 01:45:48 +0000 (01:45 +0000)
https://bugs.webkit.org/show_bug.cgi?id=94553

Reviewed by Adam Barth.

This patch adds support for the 'mac-mountainlion' platform and
stamps out the last references to 'mac-leopard' as a supported
name.

This patch does a small amount of refactoring to try and make
things a little clearer how we treat the "most recent version"
specially for baselines and skipped files, and so you only
should have to touch the VERSION_FALLBACK_ORDER constants on the
ports, but unfortunately changing this list changes a bunch of
the unit tests which are doing exact matches for correctness, so
you have to touch more than a couple files :(. There's probably
still more refactoring that can be done so that we don't have to
do all of this functional testing to feel completely correct.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._determine_mac_version):
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_os_version):
* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort.__init__):
(ApplePort):
(ApplePort._skipped_file_search_paths):
(ApplePort._generate_all_test_configurations):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(FactoryTest.test_mac):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort):
(MacPort._build_driver_flags):
(MacPort.should_retry_crashes):
(MacPort.default_baseline_search_path):
(MacPort.operating_system):
(MacPort.default_child_processes):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(MacTest):
(MacTest.test_skipped_file_search_paths):
(test_versions):
(test_baseline_search_path):
* Scripts/webkitpy/layout_tests/port/win.py:
(WinPort):
(WinPort.default_baseline_search_path):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@126247 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/webkitpy/common/system/platforminfo.py
Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py
Tools/Scripts/webkitpy/layout_tests/port/apple.py
Tools/Scripts/webkitpy/layout_tests/port/builders.py
Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py
Tools/Scripts/webkitpy/layout_tests/port/factory_unittest.py
Tools/Scripts/webkitpy/layout_tests/port/mac.py
Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py
Tools/Scripts/webkitpy/layout_tests/port/win.py
Tools/Scripts/webkitpy/tool/commands/rebaseline_unittest.py

index c7a9095..47f8b3e 100644 (file)
@@ -1,3 +1,53 @@
+2012-08-21  Dirk Pranke  <dpranke@chromium.org>
+
+        Add mountain lion to perf-tests, layout tests
+        https://bugs.webkit.org/show_bug.cgi?id=94553
+
+        Reviewed by Adam Barth.
+
+        This patch adds support for the 'mac-mountainlion' platform and
+        stamps out the last references to 'mac-leopard' as a supported
+        name.
+        
+        This patch does a small amount of refactoring to try and make
+        things a little clearer how we treat the "most recent version"
+        specially for baselines and skipped files, and so you only
+        should have to touch the VERSION_FALLBACK_ORDER constants on the
+        ports, but unfortunately changing this list changes a bunch of
+        the unit tests which are doing exact matches for correctness, so
+        you have to touch more than a couple files :(. There's probably
+        still more refactoring that can be done so that we don't have to
+        do all of this functional testing to feel completely correct.
+
+        * Scripts/webkitpy/common/system/platforminfo.py:
+        (PlatformInfo._determine_mac_version):
+        * Scripts/webkitpy/common/system/platforminfo_unittest.py:
+        (TestPlatformInfo.test_os_version):
+        * Scripts/webkitpy/layout_tests/port/apple.py:
+        (ApplePort.__init__):
+        (ApplePort):
+        (ApplePort._skipped_file_search_paths):
+        (ApplePort._generate_all_test_configurations):
+        * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+        (ChromiumMacPort):
+        * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
+        (FactoryTest.test_mac):
+        * Scripts/webkitpy/layout_tests/port/mac.py:
+        (MacPort):
+        (MacPort._build_driver_flags):
+        (MacPort.should_retry_crashes):
+        (MacPort.default_baseline_search_path):
+        (MacPort.operating_system):
+        (MacPort.default_child_processes):
+        * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
+        (MacTest):
+        (MacTest.test_skipped_file_search_paths):
+        (test_versions):
+        (test_baseline_search_path):
+        * Scripts/webkitpy/layout_tests/port/win.py:
+        (WinPort):
+        (WinPort.default_baseline_search_path):
+
 2012-08-21  Zan Dobersek  <zandobersek@gmail.com>
 
         [GTK] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html is failing
index 74cff54..a9717cc 100644 (file)
@@ -103,6 +103,7 @@ class PlatformInfo(object):
             '5': 'leopard',
             '6': 'snowleopard',
             '7': 'lion',
+            '8': 'mountainlion',
         }
         assert release_version >= min(version_strings.keys())
         return version_strings.get(release_version, 'future')
index 8fc961b..445ef5f 100644 (file)
@@ -133,7 +133,8 @@ class TestPlatformInfo(unittest.TestCase):
         self.assertEquals(self.make_info(fake_sys('darwin'), fake_platform('10.5.1')).os_version, 'leopard')
         self.assertEquals(self.make_info(fake_sys('darwin'), fake_platform('10.6.1')).os_version, 'snowleopard')
         self.assertEquals(self.make_info(fake_sys('darwin'), fake_platform('10.7.1')).os_version, 'lion')
-        self.assertEquals(self.make_info(fake_sys('darwin'), fake_platform('10.8.0')).os_version, 'future')
+        self.assertEquals(self.make_info(fake_sys('darwin'), fake_platform('10.8.1')).os_version, 'mountainlion')
+        self.assertEquals(self.make_info(fake_sys('darwin'), fake_platform('10.9.0')).os_version, 'future')
 
         self.assertEquals(self.make_info(fake_sys('linux2')).os_version, 'lucid')
 
index 28ecc63..58b5b64 100644 (file)
@@ -76,8 +76,14 @@ class ApplePort(Port):
 
         allowed_port_names = self.VERSION_FALLBACK_ORDER + [self.operating_system() + "-future"]
         port_name = port_name.replace('-wk2', '')
-        assert port_name in allowed_port_names, "%s is not in %s" % (port_name, allowed_port_names)
         self._version = self._strip_port_name_prefix(port_name)
+        assert port_name in allowed_port_names, "%s is not in %s" % (port_name, allowed_port_names)
+
+    def _skipped_file_search_paths(self):
+        # We don't have a dedicated Skipped file for the most recent version of the port;
+        # we just use the one in platform/{mac,win}
+        most_recent_name = self.VERSION_FALLBACK_ORDER[-1]
+        return set(filter(lambda name: name != most_recent_name, super(ApplePort, self)._skipped_file_search_paths()))
 
     # FIXME: A more sophisticated version of this function should move to WebKitPort and replace all calls to name().
     # This is also a misleading name, since 'mac-future' gets remapped to 'mac'.
@@ -87,14 +93,7 @@ class ApplePort(Port):
     def _generate_all_test_configurations(self):
         configurations = []
         for port_name in self.VERSION_FALLBACK_ORDER:
-            if '-' in port_name:
-                version = self._strip_port_name_prefix(port_name)
-            else:
-                # The version for the "base" port is currently defined as "future"
-                # since TestConfiguration doesn't allow None as a valid version.
-                version = self.FUTURE_VERSION
-
             for build_type in self.ALL_BUILD_TYPES:
                 for architecture in self.ARCHITECTURES:
-                    configurations.append(TestConfiguration(version=version, architecture=architecture, build_type=build_type))
+                    configurations.append(TestConfiguration(version=self._strip_port_name_prefix(port_name), architecture=architecture, build_type=build_type))
         return configurations
index 21fcc98..3d03fc7 100644 (file)
@@ -49,9 +49,12 @@ _exact_matches = {
     "Webkit Mac10.7": {"port_name": "chromium-mac-lion", "specifiers": set(["lion"])},
 
     # These builders are on build.webkit.org.
-    # FIXME: Remove rebaseline_override_dir once there is an Apple buildbot that corresponds to platform/mac (i.e. a Mountain Lion bot).
-    "Apple Lion Release WK1 (Tests)": {"port_name": "mac-lion", "specifiers": set(["lion"]), "rebaseline_override_dir": "mac"},
-    "Apple Lion Debug WK1 (Tests)": {"port_name": "mac-lion", "specifiers": set(["lion", "debug"]), "rebaseline_override_dir": "mac"},
+    "Apple MountainLion Release WK1 (Tests)": {"port_name": "mac-mountainlion", "specifiers": set(["mountainlion"]), "rebaseline_override_dir": "mac"},
+    "Apple MountainLion Debug WK1 (Tests)": {"port_name": "mac-mountainlion", "specifiers": set(["mountainlion", "debug"]), "rebaseline_override_dir": "mac"},
+    "Apple MountainLion Release WK2 (Tests)": {"port_name": "mac-mountainlion", "specifiers": set(["mountainlion", "wk2"]), "rebaseline_override_dir": "mac"},
+    "Apple MountainLion Debug WK2 (Tests)": {"port_name": "mac-mountainlion", "specifiers": set(["mountainlion", "wk2", "debug"]), "rebaseline_override_dir": "mac"},
+    "Apple Lion Release WK1 (Tests)": {"port_name": "mac-lion", "specifiers": set(["lion"])},
+    "Apple Lion Debug WK1 (Tests)": {"port_name": "mac-lion", "specifiers": set(["lion", "debug"])},
     "Apple Lion Release WK2 (Tests)": {"port_name": "mac-lion", "specifiers": set(["lion", "wk2"])},
     "Apple Lion Debug WK2 (Tests)": {"port_name": "mac-lion", "specifiers": set(["lion", "wk2", "debug"])},
 
index baea063..554feca 100644 (file)
@@ -39,7 +39,7 @@ _log = logging.getLogger(__name__)
 
 
 class ChromiumMacPort(chromium.ChromiumPort):
-    SUPPORTED_OS_VERSIONS = ('snowleopard', 'lion', 'future')
+    SUPPORTED_OS_VERSIONS = ('snowleopard', 'lion', 'mountainlion', 'future')
     port_name = 'chromium-mac'
 
     FALLBACK_PATHS = {
@@ -54,6 +54,11 @@ class ChromiumMacPort(chromium.ChromiumPort):
             'chromium',
             'mac',
         ],
+        'mountainlion': [  # FIXME: we don't treat ML different from Lion yet.
+            'chromium-mac',
+            'chromium',
+            'mac',
+        ],
         'future': [
             'chromium-mac',
             'chromium',
index 776433f..cba5d2b 100644 (file)
@@ -56,8 +56,8 @@ class FactoryTest(unittest.TestCase):
         self.assertTrue(isinstance(port, cls))
 
     def test_mac(self):
-        self.assert_port(port_name='mac-leopard', cls=mac.MacPort)
-        self.assert_port(port_name='mac-leopard-wk2', cls=mac.MacPort)
+        self.assert_port(port_name='mac-lion', cls=mac.MacPort)
+        self.assert_port(port_name='mac-lion-wk2', cls=mac.MacPort)
         self.assert_port(port_name='mac', os_name='mac', os_version='lion', cls=mac.MacPort)
         self.assert_port(port_name=None,  os_name='mac', os_version='lion', cls=mac.MacPort)
 
index d0caa5b..deee3d1 100644 (file)
@@ -46,9 +46,7 @@ _log = logging.getLogger(__name__)
 class MacPort(ApplePort):
     port_name = "mac"
 
-    # This is a list of all supported OS-VERSION pairs for the AppleMac port
-    # and the order of fallback between them.  Matches ORWT.
-    VERSION_FALLBACK_ORDER = ["mac-leopard", "mac-snowleopard", "mac-lion", "mac"]
+    VERSION_FALLBACK_ORDER = ['mac-snowleopard', 'mac-lion', 'mac-mountainlion']
 
     ARCHITECTURES = ['x86_64', 'x86']
 
@@ -73,25 +71,15 @@ class MacPort(ApplePort):
     def _build_driver_flags(self):
         return ['ARCHS=i386'] if self.architecture() == 'x86' else []
 
-    def _most_recent_version(self):
-        # This represents the most recently-shipping version of the operating system.
-        return self.VERSION_FALLBACK_ORDER[-2]
-
     def should_retry_crashes(self):
         # On Apple Mac, we retry crashes due to https://bugs.webkit.org/show_bug.cgi?id=82233
         return True
 
-    def baseline_path(self):
-        if self.name() == self._most_recent_version():
-            # Baselines for the most recently shiping version should go into 'mac', not 'mac-foo'.
-            if self.get_option('webkit_test_runner'):
-                return self._webkit_baseline_path('mac-wk2')
-            return self._webkit_baseline_path('mac')
-        return ApplePort.baseline_path(self)
-
     def default_baseline_search_path(self):
-        fallback_index = self.VERSION_FALLBACK_ORDER.index(self._port_name_with_version())
-        fallback_names = list(self.VERSION_FALLBACK_ORDER[fallback_index:])
+        if self._name.endswith(self.FUTURE_VERSION):
+            fallback_names = [self.port_name]
+        else:
+            fallback_names = self.VERSION_FALLBACK_ORDER[self.VERSION_FALLBACK_ORDER.index(self._name):-1] + [self.port_name]
         if self.get_option('webkit_test_runner'):
             fallback_names.insert(0, self._wk2_port_name())
             # Note we do not add 'wk2' here, even though it's included in _skipped_search_paths().
@@ -110,22 +98,10 @@ class MacPort(ApplePort):
     def operating_system(self):
         return 'mac'
 
-    # Belongs on a Platform object.
-    def is_leopard(self):
-        return self._version == "leopard"
-
-    # Belongs on a Platform object.
-    def is_snowleopard(self):
-        return self._version == "snowleopard"
-
-    # Belongs on a Platform object.
-    def is_lion(self):
-        return self._version == "lion"
-
     def default_child_processes(self):
         # FIXME: The Printer isn't initialized when this is called, so using _log would just show an unitialized logger error.
 
-        if self.is_snowleopard():
+        if self._version == "snowleopard":
             print >> sys.stderr, "Cannot run tests in parallel on Snow Leopard due to rdar://problem/10621525."
             return 1
 
index bc7b0df..e75aeef 100644 (file)
@@ -37,8 +37,8 @@ from webkitpy.common.system.systemhost_mock import MockSystemHost
 
 class MacTest(port_testcase.PortTestCase):
     os_name = 'mac'
-    os_version = 'leopard'
-    port_name = 'mac-leopard'
+    os_version = 'lion'
+    port_name = 'mac-lion'
     port_maker = MacPort
 
     def assert_skipped_file_search_paths(self, port_name, expected_paths, use_webkit2=False):
@@ -50,16 +50,15 @@ class MacTest(port_testcase.PortTestCase):
         self.assertEquals(self.make_port(options=MockOptions(guard_malloc=True)).default_timeout_ms(), 350000)
 
     def test_skipped_file_search_paths(self):
+        # We should have two skipped files - platform+version and platform; however, we don't
+        # have platform+version for either the most recent version or mac-future.
         self.assert_skipped_file_search_paths('mac-snowleopard', set(['mac-snowleopard', 'mac']))
-        self.assert_skipped_file_search_paths('mac-leopard', set(['mac-leopard', 'mac']))
         self.assert_skipped_file_search_paths('mac-lion', set(['mac-lion', 'mac']))
-
-        # Note that there is no platform/mac-future/Skipped.
+        self.assert_skipped_file_search_paths('mac-mountainlion', set(['mac']))
         self.assert_skipped_file_search_paths('mac-future', set(['mac']))
 
         self.assert_skipped_file_search_paths('mac-snowleopard', set(['mac-snowleopard', 'mac', 'mac-wk2', 'wk2']), use_webkit2=True)
-        self.assert_skipped_file_search_paths('mac-leopard', set(['mac-leopard', 'mac', 'mac-wk2', 'wk2']), use_webkit2=True)
-        self.assert_skipped_file_search_paths('mac-lion', set(['mac-lion', 'mac', 'mac-wk2', 'wk2']), use_webkit2=True)
+        self.assert_skipped_file_search_paths('mac-lion', set(['mac', 'mac-lion', 'mac-wk2', 'wk2']), use_webkit2=True)
         self.assert_skipped_file_search_paths('mac-future', set(['mac', 'mac-wk2', 'wk2']), use_webkit2=True)
 
 
@@ -110,41 +109,22 @@ java/
         self.assertTrue(port.version())
 
     def test_versions(self):
-        self.assert_name('mac', 'leopard', 'mac-leopard')
-        self.assert_name('mac-leopard', 'tiger', 'mac-leopard')
-        self.assert_name('mac-leopard', 'leopard', 'mac-leopard')
-        self.assert_name('mac-leopard', 'snowleopard', 'mac-leopard')
-
+        # Note: these tests don't need to be exhaustive as long as we get path coverage.
         self.assert_name('mac', 'snowleopard', 'mac-snowleopard')
-        self.assert_name('mac-snowleopard', 'tiger', 'mac-snowleopard')
         self.assert_name('mac-snowleopard', 'leopard', 'mac-snowleopard')
-        self.assert_name('mac-snowleopard', 'snowleopard', 'mac-snowleopard')
+        self.assert_name('mac-snowleopard', 'lion', 'mac-snowleopard')
 
         self.assert_name('mac', 'lion', 'mac-lion')
         self.assert_name('mac-lion', 'lion', 'mac-lion')
 
+        self.assert_name('mac', 'mountainlion', 'mac-mountainlion')
+        self.assert_name('mac-mountainlion', 'lion', 'mac-mountainlion')
+
         self.assert_name('mac', 'future', 'mac-future')
         self.assert_name('mac-future', 'future', 'mac-future')
 
         self.assertRaises(AssertionError, self.assert_name, 'mac-tiger', 'leopard', 'mac-leopard')
 
-
-    def test_is_version_methods(self):
-        leopard_port = self.make_port(port_name='mac-leopard')
-        self.assertTrue(leopard_port.is_leopard())
-        self.assertFalse(leopard_port.is_snowleopard())
-        self.assertFalse(leopard_port.is_lion())
-
-        snowleopard_port = self.make_port(port_name='mac-snowleopard')
-        self.assertFalse(snowleopard_port.is_leopard())
-        self.assertTrue(snowleopard_port.is_snowleopard())
-        self.assertFalse(snowleopard_port.is_lion())
-
-        lion_port = self.make_port(port_name='mac-lion')
-        self.assertFalse(lion_port.is_leopard())
-        self.assertFalse(lion_port.is_snowleopard())
-        self.assertTrue(lion_port.is_lion())
-
     def test_setup_environ_for_server(self):
         port = self.make_port(options=MockOptions(leaks=True, guard_malloc=True))
         env = port.setup_environ_for_server(port.driver_name())
@@ -158,18 +138,14 @@ java/
         self.assertEquals(port.baseline_search_path(), absolute_search_paths)
 
     def test_baseline_search_path(self):
-        self._assert_search_path('mac-leopard', 'mac-leopard', ['mac-leopard', 'mac-snowleopard', 'mac-lion', 'mac'])
+        # Note that we don't need total coverage here, just path coverage, since this is all data driven.
         self._assert_search_path('mac-snowleopard', 'mac-snowleopard', ['mac-snowleopard', 'mac-lion', 'mac'])
-
-        # Note that mac-lion writes baselines into mac, not mac-lion! (but it will read from mac-lion)
-        self._assert_search_path('mac-lion', 'mac', ['mac-lion', 'mac'])
-
-        # Note that there is no 'mac-future'; it uses the 'mac' directory as well.
+        self._assert_search_path('mac-lion', 'mac-lion', ['mac-lion', 'mac'])
+        self._assert_search_path('mac-mountainlion', 'mac', ['mac'])
         self._assert_search_path('mac-future', 'mac', ['mac'])
-
-        self._assert_search_path('mac-leopard', 'mac-wk2', ['mac-wk2', 'mac-leopard', 'mac-snowleopard', 'mac-lion', 'mac'], use_webkit2=True)
         self._assert_search_path('mac-snowleopard', 'mac-wk2', ['mac-wk2', 'mac-snowleopard', 'mac-lion', 'mac'], use_webkit2=True)
         self._assert_search_path('mac-lion', 'mac-wk2', ['mac-wk2', 'mac-lion', 'mac'], use_webkit2=True)
+        self._assert_search_path('mac-mountainlion', 'mac-wk2', ['mac-wk2', 'mac'], use_webkit2=True)
         self._assert_search_path('mac-future', 'mac-wk2', ['mac-wk2', 'mac'], use_webkit2=True)
 
     def test_show_results_html_file(self):
index 28465bf..ff473fe 100644 (file)
@@ -42,9 +42,7 @@ _log = logging.getLogger(__name__)
 class WinPort(ApplePort):
     port_name = "win"
 
-    # This is a list of all supported OS-VERSION pairs for the AppleWin port
-    # and the order of fallback between them.  Matches ORWT.
-    VERSION_FALLBACK_ORDER = ["win-xp", "win-vista", "win-7sp0", "win"]
+    VERSION_FALLBACK_ORDER = ["win-xp", "win-vista", "win-7sp0", "win-win7"]
 
     ARCHITECTURES = ['x86']
 
@@ -63,8 +61,10 @@ class WinPort(ApplePort):
         return expected_text != actual_text
 
     def default_baseline_search_path(self):
-        fallback_index = self.VERSION_FALLBACK_ORDER.index(self._port_name_with_version())
-        fallback_names = list(self.VERSION_FALLBACK_ORDER[fallback_index:])
+        if self._name.endswith(self.FUTURE_VERSION):
+            fallback_names = [self.port_name]
+        else:
+            fallback_names = self.VERSION_FALLBACK_ORDER[self.VERSION_FALLBACK_ORDER.index(self._name):-1] + [self.port_name]
         # FIXME: The AppleWin port falls back to AppleMac for some results.  Eventually we'll have a shared 'apple' port.
         if self.get_option('webkit_test_runner'):
             fallback_names.insert(0, 'win-wk2')
index 93bd5c5..cea6e2e 100644 (file)
@@ -49,7 +49,7 @@ class TestRebaseline(unittest.TestCase):
         command.bind_to_tool(tool)
         self.assertEqual(command._baseline_directory("Apple Win XP Debug (Tests)"), "/mock-checkout/LayoutTests/platform/win-xp")
         self.assertEqual(command._baseline_directory("Apple Win 7 Release (Tests)"), "/mock-checkout/LayoutTests/platform/win")
-        self.assertEqual(command._baseline_directory("Apple Lion Release WK1 (Tests)"), "/mock-checkout/LayoutTests/platform/mac")
+        self.assertEqual(command._baseline_directory("Apple Lion Release WK1 (Tests)"), "/mock-checkout/LayoutTests/platform/mac-lion")
         self.assertEqual(command._baseline_directory("Apple Lion Release WK2 (Tests)"), "/mock-checkout/LayoutTests/platform/mac-wk2")
         self.assertEqual(command._baseline_directory("GTK Linux 32-bit Release"), "/mock-checkout/LayoutTests/platform/gtk")
         self.assertEqual(command._baseline_directory("EFL Linux 64-bit Debug"), "/mock-checkout/LayoutTests/platform/efl")
@@ -272,6 +272,9 @@ Retrieving results for gtk from GTK Linux 64-bit Release.
 Retrieving results for mac-lion from Apple Lion Release WK1 (Tests).
     userscripts/another-test.html (txt)
     userscripts/images.svg (png)
+Retrieving results for mac-mountainlion from Apple MountainLion Release WK1 (Tests).
+    userscripts/another-test.html (txt)
+    userscripts/images.svg (png)
 Retrieving results for qt-linux from Qt Linux Release.
     userscripts/another-test.html (txt)
     userscripts/images.svg (png)
@@ -280,7 +283,7 @@ Retrieving results for win-7sp0 from Apple Win 7 Release (Tests).
     userscripts/images.svg (png)
 """
 
-        expected_stdout = """[(['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Linux 32', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Linux', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Mac10.6', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Mac10.7', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Win7', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Apple Win 7 Release (Tests)', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'EFL Linux 64-bit Release', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Win', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'GTK Linux 64-bit Release', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Qt Linux Release', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Apple Lion Release WK1 (Tests)', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Linux 32', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Linux', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Mac10.6', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Mac10.7', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Win7', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Apple Win 7 Release (Tests)', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'EFL Linux 64-bit Release', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Win', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'GTK Linux 64-bit Release', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Qt Linux Release', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Apple Lion Release WK1 (Tests)', '--test', 'userscripts/images.svg'], '/mock-checkout')]
+        expected_stdout = """[(['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Linux 32', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Linux', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Mac10.6', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Mac10.7', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Win7', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Apple Win 7 Release (Tests)', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'EFL Linux 64-bit Release', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Webkit Win', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'GTK Linux 64-bit Release', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Qt Linux Release', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Apple Lion Release WK1 (Tests)', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'txt', '--builder', 'Apple MountainLion Release WK1 (Tests)', '--test', 'userscripts/another-test.html'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Linux 32', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Linux', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Mac10.6', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Mac10.7', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Win7', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Apple Win 7 Release (Tests)', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'EFL Linux 64-bit Release', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Webkit Win', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'GTK Linux 64-bit Release', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Qt Linux Release', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Apple Lion Release WK1 (Tests)', '--test', 'userscripts/images.svg'], '/mock-checkout'), (['echo', 'rebaseline-test-internal', '--suffixes', 'png', '--builder', 'Apple MountainLion Release WK1 (Tests)', '--test', 'userscripts/images.svg'], '/mock-checkout')]
 """
 
         expected_stderr = """MOCK run_command: ['qmake', '-v'], cwd=None