Title: [119314] trunk/Tools
Revision
119314
Author
[email protected]
Date
2012-06-01 23:44:08 -0700 (Fri, 01 Jun 2012)

Log Message

Rename test_expectations.txt to TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=86690

Reviewed by Dirk Pranke.

Make webkitpy aware of both test_expectations.txt and TestExpectations while we rename files.
We can the code to read test_expectations.txt once we've successfully transitioned.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser._check_path_does_not_exist):
(TestExpectationParser._tokenize):
(TestExpectations): Removed TEST_LIST, which is not used anywhere.
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.path_to_test_expectations_file): Moved from WebKitPort and ChromiumPort. Returns the path to
test_expectations.txt if one exists and the path to TestExpectations otherwise.
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_virtual_methods): path_to_test_expectations_file and test_expectations are no longer
virtual.
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.path_from_chromium_base):
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.test_expectations):
* Scripts/webkitpy/layout_tests/port/test.py:
(add_unit_tests_to_mock_filesystem): Use TestExpectations instead of test_expectations.txt.
(TestPort.__init__):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort.baseline_search_path):
(WebKitPort.test_expectations):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added some test cases. We should move these
tests to base as a follow up.
(WebKitPortTest.test_path_to_test_expectations_file):
(test_test_expectations):
(test_legacy_test_expectations):
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher.should_skip_without_warning): Replace the check for legacy drt_expectations.txt
with one for TestExpectations.
* Scripts/webkitpy/style/checkers/test_expectations.py:
(TestExpectationsChecker): Accept both test_expectations.txt and TestExpectations in warning outputs.
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
(TestExpectationsTestCase._expect_port_for_expectations_path): Test both TestExpectations and
test_expectations.txt.
(TestExpectationsTestCase.test_determine_port_from_expectations_path):
(TestExpectationsTestCase.assert_lines_lint):
* Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations.__init__):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineExpectations):
* Scripts/webkitpy/tool/steps/commit.py:
(Commit._check_test_expectations):
* Scripts/webkitpy/tool/steps/commit_unittest.py:
(CommitTest._test_check_test_expectations): Extracted from test_check_test_expectations.
(CommitTest.test_check_test_expectations): For TestExpectations.
(CommitTest.test_check_legacy_test_expectations): For test_expectations.txt
* TestResultServer/static-dashboards/dashboard_base.js:
(requestExpectationsFile): Look for TestExpectations first, and fallback to test_expectations.txt.
Error only when neither exists.
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(processMissingAndExtraExpectations):
(htmlForTestsWithExpectationsButNoFailures):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (119313 => 119314)


