diff options
author | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-21 00:44:15 +0000 |
---|---|---|
committer | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-21 00:44:15 +0000 |
commit | 986b7694534e767af2656a41f756c8d4ed864243 (patch) | |
tree | 5081c8056cc15845ed267d362a26163f9a611b79 /webkit | |
parent | 37dbc0308b719e59de593e6cfb1a6aafa77d59c9 (diff) | |
download | chromium_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')
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 |