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');