--- trunk/Tools/ChangeLog	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/ChangeLog	2012-06-02 06:44:08 UTC (rev 119314)
@@ -1,3 +1,66 @@
+2012-06-01  Ryosuke Niwa  <[email protected]>
+
+        Rename test_expectations.txt to TestExpectations
+        https://bugs.webkit.org/show_bug.cgi?id=86690
+
+        Reviewed by Dirk Pranke.
+
+        Make webkitpy aware of both test_expectations.txt and TestExpectations while we rename files.
+        We can the code to read test_expectations.txt once we've successfully transitioned.
+
+        * Scripts/webkitpy/layout_tests/models/test_expectations.py:
+        (TestExpectationParser._check_path_does_not_exist):
+        (TestExpectationParser._tokenize):
+        (TestExpectations): Removed TEST_LIST, which is not used anywhere.
+        * Scripts/webkitpy/layout_tests/port/base.py:
+        (Port.path_to_test_expectations_file): Moved from WebKitPort and ChromiumPort. Returns the path to
+        test_expectations.txt if one exists and the path to TestExpectations otherwise.
+        * Scripts/webkitpy/layout_tests/port/base_unittest.py:
+        (PortTest.test_virtual_methods): path_to_test_expectations_file and test_expectations are no longer
+        virtual.
+        * Scripts/webkitpy/layout_tests/port/chromium.py:
+        (ChromiumPort.path_from_chromium_base):
+        * Scripts/webkitpy/layout_tests/port/chromium_android.py:
+        (ChromiumAndroidPort.test_expectations):
+        * Scripts/webkitpy/layout_tests/port/test.py:
+        (add_unit_tests_to_mock_filesystem): Use TestExpectations instead of test_expectations.txt.
+        (TestPort.__init__):
+        * Scripts/webkitpy/layout_tests/port/webkit.py:
+        (WebKitPort.baseline_search_path):
+        (WebKitPort.test_expectations):
+        * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added some test cases. We should move these
+        tests to base as a follow up.
+        (WebKitPortTest.test_path_to_test_expectations_file):
+        (test_test_expectations):
+        (test_legacy_test_expectations):
+        * Scripts/webkitpy/style/checker.py:
+        (CheckerDispatcher.should_skip_without_warning): Replace the check for legacy drt_expectations.txt
+        with one for TestExpectations.
+        * Scripts/webkitpy/style/checkers/test_expectations.py:
+        (TestExpectationsChecker): Accept both test_expectations.txt and TestExpectations in warning outputs.
+        * Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
+        (TestExpectationsTestCase._expect_port_for_expectations_path): Test both TestExpectations and
+        test_expectations.txt.
+        (TestExpectationsTestCase.test_determine_port_from_expectations_path):
+        (TestExpectationsTestCase.assert_lines_lint):
+        * Scripts/webkitpy/tool/commands/queries.py:
+        (PrintExpectations.__init__):
+        * Scripts/webkitpy/tool/commands/rebaseline.py:
+        (RebaselineExpectations):
+        * Scripts/webkitpy/tool/steps/commit.py:
+        (Commit._check_test_expectations):
+        * Scripts/webkitpy/tool/steps/commit_unittest.py:
+        (CommitTest._test_check_test_expectations): Extracted from test_check_test_expectations.
+        (CommitTest.test_check_test_expectations): For TestExpectations.
+        (CommitTest.test_check_legacy_test_expectations): For test_expectations.txt
+        * TestResultServer/static-dashboards/dashboard_base.js:
+        (requestExpectationsFile): Look for TestExpectations first, and fallback to test_expectations.txt.
+        Error only when neither exists.
+        * TestResultServer/static-dashboards/flakiness_dashboard.js:
+        (processMissingAndExtraExpectations):
+        (htmlForTestsWithExpectationsButNoFailures):
+        * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
+
 2012-06-01  Xianzhu Wang  <[email protected]>
 
         Remove dependency from ImageDiff to WTF

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -292,7 +292,7 @@
         if (not self._port.test_exists(expectation_line.name)
             and not self._port.test_exists(expectation_line.name + '-disabled')):
             # Log a warning here since you hit this case any
-            # time you update test_expectations.txt without syncing
+            # time you update TestExpectations without syncing
             # the LayoutTests directory
             expectation_line.warnings.append('Path does not exist.')
             return True
@@ -323,7 +323,7 @@
 
     @classmethod
     def _tokenize(cls, expectation_string, line_number=None):
-        """Tokenizes a line from test_expectations.txt and returns an unparsed TestExpectationLine instance.
+        """Tokenizes a line from TestExpectations and returns an unparsed TestExpectationLine instance.
 
         The format of a test expectation line is:
 
@@ -673,8 +673,6 @@
       -CRASH tests cannot be WONTFIX
     """
 
-    TEST_LIST = "test_expectations.txt"
-
     EXPECTATIONS = {'pass': PASS,
                     'fail': FAIL,
                     'text': TEXT,

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -675,13 +675,24 @@
         WebKit source tree and the list of path components in |*comps|."""
         return self._config.path_from_webkit_base(*comps)
 
+    @memoized
     def path_to_test_expectations_file(self):
         """Update the test expectations to the passed-in string.
 
         This is used by the rebaselining tool. Raises NotImplementedError
         if the port does not use expectations files."""
-        raise NotImplementedError('Port.path_to_test_expectations_file')
 
