summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-21 00:44:15 +0000
committerojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-21 00:44:15 +0000
commit986b7694534e767af2656a41f756c8d4ed864243 (patch)
tree5081c8056cc15845ed267d362a26163f9a611b79 /webkit
parent37dbc0308b719e59de593e6cfb1a6aafa77d59c9 (diff)
downloadchromium_src-986b7694534e767af2656a41f756c8d4ed864243.zip
chromium_src-986b7694534e767af2656a41f756c8d4ed864243.tar.gz
chromium_src-986b7694534e767af2656a41f756c8d4ed864243.tar.bz2
Add a WONTFIX modifier and move all the tests from tests_ignored.txt
over to tests_fixable.txt. I'm tempted to rename tests_fixable.txt, but I wonder whether it's worth it given that there are a number of scripts that would need to be updated. Review URL: http://codereview.chromium.org/48045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12234 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/tools/layout_tests/layout_package/compare_failures.py8
-rw-r--r--webkit/tools/layout_tests/layout_package/test_expectations.py344
-rwxr-xr-xwebkit/tools/layout_tests/run_webkit_tests.py31
-rw-r--r--webkit/tools/layout_tests/test_lists/tests_fixable.txt346
-rw-r--r--webkit/tools/layout_tests/test_lists/tests_ignored.txt329
5 files changed, 530 insertions, 528 deletions
diff --git a/webkit/tools/layout_tests/layout_package/compare_failures.py b/webkit/tools/layout_tests/layout_package/compare_failures.py
index a88abfa..f47a061 100644
--- a/webkit/tools/layout_tests/layout_package/compare_failures.py
+++ b/webkit/tools/layout_tests/layout_package/compare_failures.py
@@ -81,17 +81,17 @@ class CompareFailures:
"Expected to crash, but passed",
output)
- PrintFilesFromSet(passes & self._expectations.GetIgnoredFailures(),
+ PrintFilesFromSet(passes & self._expectations.GetWontFixFailures(),
"Expected to fail (ignored), but passed",
output)
- PrintFilesFromSet(passes & self._expectations.GetIgnoredTimeouts(),
+ PrintFilesFromSet(passes & self._expectations.GetWontFixTimeouts(),
"Expected to timeout (ignored), but passed",
output)
# Crashes should never be deferred.
- PrintFilesFromSet(passes & self._expectations.GetFixableDeferredFailures(),
+ PrintFilesFromSet(passes & self._expectations.GetDeferredFailures(),
"Expected to fail (deferred), but passed",
output)
- PrintFilesFromSet(passes & self._expectations.GetFixableDeferredTimeouts(),
+ PrintFilesFromSet(passes & self._expectations.GetDeferredTimeouts(),
"Expected to timeout (deferred), but passed",
output)
# Print real regressions.
diff --git a/webkit/tools/layout_tests/layout_package/test_expectations.py b/webkit/tools/layout_tests/layout_package/test_expectations.py
index a96aded..7d8579a 100644
--- a/webkit/tools/layout_tests/layout_package/test_expectations.py
+++ b/webkit/tools/layout_tests/layout_package/test_expectations.py
@@ -13,137 +13,103 @@ import path_utils
import compare_failures
-# Test expectation constants.
-PASS = 0
-FAIL = 1
-TIMEOUT = 2
-CRASH = 3
-
+# Test expectation and modifier constants.
+(PASS, FAIL, TIMEOUT, CRASH, SKIP, WONTFIX, DEFER, NONE) = range(8)
class TestExpectations:
- FIXABLE = "tests_fixable.txt"
- IGNORED = "tests_ignored.txt"
+ TEST_LIST = "tests_fixable.txt"
def __init__(self, tests, directory, platform, is_debug_mode):
"""Reads the test expectations files from the given directory."""
- self._tests = tests
- self._directory = directory
- self._platform = platform
- self._is_debug_mode = is_debug_mode
- self._ReadFiles()
- self._ValidateLists()
+ path = os.path.join(directory, self.TEST_LIST)
+ self._expected_failures = TestExpectationsFile(path, tests, platform,
+ is_debug_mode)
- def GetFixable(self):
- return (self._fixable.GetTests() -
- self._fixable.GetNonSkippedDeferred() -
- self._fixable.GetSkippedDeferred())
-
- def GetFixableSkipped(self):
- return self._fixable.GetSkipped()
+ # TODO(ojan): Allow for removing skipped tests when getting the list of tests
+ # to run, but not when getting metrics.
+ # TODO(ojan): Replace the Get* calls here with the more sane API exposed
+ # by TestExpectationsFile below. Maybe merge the two classes entirely?
- def GetFixableSkippedDeferred(self):
- return self._fixable.GetSkippedDeferred()
+ def GetFixable(self):
+ return self._expected_failures.GetTestSet(NONE)
def GetFixableFailures(self):
- return (self._fixable.GetTestsExpectedTo(FAIL) -
- self._fixable.GetTestsExpectedTo(TIMEOUT) -
- self._fixable.GetTestsExpectedTo(CRASH) -
- self._fixable.GetNonSkippedDeferred())
+ # Avoid including TIMEOUT CRASH FAIL tests in the fail numbers since
+ # crashes and timeouts are higher priority.
+ return (self._expected_failures.GetTestSet(NONE, FAIL) -
+ self._expected_failures.GetTestSet(NONE, TIMEOUT) -
+ self._expected_failures.GetTestSet(NONE, CRASH))
def GetFixableTimeouts(self):
- return (self._fixable.GetTestsExpectedTo(TIMEOUT) -
- self._fixable.GetTestsExpectedTo(CRASH) -
- self._fixable.GetNonSkippedDeferred())
+ # Avoid including TIMEOUT CRASH tests in the timeout numbers since crashes
+ # are higher priority.
+ return (self._expected_failures.GetTestSet(NONE, TIMEOUT) -
+ self._expected_failures.GetTestSet(NONE, CRASH))
def GetFixableCrashes(self):
- return self._fixable.GetTestsExpectedTo(CRASH)
-
- def GetFixableDeferred(self):
- return self._fixable.GetNonSkippedDeferred()
-
- def GetFixableDeferredFailures(self):
- return (self._fixable.GetNonSkippedDeferred() &
- self._fixable.GetTestsExpectedTo(FAIL))
-
- def GetFixableDeferredTimeouts(self):
- return (self._fixable.GetNonSkippedDeferred() &
- self._fixable.GetTestsExpectedTo(TIMEOUT))
-
- def GetIgnored(self):
- return self._ignored.GetTests()
-
- def GetIgnoredSkipped(self):
- return self._ignored.GetSkipped()
-
- def GetIgnoredFailures(self):
- return (self._ignored.GetTestsExpectedTo(FAIL) -
- self._ignored.GetTestsExpectedTo(TIMEOUT))
+ return self._expected_failures.GetTestSet(NONE, CRASH)
- def GetIgnoredTimeouts(self):
- return self._ignored.GetTestsExpectedTo(TIMEOUT)
+ def GetSkipped(self):
+ # TODO(ojan): It's confusing that this includes deferred tests.
+ return (self._expected_failures.GetTestSet(SKIP) -
+ self._expected_failures.GetTestSet(WONTFIX))
+
+ def GetDeferred(self):
+ return self._expected_failures.GetTestSet(DEFER, include_skips=False)
+
+ def GetDeferredSkipped(self):
+ return (self._expected_failures.GetTestSet(SKIP) &
+ self._expected_failures.GetTestSet(DEFER))
+
+ def GetDeferredFailures(self):
+ return self._expected_failures.GetTestSet(DEFER, FAIL,
+ include_skips=False)
+
+ def GetDeferredTimeouts(self):
+ return self._expected_failures.GetTestSet(DEFER, TIMEOUT,
+ include_skips=False)
+
+ def GetWontFix(self):
+ return self._expected_failures.GetTestSet(WONTFIX, include_skips=False)
+
+ def GetWontFixSkipped(self):
+ return (self._expected_failures.GetTestSet(WONTFIX) &
+ self._expected_failures.GetTestSet(SKIP))
+
+ def GetWontFixFailures(self):
+ # Avoid including TIMEOUT CRASH FAIL tests in the fail numbers since
+ # crashes and timeouts are higher priority.
+ return (self._expected_failures.GetTestSet(WONTFIX, FAIL,
+ include_skips=False) -
+ self._expected_failures.GetTestSet(WONTFIX, TIMEOUT,
+ include_skips=False) -
+ self._expected_failures.GetTestSet(WONTFIX, CRASH,
+ include_skips=False))
+
+ def GetWontFixTimeouts(self):
+ # Avoid including TIMEOUT CRASH tests in the timeout numbers since crashes
+ # are higher priority.
+ return (self._expected_failures.GetTestSet(WONTFIX, TIMEOUT,
+ include_skips=False) -
+ self._expected_failures.GetTestSet(WONTFIX, CRASH,
+ include_skips=False))
def GetExpectations(self, test):
- if self._fixable.Contains(test): return self._fixable.GetExpectations(test)
- if self._ignored.Contains(test): return self._ignored.GetExpectations(test)
+ if self._expected_failures.Contains(test):
+ return self._expected_failures.GetExpectations(test)
+
# If the test file is not listed in any of the expectations lists
# we expect it to pass (and nothing else).
return set([PASS])
def IsDeferred(self, test):
- return (test in self._fixable.GetSkippedDeferred() or
- test in self._fixable.GetNonSkippedDeferred())
+ return self._expected_failures.HasModifier(test, DEFER)
def IsFixable(self, test):
- return (self._fixable.Contains(test) and
- test not in self._fixable.GetNonSkippedDeferred())
+ return self._expected_failures.HasModifier(test, NONE)
def IsIgnored(self, test):
- return (self._ignored.Contains(test) and
- test not in self._fixable.GetNonSkippedDeferred())
-
- def _ReadFiles(self):
- self._fixable = self._GetExpectationsFile(self.FIXABLE)
- self._ignored = self._GetExpectationsFile(self.IGNORED)
- skipped = self.GetFixableSkipped() | self.GetIgnoredSkipped()
- self._fixable.PruneSkipped(skipped)
- self._ignored.PruneSkipped(skipped)
-
- def _GetExpectationsFile(self, filename):
- """Read the expectation files for the given filename and return a single
- expectations file with the merged results.
- """
-
- path = os.path.join(self._directory, filename)
- return TestExpectationsFile(path, self._tests, self._platform,
- self._is_debug_mode)
-
- def _ValidateLists(self):
- # Make sure there's no overlap between the tests in the two files.
- if self._tests:
- relativizeFilenames = True
- overlap = self._fixable.GetTests() & self._ignored.GetTests()
- else:
- relativizeFilenames = False
- # If self._tests is None, then we have no way of expanding test paths
- # So they remain shortened (e.g. LayoutTests/mac doesn't get expanded to
- # include LayoutTests/mac/foo.html). So find duplicate prefixes
- # instead of exact matches.
- overlap = [];
- for fixableTest in self._fixable.GetTests():
- for ignoredTest in self._ignored.GetTests():
- # Add both tests so they both get printed
- if (fixableTest.startswith(ignoredTest) or
- ignoredTest.startswith(fixableTest)):
- overlap.append(fixableTest)
- overlap.append(ignoredTest)
-
- message = "Files contained in both " + self.FIXABLE + " and " + self.IGNORED
- compare_failures.PrintFilesFromSet(overlap, message, sys.stdout,
- opt_relativizeFilenames=relativizeFilenames)
- assert(len(overlap) == 0)
- # Make sure there are no ignored tests expected to crash.
- assert(len(self._ignored.GetTestsExpectedTo(CRASH)) == 0)
-
+ return self._expected_failures.HasModifier(test, WONTFIX)
def StripComments(line):
"""Strips comments from a line and return None if the line is empty
@@ -178,6 +144,7 @@ class TestExpectationsFile:
DEFER LINUX WIN : LayoutTests/fast/js/no-good.js = TIMEOUT PASS
SKIP: Doesn't run the test.
+ WONTFIX: For tests that we never intend to pass on a given platform.
DEFER: Test does not count in our statistics for the current release.
DEBUG: Expectations apply only to the debug build.
RELEASE: Expectations apply only to release build.
@@ -193,6 +160,11 @@ class TestExpectationsFile:
'crash': CRASH }
PLATFORMS = [ 'mac', 'linux', 'win' ]
+
+ MODIFIERS = { 'skip': SKIP,
+ 'wontfix': WONTFIX,
+ 'defer': DEFER,
+ 'none': NONE }
def __init__(self, path, full_test_list, platform, is_debug_mode):
"""
@@ -205,46 +177,45 @@ class TestExpectationsFile:
"""
self._full_test_list = full_test_list
- self._skipped = set()
- self._skipped_deferred = set()
- self._non_skipped_deferred = set()
- self._expectations = {}
- self._test_list_paths = {}
- self._tests = {}
self._errors = []
self._platform = platform
self._is_debug_mode = is_debug_mode
- for expectation in self.EXPECTATIONS.itervalues():
- self._tests[expectation] = set()
- self._Read(path)
+
+ # Maps a test to its list of expectations.
+ self._test_to_expectations = {}
- def GetSkipped(self):
- return self._skipped
+ # Maps a test to the base path that it was listed with in the test list.
+ self._test_list_paths = {}
- def GetNonSkippedDeferred(self):
- return self._non_skipped_deferred
+ # Maps a modifier to a set of tests.
+ self._modifier_to_tests = dict.fromkeys(self.MODIFIERS.itervalues(), set())
- def GetSkippedDeferred(self):
- return self._skipped_deferred
+ # Maps an expectation to a set of tests.
+ self._expectation_to_tests = dict.fromkeys(self.EXPECTATIONS.itervalues(),
+ set())
- def GetExpectations(self, test):
- return self._expectations[test]
+ self._Read(path)
- def GetTests(self):
- return set(self._expectations.keys())
+ def GetTestSet(self, modifier, expectation=None, include_skips=True):
+ if expectation is None:
+ tests = self._modifier_to_tests[modifier]
+ else:
+ tests = (self._expectation_to_tests[expectation] &
+ self._modifier_to_tests[modifier])
+
+ if not include_skips:
+ tests = tests - self.GetTestSet(SKIP, expectation)
+
+ return tests
- def GetTestsExpectedTo(self, expectation):
- return self._tests[expectation]
+ def HasModifier(self, test, modifier):
+ return test in self._modifier_to_tests[modifier]
- def Contains(self, test):
- return test in self._expectations
+ def GetExpectations(self, test):
+ return self._test_to_expectations[test]
- def PruneSkipped(self, skipped):
- for test in skipped:
- if not test in self._expectations: continue
- for expectation in self._expectations[test]:
- self._tests[expectation].remove(test)
- del self._expectations[test]
+ def Contains(self, test):
+ return test in self._test_to_expectations
def _HasCurrentPlatform(self, options):
""" Returns true if the current platform is in the options list or if no
@@ -273,23 +244,30 @@ class TestExpectationsFile:
line = StripComments(line)
if not line: continue
+ modifiers = set()
if line.find(':') is -1:
test_and_expectations = line
- is_skipped = False
- is_deferred = False
else:
parts = line.split(':')
test_and_expectations = parts[1]
options = self._GetOptionsList(parts[0])
- is_skipped = 'skip' in options
- is_deferred = 'defer' in options
+
+ if not self._HasCurrentPlatform(options):
+ continue
+
if 'release' in options or 'debug' in options:
if self._is_debug_mode and 'debug' not in options:
continue
if not self._is_debug_mode and 'release' not in options:
continue
- if not self._HasCurrentPlatform(options):
- continue
+
+ if 'wontfix' in options and 'defer' in options:
+ self._AddError(lineno, 'Test cannot be both DEFER and WONTFIX.',
+ test_and_expectations)
+
+ for option in options:
+ if option in self.MODIFIERS:
+ modifiers.add(option)
tests_and_expecation_parts = test_and_expectations.split('=')
if (len(tests_and_expecation_parts) is not 2):
@@ -318,11 +296,7 @@ class TestExpectationsFile:
else:
tests = self._ExpandTests(test_list_path)
- if is_skipped:
- self._AddSkippedTests(tests, is_deferred)
- else:
- self._AddTests(tests, expectations, test_list_path, lineno,
- is_deferred)
+ self._AddTests(tests, expectations, test_list_path, lineno, modifiers)
if len(self._errors) is not 0:
print "\nFAILURES FOR PLATFORM: %s, IS_DEBUG_MODE: %s" \
@@ -330,6 +304,8 @@ class TestExpectationsFile:
raise SyntaxError('\n'.join(map(str, self._errors)))
def _GetOptionsList(self, listString):
+ # TODO(ojan): Add a check that all the options are either in self.MODIFIERS
+ # or self.PLATFORMS or starts with BUGxxxxx
return [part.strip().lower() for part in listString.strip().split(' ')]
def _ParseExpectations(self, string):
@@ -355,42 +331,56 @@ class TestExpectationsFile:
for test in self._full_test_list:
if test.startswith(path): result.append(test)
return result
-
- def _AddTests(self, tests, expectations, test_list_path, lineno,
- is_deferred):
+
+ def _AddTests(self, tests, expectations, test_list_path, lineno, modifiers):
for test in tests:
- if test in self._test_list_paths:
- prev_base_path = self._test_list_paths[test]
- if (prev_base_path == os.path.normpath(test_list_path)):
- self._AddError(lineno, 'Duplicate expecations.', test)
- continue
- if prev_base_path.startswith(test_list_path):
- # already seen a more precise path
- continue
-
- # Remove prexisiting expectations for this test.
- if test in self._test_list_paths:
- for expectation in self.EXPECTATIONS.itervalues():
- if test in self._tests[expectation]:
- self._tests[expectation].remove(test)
+ if self._AlreadySeenTest(test, test_list_path, lineno):
+ continue
- # Now add the new expectations.
- self._expectations[test] = expectations
- self._test_list_paths[test] = os.path.normpath(test_list_path)
+ self._ClearExpectationsForTest(test, test_list_path)
+ self._test_to_expectations[test] = expectations
- if is_deferred:
- self._non_skipped_deferred.add(test)
+ if len(modifiers) is 0:
+ self._AddTest(test, NONE, expectations)
+ else:
+ for modifier in modifiers:
+ self._AddTest(test, self.MODIFIERS[modifier], expectations)
+
+ def _AddTest(self, test, modifier, expectations):
+ self._modifier_to_tests[modifier].add(test)
+ for expectation in expectations:
+ self._expectation_to_tests[expectation].add(test)
+
+ def _ClearExpectationsForTest(self, test, test_list_path):
+ """Remove prexisiting expectations for this test.
+ This happens if we are seeing a more precise path
+ than a previous listing.
+ """
+ if test in self._test_list_paths:
+ self._test_to_expectations.pop(test, '')
+ for expectation in self.EXPECTATIONS.itervalues():
+ if test in self._expectation_to_tests[expectation]:
+ self._expectation_to_tests[expectation].remove(test)
+ for modifier in self.MODIFIERS.itervalues():
+ if test in self._modifier_to_tests[modifier]:
+ self._modifier_to_tests[modifier].remove(test)
+
+ self._test_list_paths[test] = os.path.normpath(test_list_path)
+
+ def _AlreadySeenTest(self, test, test_list_path, lineno):
+ """Returns true if we've already seen a more precise path for this test
+ than the test_list_path.
+ """
+ if not test in self._test_list_paths:
+ return False
- for expectation in expectations:
- if expectation == CRASH and is_deferred:
- self._AddError(lineno, 'Crashes cannot be deferred.', test)
- self._tests[expectation].add(test)
+ prev_base_path = self._test_list_paths[test]
+ if (prev_base_path == os.path.normpath(test_list_path)):
+ self._AddError(lineno, 'Duplicate expectations.', test)
+ return True
- def _AddSkippedTests(self, tests, is_deferred):
- for test in tests:
- if is_deferred:
- self._skipped_deferred.add(test)
- self._skipped.add(test)
+ # Check if we've already seen a more precise path.
+ return prev_base_path.startswith(test_list_path)
def _AddError(self, lineno, msg, path):
self._errors.append('\nLine:%s %s\n%s' % (lineno, msg, path))
diff --git a/webkit/tools/layout_tests/run_webkit_tests.py b/webkit/tools/layout_tests/run_webkit_tests.py
index 48394e2..fe9ccc2 100755
--- a/webkit/tools/layout_tests/run_webkit_tests.py
+++ b/webkit/tools/layout_tests/run_webkit_tests.py
@@ -185,8 +185,8 @@ class TestRunner:
# Remove skipped - both fixable and ignored - files from the
# top-level list of files to test.
- skipped = (self._expectations.GetFixableSkipped() |
- self._expectations.GetIgnoredSkipped())
+ skipped = (self._expectations.GetSkipped() |
+ self._expectations.GetWontFixSkipped())
self._test_files -= skipped
@@ -237,22 +237,21 @@ class TestRunner:
else:
logging.info('Run: %d tests' % len(self._test_files))
- logging.info('Deferred: %d tests' %
- len(self._expectations.GetFixableDeferred()))
+ logging.info('Deferred: %d tests' % len(self._expectations.GetDeferred()))
logging.info('Expected passes: %d tests' %
len(self._test_files -
self._expectations.GetFixable() -
- self._expectations.GetIgnored()))
+ self._expectations.GetWontFix()))
logging.info(('Expected failures: %d fixable, %d ignored '
'and %d deferred tests') %
(len(self._expectations.GetFixableFailures()),
- len(self._expectations.GetIgnoredFailures()),
- len(self._expectations.GetFixableDeferredFailures())))
+ len(self._expectations.GetWontFixFailures()),
+ len(self._expectations.GetDeferredFailures())))
logging.info(('Expected timeouts: %d fixable, %d ignored '
'and %d deferred tests') %
(len(self._expectations.GetFixableTimeouts()),
- len(self._expectations.GetIgnoredTimeouts()),
- len(self._expectations.GetFixableDeferredTimeouts())))
+ len(self._expectations.GetWontFixTimeouts()),
+ len(self._expectations.GetDeferredTimeouts())))
logging.info('Expected crashes: %d fixable tests' %
len(self._expectations.GetFixableCrashes()))
@@ -461,8 +460,8 @@ class TestRunner:
# Print breakdown of tests we need to fix and want to pass.
# Include skipped fixable tests in the statistics.
- skipped = (self._expectations.GetFixableSkipped() -
- self._expectations.GetFixableSkippedDeferred())
+ skipped = (self._expectations.GetSkipped() -
+ self._expectations.GetDeferredSkipped())
self._PrintResultSummary("=> Tests to be fixed for the current release",
self._expectations.GetFixable(),
@@ -473,22 +472,22 @@ class TestRunner:
self._PrintResultSummary("=> Tests we want to pass for the current release",
(self._test_files -
- self._expectations.GetIgnored() -
- self._expectations.GetFixableDeferred()),
+ self._expectations.GetWontFix() -
+ self._expectations.GetDeferred()),
non_ignored_failures,
non_ignored_counts,
skipped,
output)
self._PrintResultSummary("=> Tests to be fixed for a future release",
- self._expectations.GetFixableDeferred(),
+ self._expectations.GetDeferred(),
deferred_failures,
deferred_counts,
- self._expectations.GetFixableSkippedDeferred(),
+ self._expectations.GetDeferredSkipped(),
output)
# Print breakdown of all tests including all skipped tests.
- skipped |= self._expectations.GetIgnoredSkipped()
+ skipped |= self._expectations.GetWontFixSkipped()
self._PrintResultSummary("=> All tests",
self._test_files,
test_failures,
diff --git a/webkit/tools/layout_tests/test_lists/tests_fixable.txt b/webkit/tools/layout_tests/test_lists/tests_fixable.txt
index 934b684..e13ff8b 100644
--- a/webkit/tools/layout_tests/test_lists/tests_fixable.txt
+++ b/webkit/tools/layout_tests/test_lists/tests_fixable.txt
@@ -1,5 +1,347 @@
-// These tests are expected to fail until we get around to fixing
-// them.
+// This file consist of lines with specifications of what
+// to expect from layout test cases. The test cases can be directories
+// in which case the expectations apply to all test cases in that
+// directory and any subdirectory. The format of the file is along the
+// lines of:
+//
+// LayoutTests/fast/js/fixme.js = FAIL
+// LayoutTests/fast/js/flaky.js = FAIL PASS
+// LayoutTests/fast/js/crash.js = CRASH TIMEOUT FAIL PASS
+//
+// To add other options:
+// SKIP : LayoutTests/fast/js/no-good.js = TIMEOUT PASS
+// DEBUG : LayoutTests/fast/js/no-good.js = TIMEOUT PASS
+// DEBUG SKIP : LayoutTests/fast/js/no-good.js = TIMEOUT PASS
+// LINUX DEBUG SKIP : LayoutTests/fast/js/no-good.js = TIMEOUT PASS
+// DEFER LINUX WIN : LayoutTests/fast/js/no-good.js = TIMEOUT PASS
+//
+// SKIP: Doesn't run the test.
+// WONTFIX: For tests that we never intend to pass on a given platform.
+// DEFER: Test does not count in our statistics for the current release.
+// DEBUG: Expectations apply only to the debug build.
+// RELEASE: Expectations apply only to release build.
+// LINUX/WIN/MAC: Expectations apply only to these platforms.
+//
+// A test can be included twice, but not via the same path. If a test is
+// included twice, then the more precise path wins.
+
+// -----------------------------------------------------------------
+// SKIPPED TESTS
+// -----------------------------------------------------------------
+
+// XHTML tests. See bug 793944. These tests seem like they work, but
+// only because the expected output expects to see JS errors. There is
+// no point in running these tests, because they are giving us a false
+// sense of testing that isn't really happening. Furthermore, since they
+// appear to pass if we do try to run them, we can't even list them as
+// permanently expected to fail.
+WONTFIX SKIP : LayoutTests/dom/xhtml = PASS
+
+// We do not want to support Legacy mac encodings on Windows/Linux.
+// On Mac, we can support them by building platform/text/mac, but
+// probably we don't want there, either.
+BUG12345 WONTFIX SKIP WIN LINUX : LayoutTests/fast/encoding/char-encoding-mac.html = FAIL
+
+// Fails due to different window.close() rules. See bug 753420. We need
+// to decide whether we ever expect to pass this. Now also timing out.
+WONTFIX SKIP : LayoutTests/fast/dom/open-and-close-by-DOM.html = FAIL
+
+// Skip because of WebKit bug 18512. These bugs "poison" future tests, causing
+// all SVG objects with fill="red" to be rendered in green.
+WONTFIX SKIP : LayoutTests/svg/custom/fill-SVGPaint-interface.svg = PASS
+WONTFIX SKIP : LayoutTests/svg/custom/getPresentationAttribute.svg = PASS
+
+// WML is still an inprogress feature upstream. Chromium does not build
+// with WML support, so skip its tests.
+WONTFIX SKIP : LayoutTests/wml = FAIL
+WONTFIX SKIP : LayoutTests/http/tests/wml = FAIL
+
+// These tests are based on the JSC JavaScript profiler. The V8 JavaScript
+// profiler is in development and will use a different approach than JSC and
+// most likely these tests will always be JSC specific.
+WONTFIX SKIP : LayoutTests/fast/profiler = FAIL TIMEOUT
+
+// These tests depend on a bogus assumption that file:// URLs have universal
+// access to other URLs. This isn't true for us.
+WONTFIX SKIP : LayoutTests/editing/selection/drag-in-iframe.html = TIMEOUT
+WONTFIX SKIP : LayoutTests/fast/dom/gc-6.html = TIMEOUT
+WONTFIX SKIP : LayoutTests/fast/dom/gc-7.html = TIMEOUT
+WONTFIX SKIP : LayoutTests/fast/frames/frame-set-same-location.html = TIMEOUT
+WONTFIX SKIP : LayoutTests/fast/frames/frame-set-same-src.html = TIMEOUT
+WONTFIX SKIP : LayoutTests/fast/frames/hover-timer-crash.html = TIMEOUT
+
+// This test doesn't terminate because it contains exponential
+// regexps. It is safe to disable because we run the same tests
+// (sans the nonterminating ones) as part of the v8 tests.
+WONTFIX SKIP : LayoutTests/fast/regex/test1.html = PASS
+
+// -----------------------------------------------------------------
+// FAILING TESTS
+// -----------------------------------------------------------------
+
+// Bug: 1137420
+// We don't intend to pass all of these cases, so this is an expected fail.
+// Window resizing is not implemented in chrome.
+WONTFIX : LayoutTests/fast/dom/Window/window-resize.html = FAIL
+
+// This test is completely timing dependent. It is testing the time
+// between a key event and a search event. You cannot count on this
+// always being exactly the same, so we allow this to either PASS or FAIL
+// but not CRASH or TIMEOUT.
+WONTFIX : LayoutTests/fast/forms/search-event-delay.html = FAIL PASS
+
+// Chrome uses different keyboard accelerators from those used by Safari, so
+// these tests will always fail.
+// TODO(pinkerton): these should probably pass on Mac since we want Emacs
+// keybindings but they currently do not.
+WONTFIX : LayoutTests/editing/pasteboard/emacs-cntl-y-001.html = FAIL
+WONTFIX : LayoutTests/editing/pasteboard/emacs-ctrl-a-k-y.html = FAIL
+WONTFIX : LayoutTests/editing/pasteboard/emacs-ctrl-k-y-001.html = FAIL
+WONTFIX : LayoutTests/editing/input/emacs-ctrl-o.html = FAIL
+
+// These tests check for very kjs-specific garbage collector behavior. Gc-8
+// tests behavior that makes no sense for us to implement. Gc-10 makes sense
+// but would have to be implemented much differently to work in v8.
+WONTFIX : LayoutTests/fast/dom/gc-8.html = FAIL
+WONTFIX : LayoutTests/fast/dom/gc-10.html = FAIL
+
+// This fails because we're missing various useless apple-specific
+// properties on the window object.
+// This test also timeouts in Debug mode. See bug 1058654.
+WONTFIX : LayoutTests/fast/dom/Window/window-properties.html = FAIL TIMEOUT
+
+// Safari specific test to ensure that JavaScript errors aren't logged when in
+// private browsing mode.
+WONTFIX : LayoutTests/http/tests/security/cross-frame-access-private-browsing.html = FAIL
+
+// We don't care about dashboard compatibility mode.
+WONTFIX SKIP : LayoutTests/http/tests/xmlhttprequest/default-content-type-dashboard.html = FAIL
+WONTFIX SKIP : LayoutTests/http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard.html = FAIL
+WONTFIX : LayoutTests/svg/custom/embedded-svg-disallowed-in-dashboard.xml = FAIL
+WONTFIX : LayoutTests/svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard.html = FAIL
+WONTFIX : LayoutTests/svg/custom/manually-parsed-svg-disallowed-in-dashboard.html = FAIL
+WONTFIX : LayoutTests/svg/custom/svg-disallowed-in-dashboard-object.html = FAIL
+
+// Chrome uses different keyboard accelerators from those used by Safari, so
+// these tests will always fail.
+// TODO(ericroman): can the following 2 tests be removed from this list, since they pass?
+WONTFIX : LayoutTests/fast/events/keydown-1.html = FAIL
+WONTFIX LINUX WIN : LayoutTests/fast/events/option-tab.html = FAIL
+
+// Chrome does not support WebArchives (just like Safari for Windows).
+// See bug 761653.
+WONTFIX SKIP : LayoutTests/webarchive/loading = FAIL TIMEOUT
+WONTFIX : LayoutTests/webarchive = PASS
+WONTFIX : LayoutTests/svg/webarchive = FAIL PASS
+WONTFIX : LayoutTests/svg/custom/image-with-prefix-in-webarchive.svg = FAIL PASS
+WONTFIX SKIP : LayoutTests/http/tests/webarchive = FAIL PASS
+
+// Bug 932737
+WONTFIX : LayoutTests/webarchive/loading/test-loading-archive.html = TIMEOUT
+
+// Run the Mac-specific platform tests, but only to check for crashes.
+WONTFIX : LayoutTests/platform/gtk = FAIL PASS
+WONTFIX : LayoutTests/platform/mac = FAIL PASS TIMEOUT
+WONTFIX : LayoutTests/platform/mac-leopard = FAIL PASS
+WONTFIX : LayoutTests/platform/mac-tiger = FAIL PASS
+WONTFIX : LayoutTests/platform/qt = FAIL PASS
+WONTFIX LINUX MAC : LayoutTests/platform/win = FAIL PASS
+
+// Ignored because we do not have OBJC bindings
+WONTFIX SKIP : LayoutTests/editing/pasteboard/paste-RTFD.html = FAIL
+WONTFIX SKIP : LayoutTests/editing/pasteboard/paste-TIFF.html = FAIL
+WONTFIX SKIP : LayoutTests/plugins/jsobjc-dom-wrappers.html = FAIL
+WONTFIX SKIP : LayoutTests/plugins/jsobjc-simple.html = FAIL
+WONTFIX SKIP : LayoutTests/plugins/root-object-premature-delete-crash.html = FAIL
+WONTFIX SKIP : LayoutTests/plugins/throw-on-dealloc.html = FAIL
+WONTFIX SKIP : LayoutTests/plugins/undefined-property-crash.html = FAIL
+
+// Uses __apple_runtime_object
+WONTFIX SKIP : LayoutTests/plugins/call-as-function-test.html = FAIL
+
+// Ignore test because it tries to load .pdf files in <img> tags.
+WONTFIX LINUX WIN : LayoutTests/fast/images/pdf-as-image-landscape.html = FAIL
+WONTFIX LINUX WIN : LayoutTests/fast/images/pdf-as-image.html = FAIL
+WONTFIX LINUX WIN : LayoutTests/fast/replaced/pdf-as-image.html = FAIL
+
+// This test tries to print a PDF file as the expected result. I don't think
+// we plan on supporting this anytime soon.
+WONTFIX SKIP : LayoutTests/printing/media-queries-print.html = PASS
+
+// Bug 853268: Chrome doesn't call the willCacheResponse callback (a method
+// of ResourceHandleClient). That function is Mac-specific.
+WONTFIX : LayoutTests/http/tests/misc/willCacheResponse-delegate-callback.html = FAIL
+
+// Checks for very kjs-specific garbage collector
+// behavior. Gc-9 is completely braindamaged; it tests that certain
+// properties are reset by the garbage collector. It looks to pass recently.
+WONTFIX : LayoutTests/fast/dom/gc-9.html = PASS FAIL
+
+// This test checks that ((new Error()).message is undefined, which is
+// a direct contradiction of the javascript spec 15.11.4.3 which
+// says that it must be a string.
+WONTFIX : LayoutTests/fast/js/kde/evil-n.html = FAIL
+
+// This test is broken. The regular expression used contains an error
+// which kjs swallows and returns false, which is the expected result,
+// but for which we issue a syntax error.
+WONTFIX : LayoutTests/fast/js/code-serialize-paren.html = FAIL
+
+// These tests check for a kjs-specific extension, that source file
+// name and line numbers are available as properties on exception
+// objects. We handle error positions differently.
+WONTFIX : LayoutTests/fast/js/exception-linenums-in-html-1.html = FAIL
+WONTFIX : LayoutTests/fast/js/exception-linenums-in-html-2.html = FAIL
+WONTFIX : LayoutTests/fast/js/exception-linenums.html = FAIL
+WONTFIX : LayoutTests/fast/js/exception-expression-offset.html = FAIL
+
+// These tests rely on specific details of decompilation of
+// functions. V8 always returns the source code as written; there's
+// no decompilation or pretty printing involved except for
+// certain "native" functions where the V8 output does not include
+// newline characters. This is working as intended and we don't care
+// if the tests pass or fail.
+WONTFIX : LayoutTests/fast/js/function-names.html = FAIL PASS
+
+// This test relies on KJS specific implementation
+// (window.GCController.getJSObjectCount), which we have no intention of
+// supporting.
+WONTFIX SKIP : LayoutTests/fast/dom/Window/timeout-released-on-close.html = FAIL
+
+// These tests expect a tiff decoder, which we don't have.
+WONTFIX LINUX WIN : LayoutTests/fast/images/embed-image.html = FAIL
+WONTFIX LINUX WIN : LayoutTests/fast/images/object-image.html = FAIL
+
+// Safari has a unique handling of the BOM characters among browsers.
+// There is a strong suspicion that this is a security problem, so we
+// follow the rest of the browsers on this one.
+WONTFIX : LayoutTests/fast/js/removing-Cf-characters.html = FAIL
+
+// These tests fail in all but the PST/PDT time zone.
+// Another reason for failure is that, for compatability, we don't obey
+// the ECMA standard on DST exactly. We use the OS's facilities to
+// convert to local time for dates within the UNIX 32-bit epoch,
+// and follow the ECMA rules for dates outside that range.
+// The ECMA rules say to use current DST rules for all dates,
+// and that all dates that are separated by an exact multiple of
+// 28 years must behave exactly the same.
+// OS local time services are more accurate than this ECMA rule,
+// which is a discrepancy.
+WONTFIX SKIP : LayoutTests/fast/js/date-DST-time-cusps.html = PASS FAIL
+WONTFIX SKIP : LayoutTests/fast/js/date-big-setdate.html = PASS FAIL
+
+// The following tests fail because of difference in how the test shell
+// navigation controller tracks navigations as compared to how the Mac
+// implementation does it.
+WONTFIX : LayoutTests/http/tests/history/redirect-200-refresh-0-seconds.pl = FAIL
+WONTFIX : LayoutTests/http/tests/history/redirect-js-location-replace-0-seconds.html = FAIL
+WONTFIX : LayoutTests/http/tests/history/redirect-js-location-replace-2-seconds.html = FAIL
+WONTFIX : LayoutTests/http/tests/history/redirect-js-location-replace-before-load.html = FAIL
+WONTFIX : LayoutTests/http/tests/history/redirect-meta-refresh-0-seconds.html = FAIL
+WONTFIX : LayoutTests/http/tests/history/redirect-js-form-submit-before-load.html = FAIL
+
+// This test expects weird behavior of __defineGetter__ on the
+// window object. It expects variables introduced with 'var x = value'
+// to behave differently from variables introduced with 'y = value'.
+// This just seems wrong and should have very low priority.
+// Agreed, not required for Beta, we can debate this with WebKit post Beta, (eseidel, 4/25)
+// Ignore this until we see evidence that we need to support it.
+WONTFIX : LayoutTests/fast/dom/getter-on-window-object2.html = FAIL
+
+// V8 doesn't stable sort and we currently have no intention of
+// changing this. It is tracked by:
+// http://code.google.com/p/v8/issues/detail?id=90
+WONTFIX : LayoutTests/fast/js/comparefn-sort-stability.html = FAIL
+WONTFIX : LayoutTests/fast/js/sort-stability.html = FAIL
+
+// We have no indication that anyone misses this and have currently no
+// intention of implementing it.
+WONTFIX : LayoutTests/fast/js/function-dot-arguments.html = FAIL
+
+// This is a Safari specific test used to document the set of global
+// constructors they expose and the exact way they are printed. Not
+// important.
+WONTFIX : LayoutTests/fast/js/global-constructors.html = FAIL
+
+// This test is not reliable. The behavior depends on exactly how the
+// stack limit is reached. We're happy with our behavior on this test
+// as long as we don't crash.
+WONTFIX : LayoutTests/fast/js/global-recursion-on-full-stack.html = FAIL PASS
+
+// -----------------------------------------------------------------
+// CHROME REWRITTEN TESTS
+// -----------------------------------------------------------------
+
+// These tests have been rewritten, with the original being ignored,
+// because they were written in ways which are not cross-browser.
+// (e.g. they expect implementation-dependent strings in output)
+WONTFIX : LayoutTests/fast/js/date-proto-generic-invocation.html = FAIL
+WONTFIX : LayoutTests/fast/js/kde/function.html = FAIL
+WONTFIX : LayoutTests/fast/js/kde/inbuilt_function_tostring.html = FAIL
+
+// These tests have been rewritten, with the original being ignored,
+// because they rely on being able to shadow the 'top' variable on the
+// global object. For security we disallow shadowing of top.
+WONTFIX : LayoutTests/editing/selection/click-before-and-after-table.html = FAIL
+
+// Bug 849085: we're taking a different approach on this test than
+// Webkit does.
+WONTFIX SKIP : LayoutTests/plugins/get-url-with-blank-target.html = FAIL
+
+// This test doesn't work on the bbot. Works locally.
+WONTFIX SKIP : chrome/http/tests/plugins/get-file-url.html = FAIL PASS TIMEOUT
+
+// Dashboard-related test
+WONTFIX SKIP : LayoutTests/platform/mac/fast/css/dashboard-region-parser.html = FAIL
+
+// Not a test?
+WONTFIX SKIP : LayoutTests/http/tests/incremental/pause-in-script-element.pl = FAIL
+
+// This fails because it requests bold+italic Impact faces, which don't exist.
+// Our simulation of them differs in metrics from Windows's simulation and
+// this is probably not worth the effort to fix.
+WONTFIX LINUX : chrome/fonts/impact.html = FAIL
+
+// This test times out. It is testing arbitrary limits on the sizes
+// of regular expressions. We handle larger regular expressions than
+// JSCRE, but it takes a long time to run this test because it
+// repeatedly creates big regular expressions. All the test is trying
+// to verify is that we don't crash on this page.
+WONTFIX : LayoutTests/fast/js/regexp-charclass-crash.html = PASS TIMEOUT
+
+// This tests for an arbitrary limit set in JSCRE to terminate regular
+// expressions with an exponential matching behavior. Since the V8
+// regular expression engine can be preempted from the outside, we do not
+// need to limit the execution this way. Firefox also keeps running
+// on this one.
+WONTFIX : LayoutTests/fast/regex/slow.html = TIMEOUT
+
+// Test to verify legacy MAC encodings. We don't want to support them and
+// have to skip this test.
+WONTFIX SKIP : LayoutTests/fast/encoding/char-decoding-mac.html = FAIL
+
+// WebKit QT Build-specific tests
+WONTFIX SKIP : LayoutTests/platform/qt/view/fixed-layout-size.html = FAIL
+
+// These don't have pixel results and rely on ObjC bindings. Don't run until they have pixel results.
+WONTFIX SKIP : LayoutTests/platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html = FAIL
+WONTFIX SKIP : LayoutTests/http/tests/security/dataTransfer-set-data-file-url.html = FAIL
+
+// Bug 5053: The issue is which global object to use as the implicit
+// receiver for cross-frame calls. Currently, IE, Firefox and Chrome
+// agree and only Safari is doing it this way.
+WONTFIX : LayoutTests/fast/frames/cross-site-this.html = FAIL
+
+// This tests a Safari incompatibility. This test should fail since
+// it contains syntax errors that JSC for some reason choose not to
+// throw. V8 follows the spec.
+WONTFIX : LayoutTests/fast/js/reparsing-semicolon-insertion.html = FAIL
+
+// These tests relate to transform/3d which is a work in progress and is not
+// even run by the WebKit folk. They should be enabled whenever WebKit begins
+// testing them by default. The bug to re-enable is:
+// http://code.google.com/p/chromium/issues/detail?id=8455
+WONTFIX SKIP : LayoutTests/transforms/3d = FAIL
// Bug 1124548: Copying with no selection is sometimes supposed to work
// Also skipped by Apple on Windows (rdar://problem/5015941)
diff --git a/webkit/tools/layout_tests/test_lists/tests_ignored.txt b/webkit/tools/layout_tests/test_lists/tests_ignored.txt
deleted file mode 100644
index 2e4cb48..0000000
--- a/webkit/tools/layout_tests/test_lists/tests_ignored.txt
+++ /dev/null
@@ -1,329 +0,0 @@
-// These tests will be run (unless skipped), but do not expect ever to pass
-// them. They use platform-specific conventions, or features we have decided
-// never to support.
-
-// -----------------------------------------------------------------
-// SKIPPED TESTS
-// -----------------------------------------------------------------
-
-// XHTML tests. See bug 793944. These tests seem like they work, but
-// only because the expected output expects to see JS errors. There is
-// no point in running these tests, because they are giving us a false
-// sense of testing that isn't really happening. Furthermore, since they
-// appear to pass if we do try to run them, we can't even list them as
-// permanently expected to fail.
-SKIP : LayoutTests/dom/xhtml = PASS
-
-// We do not want to support Legacy mac encodings on Windows/Linux.
-// On Mac, we can support them by building platform/text/mac, but
-// probably we don't want there, either.
-SKIP : LayoutTests/fast/encoding/char-encoding-mac.html = FAIL
-
-// Fails due to different window.close() rules. See bug 753420. We need
-// to decide whether we ever expect to pass this. Now also timing out.
-SKIP : LayoutTests/fast/dom/open-and-close-by-DOM.html = FAIL
-
-// Skip because of WebKit bug 18512. These bugs "poison" future tests, causing
-// all SVG objects with fill="red" to be rendered in green.
-SKIP : LayoutTests/svg/custom/fill-SVGPaint-interface.svg = PASS
-SKIP : LayoutTests/svg/custom/getPresentationAttribute.svg = PASS
-
-// WML is still an inprogress feature upstream. Chromium does not build
-// with WML support, so skip its tests.
-SKIP : LayoutTests/wml = FAIL
-SKIP : LayoutTests/http/tests/wml = FAIL
-
-// These tests are based on the JSC JavaScript profiler. The V8 JavaScript
-// profiler is in development and will use a different approach than JSC and
-// most likely these tests will always be JSC specific.
-SKIP : LayoutTests/fast/profiler = FAIL TIMEOUT
-
-// These tests depend on a bogus assumption that file:// URLs have universal
-// access to other URLs. This isn't true for us.
-SKIP : LayoutTests/editing/selection/drag-in-iframe.html = TIMEOUT
-SKIP : LayoutTests/fast/dom/gc-6.html = TIMEOUT
-SKIP : LayoutTests/fast/dom/gc-7.html = TIMEOUT
-SKIP : LayoutTests/fast/frames/frame-set-same-location.html = TIMEOUT
-SKIP : LayoutTests/fast/frames/frame-set-same-src.html = TIMEOUT
-SKIP : LayoutTests/fast/frames/hover-timer-crash.html = TIMEOUT
-
-// This test doesn't terminate because it contains exponential
-// regexps. It is safe to disable because we run the same tests
-// (sans the nonterminating ones) as part of the v8 tests.
-SKIP : LayoutTests/fast/regex/test1.html = PASS
-
-// -----------------------------------------------------------------
-// FAILING TESTS
-// -----------------------------------------------------------------
-
-// Bug: 1137420
-// We don't intend to pass all of these cases, so this is an expected fail.
-// Window resizing is not implemented in chrome.
-LayoutTests/fast/dom/Window/window-resize.html = FAIL
-
-// This test is completely timing dependent. It is testing the time
-// between a key event and a search event. You cannot count on this
-// always being exactly the same, so we allow this to either PASS or FAIL
-// but not CRASH or TIMEOUT.
-LayoutTests/fast/forms/search-event-delay.html = FAIL PASS
-
-// Chrome uses different keyboard accelerators from those used by Safari, so
-// these tests will always fail.
-// TODO(pinkerton): these should probably pass on Mac since we want Emacs
-// keybindings but they currently do not.
-LayoutTests/editing/pasteboard/emacs-cntl-y-001.html = FAIL
-LayoutTests/editing/pasteboard/emacs-ctrl-a-k-y.html = FAIL
-LayoutTests/editing/pasteboard/emacs-ctrl-k-y-001.html = FAIL
-LayoutTests/editing/input/emacs-ctrl-o.html = FAIL
-
-// These tests check for very kjs-specific garbage collector behavior. Gc-8
-// tests behavior that makes no sense for us to implement. Gc-10 makes sense
-// but would have to be implemented much differently to work in v8.
-LayoutTests/fast/dom/gc-8.html = FAIL
-LayoutTests/fast/dom/gc-10.html = FAIL
-
-// This fails because we're missing various useless apple-specific
-// properties on the window object.
-// This test also timeouts in Debug mode. See bug 1058654.
-LayoutTests/fast/dom/Window/window-properties.html = FAIL TIMEOUT
-
-// Safari specific test to ensure that JavaScript errors aren't logged when in
-// private browsing mode.
-LayoutTests/http/tests/security/cross-frame-access-private-browsing.html = FAIL
-
-// We don't care about dashboard compatibility mode.
-SKIP : LayoutTests/http/tests/xmlhttprequest/default-content-type-dashboard.html = FAIL
-SKIP : LayoutTests/http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard.html = FAIL
-LayoutTests/svg/custom/embedded-svg-disallowed-in-dashboard.xml = FAIL
-LayoutTests/svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard.html = FAIL
-LayoutTests/svg/custom/manually-parsed-svg-disallowed-in-dashboard.html = FAIL
-LayoutTests/svg/custom/svg-disallowed-in-dashboard-object.html = FAIL
-
-// Chrome uses different keyboard accelerators from those used by Safari, so
-// these tests will always fail.
-// TODO(ericroman): can the following 2 tests be removed from this list, since they pass?
-LayoutTests/fast/events/keydown-1.html = FAIL
-LINUX WIN : LayoutTests/fast/events/option-tab.html = FAIL
-
-// Chrome does not support WebArchives (just like Safari for Windows).
-// See bug 761653.
-SKIP : LayoutTests/webarchive/loading = FAIL TIMEOUT
-LayoutTests/webarchive = PASS
-LayoutTests/svg/webarchive = FAIL PASS
-LayoutTests/svg/custom/image-with-prefix-in-webarchive.svg = FAIL PASS
-SKIP : LayoutTests/http/tests/webarchive = FAIL PASS
-
-// Bug 932737
-LayoutTests/webarchive/loading/test-loading-archive.html = TIMEOUT
-
-// Run the Mac-specific platform tests, but only to check for crashes.
-LayoutTests/platform/gtk = FAIL PASS
-LayoutTests/platform/mac = FAIL PASS TIMEOUT
-LayoutTests/platform/mac-leopard = FAIL PASS
-LayoutTests/platform/mac-tiger = FAIL PASS
-LayoutTests/platform/qt = FAIL PASS
-LINUX MAC : LayoutTests/platform/win = FAIL PASS
-
-// Ignored because we do not have OBJC bindings
-SKIP : LayoutTests/editing/pasteboard/paste-RTFD.html = FAIL
-SKIP : LayoutTests/editing/pasteboard/paste-TIFF.html = FAIL
-SKIP : LayoutTests/plugins/jsobjc-dom-wrappers.html = FAIL
-SKIP : LayoutTests/plugins/jsobjc-simple.html = FAIL
-SKIP : LayoutTests/plugins/root-object-premature-delete-crash.html = FAIL
-SKIP : LayoutTests/plugins/throw-on-dealloc.html = FAIL
-SKIP : LayoutTests/plugins/undefined-property-crash.html = FAIL
-
-// Uses __apple_runtime_object
-SKIP : LayoutTests/plugins/call-as-function-test.html = FAIL
-
-// Ignore test because it tries to load .pdf files in <img> tags.
-LINUX WIN : LayoutTests/fast/images/pdf-as-image-landscape.html = FAIL
-LINUX WIN : LayoutTests/fast/images/pdf-as-image.html = FAIL
-LINUX WIN : LayoutTests/fast/replaced/pdf-as-image.html = FAIL
-
-// This test tries to print a PDF file as the expected result. I don't think
-// we plan on supporting this anytime soon.
-SKIP : LayoutTests/printing/media-queries-print.html = PASS
-
-// Bug 853268: Chrome doesn't call the willCacheResponse callback (a method
-// of ResourceHandleClient). That function is Mac-specific.
-LayoutTests/http/tests/misc/willCacheResponse-delegate-callback.html = FAIL
-
-// Checks for very kjs-specific garbage collector
-// behavior. Gc-9 is completely braindamaged; it tests that certain
-// properties are reset by the garbage collector. It looks to pass recently.
-LayoutTests/fast/dom/gc-9.html = PASS FAIL
-
-// This test checks that ((new Error()).message is undefined, which is
-// a direct contradiction of the javascript spec 15.11.4.3 which
-// says that it must be a string.
-LayoutTests/fast/js/kde/evil-n.html = FAIL
-
-// This test is broken. The regular expression used contains an error
-// which kjs swallows and returns false, which is the expected result,
-// but for which we issue a syntax error.
-LayoutTests/fast/js/code-serialize-paren.html = FAIL
-
-// These tests check for a kjs-specific extension, that source file
-// name and line numbers are available as properties on exception
-// objects. We handle error positions differently.
-LayoutTests/fast/js/exception-linenums-in-html-1.html = FAIL
-LayoutTests/fast/js/exception-linenums-in-html-2.html = FAIL
-LayoutTests/fast/js/exception-linenums.html = FAIL
-LayoutTests/fast/js/exception-expression-offset.html = FAIL
-
-// These tests rely on specific details of decompilation of
-// functions. V8 always returns the source code as written; there's
-// no decompilation or pretty printing involved except for
-// certain "native" functions where the V8 output does not include
-// newline characters. This is working as intended and we don't care
-// if the tests pass or fail.
-LayoutTests/fast/js/function-names.html = FAIL PASS
-
-// This test relies on KJS specific implementation
-// (window.GCController.getJSObjectCount), which we have no intention of
-// supporting.
-SKIP : LayoutTests/fast/dom/Window/timeout-released-on-close.html = FAIL
-
-// These tests expect a tiff decoder, which we don't have.
-LINUX WIN : LayoutTests/fast/images/embed-image.html = FAIL
-LINUX WIN : LayoutTests/fast/images/object-image.html = FAIL
-
-// Safari has a unique handling of the BOM characters among browsers.
-// There is a strong suspicion that this is a security problem, so we
-// follow the rest of the browsers on this one.
-LayoutTests/fast/js/removing-Cf-characters.html = FAIL
-
-// These tests fail in all but the PST/PDT time zone.
-// Another reason for failure is that, for compatability, we don't obey
-// the ECMA standard on DST exactly. We use the OS's facilities to
-// convert to local time for dates within the UNIX 32-bit epoch,
-// and follow the ECMA rules for dates outside that range.
-// The ECMA rules say to use current DST rules for all dates,
-// and that all dates that are separated by an exact multiple of
-// 28 years must behave exactly the same.
-// OS local time services are more accurate than this ECMA rule,
-// which is a discrepancy.
-SKIP : LayoutTests/fast/js/date-DST-time-cusps.html = PASS FAIL
-SKIP : LayoutTests/fast/js/date-big-setdate.html = PASS FAIL
-
-// The following tests fail because of difference in how the test shell
-// navigation controller tracks navigations as compared to how the Mac
-// implementation does it.
-LayoutTests/http/tests/history/redirect-200-refresh-0-seconds.pl = FAIL
-LayoutTests/http/tests/history/redirect-js-location-replace-0-seconds.html = FAIL
-LayoutTests/http/tests/history/redirect-js-location-replace-2-seconds.html = FAIL
-LayoutTests/http/tests/history/redirect-js-location-replace-before-load.html = FAIL
-LayoutTests/http/tests/history/redirect-meta-refresh-0-seconds.html = FAIL
-LayoutTests/http/tests/history/redirect-js-form-submit-before-load.html = FAIL
-
-// This test expects weird behavior of __defineGetter__ on the
-// window object. It expects variables introduced with 'var x = value'
-// to behave differently from variables introduced with 'y = value'.
-// This just seems wrong and should have very low priority.
-// Agreed, not required for Beta, we can debate this with WebKit post Beta, (eseidel, 4/25)
-// Ignore this until we see evidence that we need to support it.
-LayoutTests/fast/dom/getter-on-window-object2.html = FAIL
-
-// V8 doesn't stable sort and we currently have no intention of
-// changing this. It is tracked by:
-// http://code.google.com/p/v8/issues/detail?id=90
-LayoutTests/fast/js/comparefn-sort-stability.html = FAIL
-LayoutTests/fast/js/sort-stability.html = FAIL
-
-// We have no indication that anyone misses this and have currently no
-// intention of implementing it.
-LayoutTests/fast/js/function-dot-arguments.html = FAIL
-
-// This is a Safari specific test used to document the set of global
-// constructors they expose and the exact way they are printed. Not
-// important.
-LayoutTests/fast/js/global-constructors.html = FAIL
-
-// This test is not reliable. The behavior depends on exactly how the
-// stack limit is reached. We're happy with our behavior on this test
-// as long as we don't crash.
-LayoutTests/fast/js/global-recursion-on-full-stack.html = FAIL PASS
-
-// -----------------------------------------------------------------
-// CHROME REWRITTEN TESTS
-// -----------------------------------------------------------------
-
-// These tests have been rewritten, with the original being ignored,
-// because they were written in ways which are not cross-browser.
-// (e.g. they expect implementation-dependent strings in output)
-LayoutTests/fast/js/date-proto-generic-invocation.html = FAIL
-LayoutTests/fast/js/kde/function.html = FAIL
-LayoutTests/fast/js/kde/inbuilt_function_tostring.html = FAIL
-
-// These tests have been rewritten, with the original being ignored,
-// because they rely on being able to shadow the 'top' variable on the
-// global object. For security we disallow shadowing of top.
-LayoutTests/editing/selection/click-before-and-after-table.html = FAIL
-
-// Bug 849085: we're taking a different approach on this test than
-// Webkit does.
-SKIP : LayoutTests/plugins/get-url-with-blank-target.html = FAIL
-
-// This test doesn't work on the bbot. Works locally.
-SKIP : chrome/http/tests/plugins/get-file-url.html = FAIL PASS TIMEOUT
-
-// Dashboard-related test
-SKIP : LayoutTests/platform/mac/fast/css/dashboard-region-parser.html = FAIL
-
-// Not a test?
-SKIP : LayoutTests/http/tests/incremental/pause-in-script-element.pl = FAIL
-
-// This fails because it requests bold+italic Impact faces, which don't exist.
-// Our simulation of them differs in metrics from Windows's simulation and
-// this is probably not worth the effort to fix.
-LINUX : chrome/fonts/impact.html = FAIL
-
-// This test times out. It is testing arbitrary limits on the sizes
-// of regular expressions. We handle larger regular expressions than
-// JSCRE, but it takes a long time to run this test because it
-// repeatedly creates big regular expressions. All the test is trying
-// to verify is that we don't crash on this page.
-LayoutTests/fast/js/regexp-charclass-crash.html = PASS TIMEOUT
-
-// This tests for an arbitrary limit set in JSCRE to terminate regular
-// expressions with an exponential matching behavior. Since the V8
-// regular expression engine can be preempted from the outside, we do not
-// need to limit the execution this way. Firefox also keeps running
-// on this one.
-LayoutTests/fast/regex/slow.html = TIMEOUT
-
-// This test contains expressions with exponential matching
-// behavior on which JSCRE terminate the matching before it is done. We
-// do not and the test therefore takes a long time to run.
-LayoutTests/fast/regex/test1.html = TIMEOUT
-
-// Test to verify legacy MAC encodings. We don't want to support them and
-// have to skip this test.
-SKIP : LayoutTests/fast/encoding/char-decoding-mac.html = FAIL
-
-// WebKit QT Build-specific tests
-SKIP : LayoutTests/platform/qt/view/fixed-layout-size.html = FAIL
-
-// These don't have pixel results and rely on ObjC bindings. Don't run until they have pixel results.
-SKIP : LayoutTests/platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html = FAIL
-SKIP : LayoutTests/http/tests/security/dataTransfer-set-data-file-url.html = FAIL
-
-// Bug 5053: The issue is which global object to use as the implicit
-// receiver for cross-frame calls. Currently, IE, Firefox and Chrome
-// agree and only Safari is doing it this way.
-LayoutTests/fast/frames/cross-site-this.html = FAIL
-
-// This tests a Safari incompatibility. This test should fail since
-// it contains syntax errors that JSC for some reason choose not to
-// throw. V8 follows the spec.
-LayoutTests/fast/js/reparsing-semicolon-insertion.html = FAIL
-
-// These tests relate to transform/3d which is a work in progress and is not
-// even run by the WebKit folk. They should be enabled whenever WebKit begins
-// testing them by default. The bug to re-enable is:
-// http://code.google.com/p/chromium/issues/detail?id=8455
-SKIP : LayoutTests/transforms/3d = FAIL
-
-// This uses a Mac-only font
-SKIP : LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html = FAIL \ No newline at end of file