Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(790)

Unified Diff: webkit/tools/layout_tests/test_types/text_diff.py

Issue 545145: Move the layout test scripts into a 'webkitpy' subdirectory in preparation... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: try to de-confuse svn and the try bots Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/tools/layout_tests/test_types/text_diff.py
===================================================================
--- webkit/tools/layout_tests/test_types/text_diff.py (revision 36724)
+++ webkit/tools/layout_tests/test_types/text_diff.py (working copy)
@@ -1,96 +0,0 @@
-# Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Compares the text output of a test to the expected text output.
-
-If the output doesn't match, returns FailureTextMismatch and outputs the diff
-files into the layout test results directory.
-"""
-
-import errno
-import logging
-import os.path
-
-from layout_package import path_utils
-from layout_package import test_failures
-from test_types import test_type_base
-
-
-def isRenderTreeDump(data):
- """Returns true if data appears to be a render tree dump as opposed to a
- plain text dump."""
- return data.find("RenderView at (0,0)") != -1
-
-
-class TestTextDiff(test_type_base.TestTypeBase):
-
- def GetNormalizedOutputText(self, output):
- # Some tests produce "\r\n" explicitly. Our system (Python/Cygwin)
- # helpfully changes the "\n" to "\r\n", resulting in "\r\r\n".
- norm = output.replace("\r\r\n", "\r\n").strip("\r\n").replace(
- "\r\n", "\n")
- return norm + "\n"
-
- def GetNormalizedExpectedText(self, filename, show_sources):
- """Given the filename of the test, read the expected output from a file
- and normalize the text. Returns a string with the expected text, or ''
- if the expected output file was not found."""
- # Read the platform-specific expected text.
- expected_filename = path_utils.ExpectedFilename(filename, '.txt')
- if show_sources:
- logging.debug('Using %s' % expected_filename)
-
- return self.GetNormalizedText(expected_filename)
-
- def GetNormalizedText(self, filename):
- try:
- text = open(filename).read()
- except IOError, e:
- if errno.ENOENT != e.errno:
- raise
- return ''
-
- # Normalize line endings
- return text.strip("\r\n").replace("\r\n", "\n") + "\n"
-
- def CompareOutput(self, filename, proc, output, test_args, target):
- """Implementation of CompareOutput that checks the output text against
- the expected text from the LayoutTest directory."""
- failures = []
-
- # If we're generating a new baseline, we pass.
- if test_args.new_baseline:
- self._SaveBaselineData(filename, output, ".txt")
- return failures
-
- # Normalize text to diff
- output = self.GetNormalizedOutputText(output)
- expected = self.GetNormalizedExpectedText(filename,
- test_args.show_sources)
-
- # Write output files for new tests, too.
- if output != expected:
- # Text doesn't match, write output files.
- self.WriteOutputFiles(filename, "", ".txt", output, expected,
- diff=True, wdiff=True)
-
- if expected == '':
- failures.append(test_failures.FailureMissingResult(self))
- else:
- failures.append(test_failures.FailureTextMismatch(self, True))
-
- return failures
-
- def DiffFiles(self, file1, file2):
- """Diff two text files.
-
- Args:
- file1, file2: full paths of the files to compare.
-
- Returns:
- True if two files are different.
- False otherwise.
- """
-
- return self.GetNormalizedText(file1) != self.GetNormalizedText(file2)

Powered by Google App Engine
This is Rietveld 408576698