+        # test_expectations are always in mac/ not mac-leopard/ by convention, hence we use port_name instead of name().
+        port_name = self.port_name
+        if port_name.startswith('chromium'):
+            port_name = 'chromium'
+
+        baseline_path = self._webkit_baseline_path(port_name)
+        old_expectations_file = self._filesystem.join(baseline_path, 'test_expectations.txt')
+        if self._filesystem.exists(old_expectations_file):
+            return old_expectations_file
+        return self._filesystem.join(baseline_path, 'TestExpectations')
+
     def relative_test_filename(self, filename):
         """Returns a test_name a realtive unix-style path for a filename under the LayoutTests
         directory. Filenames outside the LayoutTests directory should raise

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -406,9 +406,7 @@
         self.assertVirtual(port.check_image_diff)
         self.assertVirtual(port.create_driver, 0)
         self.assertVirtual(port.diff_image, None, None)
-        self.assertVirtual(port.path_to_test_expectations_file)
         self.assertVirtual(port.default_results_directory)
-        self.assertVirtual(port.test_expectations)
         self.assertVirtual(port._path_to_apache)
         self.assertVirtual(port._path_to_apache_config_file)
         self.assertVirtual(port._path_to_driver)

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -232,9 +232,6 @@
             self._chromium_base_dir_path = self._chromium_base_dir(self._filesystem)
         return self._filesystem.join(self._chromium_base_dir_path, *comps)
 
-    def path_to_test_expectations_file(self):
-        return self.path_from_webkit_base('LayoutTests', 'platform', 'chromium', 'test_expectations.txt')
-
     def setup_environ_for_server(self, server_name=None):
         clean_env = super(ChromiumPort, self).setup_environ_for_server(server_name)
         # Webkit Linux (valgrind layout) bot needs these envvars.

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -209,7 +209,7 @@
         # chromium-android.
         # FIXME: This is a temporary measure to reduce the manual work when
         # updating WebKit. This method should be removed when we merge
-        # test_expectations_android.txt into test_expectations.txt.
+        # test_expectations_android.txt into TestExpectations.
         expectations = chromium.ChromiumPort.test_expectations(self)
         return expectations.replace('LINUX ', 'LINUX ANDROID ')
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/test.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/test.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/test.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -247,8 +247,8 @@
 def add_unit_tests_to_mock_filesystem(filesystem):
     # Add the test_expectations file.
     filesystem.maybe_make_directory(LAYOUT_TEST_DIR + '/platform/test')
-    if not filesystem.exists(LAYOUT_TEST_DIR + '/platform/test/test_expectations.txt'):
-        filesystem.write_text_file(LAYOUT_TEST_DIR + '/platform/test/test_expectations.txt', """
+    if not filesystem.exists(LAYOUT_TEST_DIR + '/platform/test/TestExpectations'):
+        filesystem.write_text_file(LAYOUT_TEST_DIR + '/platform/test/TestExpectations', """
 WONTFIX : failures/expected/crash.html = CRASH
 WONTFIX : failures/expected/image.html = IMAGE
 WONTFIX : failures/expected/audio.html = AUDIO
@@ -340,7 +340,7 @@
         Port.__init__(self, host, port_name, **kwargs)
         self._tests = unit_test_list()
         self._flakes = set()
-        self._expectations_path = LAYOUT_TEST_DIR + '/platform/test/test_expectations.txt'
+        self._expectations_path = LAYOUT_TEST_DIR + '/platform/test/TestExpectations'
         self._results_directory = None
 
         self._operating_system = 'mac'

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -77,10 +77,6 @@
             search_paths.append(self.port_name)
         return map(self._webkit_baseline_path, search_paths)
 
-    def path_to_test_expectations_file(self):
-        # test_expectations are always in mac/ not mac-leopard/ by convention, hence we use port_name instead of name().
-        return self._filesystem.join(self._webkit_baseline_path(self.port_name), 'test_expectations.txt')
-
     def _port_flag_for_scripts(self):
         # This is overrriden by ports which need a flag passed to scripts to distinguish the use of that port.
         # For example --qt on linux, since a user might have both Gtk and Qt libraries installed.
@@ -361,11 +357,11 @@
         return search_paths
 
     def test_expectations(self):
-        # This allows ports to use a combination of test_expectations.txt files and Skipped lists.
+        # This allows ports to use a combination of TestExpectations files and Skipped lists.
         expectations = ''
         expectations_path = self.path_to_test_expectations_file()
         if self._filesystem.exists(expectations_path):
-            _log.debug("Using test_expectations.txt: %s" % expectations_path)
+            _log.debug("Using test expectations: %s" % expectations_path)
             expectations = self._filesystem.read_text_file(expectations_path)
         return expectations
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -94,8 +94,15 @@
     def test_path_to_test_expectations_file(self):
         port = TestWebKitPort()
         port._options = MockOptions(webkit_test_runner=False)
-        self.assertEqual(port.path_to_test_expectations_file(), '/mock-checkout/LayoutTests/platform/testwebkitport/test_expectations.txt')
+        self.assertEqual(port.path_to_test_expectations_file(), '/mock-checkout/LayoutTests/platform/testwebkitport/TestExpectations')
+
+        port = TestWebKitPort()
         port._options = MockOptions(webkit_test_runner=True)
+        self.assertEqual(port.path_to_test_expectations_file(), '/mock-checkout/LayoutTests/platform/testwebkitport/TestExpectations')
+
+        port = TestWebKitPort()
+        port.host.filesystem.files['/mock-checkout/LayoutTests/platform/testwebkitport/test_expectations.txt'] = 'some content'
+        port._options = MockOptions(webkit_test_runner=False)
         self.assertEqual(port.path_to_test_expectations_file(), '/mock-checkout/LayoutTests/platform/testwebkitport/test_expectations.txt')
 
     def test_skipped_directories_for_symbols(self):
@@ -165,8 +172,18 @@
     def test_test_expectations(self):
         # Check that we read the expectations file
         host = MockSystemHost()
+        host.filesystem.write_text_file('/mock-checkout/LayoutTests/platform/testwebkitport/TestExpectations',
+            'BUG_TESTEXPECTATIONS SKIP : fast/html/article-element.html = FAIL\n')
+        port = TestWebKitPort(host=host)
+        self.assertEqual(port.test_expectations(), 'BUG_TESTEXPECTATIONS SKIP : fast/html/article-element.html = FAIL\n')
+
+    def test_legacy_test_expectations(self):
+        # Check that we read the legacy test_expectations.txt file
+        host = MockSystemHost()
         host.filesystem.write_text_file('/mock-checkout/LayoutTests/platform/testwebkitport/test_expectations.txt',
             'BUG_TESTEXPECTATIONS SKIP : fast/html/article-element.html = FAIL\n')
+        host.filesystem.write_text_file('/mock-checkout/LayoutTests/platform/testwebkitport/TestExpectations',
+            'BUG_BADEXPECTATION SKIP : fast/html/article-element.html = FAIL\n')
         port = TestWebKitPort(host=host)
         self.assertEqual(port.test_expectations(), 'BUG_TESTEXPECTATIONS SKIP : fast/html/article-element.html = FAIL\n')
 

Modified: trunk/Tools/Scripts/webkitpy/style/checker.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/style/checker.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/style/checker.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -517,15 +517,14 @@
         # Since "LayoutTests" is in _SKIPPED_FILES_WITHOUT_WARNING, make
         # an exception to prevent files like "LayoutTests/ChangeLog" and
         # "LayoutTests/ChangeLog-2009-06-16" from being skipped.
-        # Files like 'test_expectations.txt' and 'drt_expectations.txt'
-        # are also should not be skipped.
+        # Files like 'TestExpectations' are also should not be skipped.
         #
         # FIXME: Figure out a good way to avoid having to add special logic
         #        for this special case.
         basename = os.path.basename(file_path)
         if basename.startswith('ChangeLog'):
             return False
-        elif basename == 'test_expectations.txt' or basename == 'drt_expectations.txt':
+        elif basename == 'test_expectations.txt' or basename == 'TestExpectations':
             return False
         for skipped_file in _SKIPPED_FILES_WITHOUT_WARNING:
             if self._should_skip_file_path(file_path, skipped_file):

Modified: trunk/Tools/Scripts/webkitpy/style/checkers/test_expectations.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/style/checkers/test_expectations.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/test_expectations.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -43,7 +43,7 @@
 
 
 class TestExpectationsChecker(object):
-    """Processes test_expectations.txt lines for validating the syntax."""
+    """Processes TestExpectations lines for validating the syntax."""
 
     categories = set(['test/expectations'])
 
@@ -61,7 +61,7 @@
         self._handle_style_error = handle_style_error
         self._handle_style_error.turn_off_line_filtering()
         self._tab_checker = TabChecker(file_path, handle_style_error)
-        self._output_regex = re.compile('.*test_expectations.txt:(?P<line>\d+)\s*(?P<message>.+)')
+        self._output_regex = re.compile('.*(TestExpectations|test_expectations.txt):(?P<line>\d+)\s*(?P<message>.+)')
 
         # FIXME: host should be a required parameter, not an optional one.
         host = host or Host()

Modified: trunk/Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -73,18 +73,33 @@
         else:
             self.assertEquals(None, expected_port_implementation)
 
+        host = MockHost()
+        expectations_path = expectations_path.replace('TestExpectations', 'test_expectations.txt')
+        if not expectations_path.startswith('/mock-checkout'):
+            expectations_full_path = '/mock-checkout/' + expectations_path
+        else:
+            expectations_full_path = expectations_path
+        host.filesystem.files[expectations_full_path] = 'some content'
+
+        checker = TestExpectationsChecker(expectations_path, ErrorCollector(), host=host)
+        port = checker._determine_port_from_expectations_path(host, expectations_path)
+        if port:
+            self.assertTrue(port.name().startswith(expected_port_implementation))
+        else:
+            self.assertEquals(None, expected_port_implementation)
+
     def test_determine_port_from_expectations_path(self):
         self._expect_port_for_expectations_path(None, '/')
-        self._expect_port_for_expectations_path(None, 'LayoutTests/chromium-mac/test_expectations.txt')
-        self._expect_port_for_expectations_path('chromium', 'LayoutTests/platform/chromium/test_expectations.txt')
-        self._expect_port_for_expectations_path(None, '/mock-checkout/LayoutTests/platform/win/test_expectations.txt')
-        self._expect_port_for_expectations_path('win', 'LayoutTests/platform/win/test_expectations.txt')
+        self._expect_port_for_expectations_path(None, 'LayoutTests/chromium-mac/TestExpectations')
+        self._expect_port_for_expectations_path('chromium', 'LayoutTests/platform/chromium/TestExpectations')
+        self._expect_port_for_expectations_path(None, '/mock-checkout/LayoutTests/platform/win/TestExpectations')
+        self._expect_port_for_expectations_path('win', 'LayoutTests/platform/win/TestExpectations')
 
     def assert_lines_lint(self, lines, should_pass, expected_output=None):
         self._error_collector.reset_errors()
 
         host = MockHost()
-        checker = TestExpectationsChecker('test/test_expectations.txt',
+        checker = TestExpectationsChecker('test/TestExpectations',
                                           self._error_collector, host=host)
 
         # We should have failed to find a valid port object for that path.

Modified: trunk/Tools/Scripts/webkitpy/tool/commands/queries.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/tool/commands/queries.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/queries.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -395,7 +395,7 @@
             make_option('--csv', action='', default=False,
                         help='Print a CSV-style report that includes the port name, modifiers, tests, and expectations'),
             make_option('-f', '--full', action='', default=False,
-                        help='Print a full test_expectations.txt-style line for every match'),
+                        help='Print a full TestExpectations-style line for every match'),
         ] + port_options(platform='port/platform to use. Use glob-style wildcards for multiple ports (implies --csv)')
 
         AbstractDeclarativeCommand.__init__(self, options=options)

Modified: trunk/Tools/Scripts/webkitpy/tool/commands/rebaseline.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/tool/commands/rebaseline.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/rebaseline.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -239,7 +239,7 @@
 
 class RebaselineExpectations(AbstractDeclarativeCommand):
     name = "rebaseline-expectations"
-    help_text = "Rebaselines the tests indicated in test_expectations.txt."
+    help_text = "Rebaselines the tests indicated in TestExpectations."
 
     def __init__(self):
         options = [

Modified: trunk/Tools/Scripts/webkitpy/tool/steps/commit.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/tool/steps/commit.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/commit.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -56,7 +56,7 @@
     def _check_test_expectations(self, changed_files):
         test_expectations_files = []
         for filename in changed_files:
-            if filename.endswith('test_expectations.txt'):
+            if filename.endswith('test_expectations.txt') or filename.endswith('TestExpectations'):
                 test_expectations_files.append(filename)
 
         if not test_expectations_files:

Modified: trunk/Tools/Scripts/webkitpy/tool/steps/commit_unittest.py (119313 => 119314)


--- trunk/Tools/Scripts/webkitpy/tool/steps/commit_unittest.py	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/commit_unittest.py	2012-06-02 06:44:08 UTC (rev 119314)
@@ -36,7 +36,7 @@
 
 
 class CommitTest(unittest.TestCase):
-    def test_check_test_expectations(self):
+    def _test_check_test_expectations(self, filename):
         capture = OutputCapture()
         options = MockOptions()
         options.git_commit = ""
@@ -46,16 +46,23 @@
         tool.user = None  # Will cause any access of tool.user to raise an exception.
         step = Commit(tool, options)
         state = {
-            "changed_files": ["test_expectations.txtXXX"],
+            "changed_files": [filename + "XXX"],
         }
 
         tool.executive = MockExecutive(should_log=True, should_throw_when_run=False)
         capture.assert_outputs(self, step.run, [state], expected_stderr="Committed r49824: <http://trac.webkit.org/changeset/49824>\n")
 
         state = {
-            "changed_files": ["platform/chromium/test_expectations.txt"],
+            "changed_files": ["platform/chromium/" + filename],
         }
-        capture.assert_outputs(self, step.run, [state], expected_stderr="MOCK run_and_throw_if_fail: ['mock-check-webkit-style', '--diff-files', 'platform/chromium/test_expectations.txt'], cwd=/mock-checkout\nCommitted r49824: <http://trac.webkit.org/changeset/49824>\n")
+        capture.assert_outputs(self, step.run, [state], expected_stderr="MOCK run_and_throw_if_fail: ['mock-check-webkit-style', '--diff-files', 'platform/chromium/"
+            + filename + "'], cwd=/mock-checkout\nCommitted r49824: <http://trac.webkit.org/changeset/49824>\n")
 
-        tool.executive = MockExecutive(should_log=True, should_throw_when_run=set(["platform/chromium/test_expectations.txt"]))
+        tool.executive = MockExecutive(should_log=True, should_throw_when_run=set(["platform/chromium/" + filename]))
         self.assertRaises(ScriptError, capture.assert_outputs, self, step.run, [state])
+
+    def test_check_test_expectations(self):
+        self._test_check_test_expectations('TestExpectations')
+
+    def test_check_legacy_test_expectations(self):
+        self._test_check_test_expectations('test_expectations.txt')

Modified: trunk/Tools/TestResultServer/static-dashboards/dashboard_base.js (119313 => 119314)


--- trunk/Tools/TestResultServer/static-dashboards/dashboard_base.js	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/TestResultServer/static-dashboards/dashboard_base.js	2012-06-02 06:44:08 UTC (rev 119314)
@@ -542,7 +542,8 @@
 }
 
 // FIXME: Make the dashboard understand different ports' expectations files.
-var CHROMIUM_EXPECTATIONS_URL = 'http://svn.webkit.org/repository/webkit/trunk/LayoutTests/platform/chromium/test_expectations.txt';
+var CHROMIUM_EXPECTATIONS_URL = 'http://svn.webkit.org/repository/webkit/trunk/LayoutTests/platform/chromium/TestExpectations';
+var LEGACY_CHROMIUM_EXPECTATIONS_URL = 'http://svn.webkit.org/repository/webkit/trunk/LayoutTests/platform/chromium/test_expectations.txt';
 
 function requestExpectationsFile()
 {
@@ -552,7 +553,13 @@
         handleResourceLoad();
     },
     function() {
-        console.error('Could not load expectations file from ' + CHROMIUM_EXPECTATIONS_URL);
+        request(LEGACY_CHROMIUM_EXPECTATIONS_URL, function(xhr) {
+            g_waitingOnExpectations = false;
+            g_expectations = xhr.responseText;
+            handleResourceLoad();
+        }, function() {
+            console.error('Could not load expectations file from ' + CHROMIUM_EXPECTATIONS_URL + ' or ' + LEGACY_CHROMIUM_EXPECTATIONS_URL);
+        });
     });
 }
 

Modified: trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard.js (119313 => 119314)


--- trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard.js	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard.js	2012-06-02 06:44:08 UTC (rev 119314)
@@ -39,7 +39,7 @@
 var GPU_RESULTS_BASE_PATH = 'http://chromium-browser-gpu-tests.commondatastorage.googleapis.com/runs/'
 
 // FIXME: These platform names should probably be changed to match the directories in LayoutTests/platform
-// instead of matching the values we use in the test_expectations.txt file.
+// instead of matching the values we use in the TestExpectations file.
 var PLATFORMS = ['LION', 'SNOWLEOPARD', 'LEOPARD', 'XP', 'VISTA', 'WIN7', 'LUCID', 'APPLE_LION', 'APPLE_LEOPARD', 'APPLE_SNOWLEOPARD', 'APPLE_XP', 'APPLE_WIN7', 'GTK_LINUX', 'QT_LINUX'];
 var PLATFORM_UNIONS = {
     'MAC': ['LEOPARD', 'SNOWLEOPARD', 'LION'],
@@ -211,7 +211,7 @@
 // but have for that builder.
 var g_perBuilderWithExpectationsButNoFailures = {};
 // Map of builder to arrays of paths that are skipped. This shows the raw
-// path used in test_expectations.txt rather than the test path since we
+// path used in TestExpectations rather than the test path since we
 // don't actually have any data here for skipped tests.
 var g_perBuilderSkippedPaths = {};
 // Maps test path to an array of {builder, testResults} objects.
@@ -820,7 +820,7 @@
         extraExpectations = expectationsArray.filter(
             function(element) {
                 // FIXME: Once all the FAIL lines are removed from
-                // test_expectations.txt, delete all the legacyExpectationsSemantics
+                // TestExpectations, delete all the legacyExpectationsSemantics
                 // code.
                 if (g_currentState.legacyExpectationsSemantics) {
                     if (element == 'FAIL') {
@@ -841,7 +841,7 @@
             for (var i = 0; i < expectationsArray.length; i++) {
                 var expectation = expectationsArray[i];
                 // FIXME: Once all the FAIL lines are removed from
-                // test_expectations.txt, delete all the legacyExpectationsSemantics
+                // TestExpectations, delete all the legacyExpectationsSemantics
                 // code.
                 if (g_currentState.legacyExpectationsSemantics) {
                     if (expectation == 'FAIL') {
@@ -1076,7 +1076,7 @@
     var tests = g_perBuilderWithExpectationsButNoFailures[builder];
     var skippedPaths = g_perBuilderSkippedPaths[builder];
     var showUnexpectedPassesLink =  linkHTMLToToggleState('showUnexpectedPasses', 'tests that have not failed in last ' + g_resultsByBuilder[builder].buildNumbers.length + ' runs');
-    var showSkippedLink = linkHTMLToToggleState('showSkipped', 'skipped tests in test_expectations.txt');
+    var showSkippedLink = linkHTMLToToggleState('showSkipped', 'skipped tests in TestExpectations');
     
 
     var html = '';

Modified: trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard_unittests.js (119313 => 119314)


--- trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard_unittests.js	2012-06-02 06:07:26 UTC (rev 119313)
+++ trunk/Tools/TestResultServer/static-dashboards/flakiness_dashboard_unittests.js	2012-06-02 06:44:08 UTC (rev 119314)
@@ -169,7 +169,7 @@
     runPlatformAndBuildTypeTest('Chromium Linux Release (Tests)', 'LUCID', 'RELEASE');
     runPlatformAndBuildTypeTest('Chromium Mac Release (Tests)', 'SNOWLEOPARD', 'RELEASE');
     
-    // FIXME: These platforms should match whatever we use in the test_expectations.txt format.
+    // FIXME: These platforms should match whatever we use in the TestExpectations format.
     runPlatformAndBuildTypeTest('Lion Release (Tests)', 'APPLE_LION', 'RELEASE');
     runPlatformAndBuildTypeTest('Lion Debug (Tests)', 'APPLE_LION', 'DEBUG');
     runPlatformAndBuildTypeTest('Leopard Intel Release (Tests)', 'APPLE_LEOPARD', 'RELEASE');
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to