Diff
Modified: trunk/Tools/ChangeLog (111288 => 111289)
--- trunk/Tools/ChangeLog 2012-03-20 01:22:45 UTC (rev 111288)
+++ trunk/Tools/ChangeLog 2012-03-20 01:25:54 UTC (rev 111289)
@@ -1,5 +1,37 @@
2012-03-19 Dirk Pranke <[email protected]>
+ webkitpy: clean up some port._filesystem references to not reference private members
+ https://bugs.webkit.org/show_bug.cgi?id=81595
+
+ Reviewed by Eric Seidel.
+
+ There should be no functional changes in this patch, just some
+ refactoring. Also, fixes a minor nit in write_image_diff_files(()
+
+ * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
+ (SingleTestRunner.__init__):
+ (SingleTestRunner._run_compare_test):
+ (SingleTestRunner._run_rebaseline):
+ (SingleTestRunner._save_baseline_data):
+ (SingleTestRunner._handle_error):
+ (SingleTestRunner._run_reftest):
+ * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
+ (write_test_result):
+ (TestResultWriter.__init__):
+ (TestResultWriter._make_output_directory):
+ (TestResultWriter.output_filename):
+ (TestResultWriter._output_testname):
+ (TestResultWriter.write_output_files):
+ (TestResultWriter.write_stderr):
+ (TestResultWriter.write_crash_report):
+ (TestResultWriter.create_text_diff_and_write_result):
+ (TestResultWriter.write_image_diff_files):
+ (copy_file):
+ * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py:
+ (TestResultWriterTest.test_reftest_diff_image):
+
+2012-03-19 Dirk Pranke <[email protected]>
+
webkitpy: fix nit - incorrect reference to DRT in test_expectations.py
https://bugs.webkit.org/show_bug.cgi?id=81598
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py (111288 => 111289)
--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py 2012-03-20 01:22:45 UTC (rev 111288)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py 2012-03-20 01:25:54 UTC (rev 111289)
@@ -51,6 +51,7 @@
def __init__(self, options, port, driver, test_input, worker_name):
self._options = options
self._port = port
+ self._filesystem = port.host.filesystem
self._driver = driver
self._timeout = test_input.timeout
self._worker_name = worker_name
@@ -67,7 +68,7 @@
# in either layout tests or reftests, but not in both.
for suffix in ('.txt', '.png', '.wav'):
expected_filename = self._port.expected_filename(self._test_name, suffix)
- if port.host.filesystem.exists(expected_filename):
+ if self._filesystem.exists(expected_filename):
_log.error('%s is both a reftest and has an expected output file %s.',
self._test_name, expected_filename)
@@ -115,13 +116,13 @@
test_result = self._compare_output(driver_output, expected_driver_output)
if self._options.new_test_results:
self._add_missing_baselines(test_result, driver_output)
- test_result_writer.write_test_result(self._port, self._test_name, driver_output, expected_driver_output, test_result.failures)
+ test_result_writer.write_test_result(self._filesystem, self._port, self._test_name, driver_output, expected_driver_output, test_result.failures)
return test_result
def _run_rebaseline(self):
driver_output = self._driver.run_test(self._driver_input())
failures = self._handle_error(driver_output)
- test_result_writer.write_test_result(self._port, self._test_name, driver_output, None, failures)
+ test_result_writer.write_test_result(self._filesystem, self._port, self._test_name, driver_output, None, failures)
# FIXME: It the test crashed or timed out, it might be bettter to avoid
# to write new baselines.
self._overwrite_baselines(driver_output)
@@ -162,7 +163,7 @@
if data is None:
return
port = self._port
- fs = port._filesystem
+ fs = self._filesystem
if generate_new_baseline:
relative_dir = fs.dirname(self._test_name)
baseline_path = port.baseline_path()
@@ -187,7 +188,7 @@
which html file is used for producing the driver_output.
"""
failures = []
- fs = self._port._filesystem
+ fs = self._filesystem
if driver_output.timeout:
failures.append(test_failures.FailureTimeout(bool(reference_filename)))
@@ -295,7 +296,7 @@
total_test_time += test_result.test_run_time
assert(reference_output)
- test_result_writer.write_test_result(self._port, self._test_name, test_output, reference_output, test_result.failures)
+ test_result_writer.write_test_result(self._filesystem, self._port, self._test_name, test_output, reference_output, test_result.failures)
return TestResult(self._test_name, test_result.failures, total_test_time + test_result.test_run_time, test_result.has_stderr)
def _compare_output_with_reference(self, driver_output1, driver_output2, reference_filename, mismatch):
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py (111288 => 111289)
--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py 2012-03-20 01:22:45 UTC (rev 111288)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py 2012-03-20 01:25:54 UTC (rev 111289)
@@ -36,11 +36,11 @@
_log = logging.getLogger(__name__)
-def write_test_result(port, test_name, driver_output,
+def write_test_result(filesystem, port, test_name, driver_output,
expected_driver_output, failures):
"""Write the test result to the result output directory."""
root_output_dir = port.results_directory()
- writer = TestResultWriter(port, root_output_dir, test_name)
+ writer = TestResultWriter(filesystem, port, root_output_dir, test_name)
if driver_output.error:
writer.write_stderr(driver_output.error)
@@ -96,14 +96,15 @@
FILENAME_SUFFIX_IMAGE_DIFF = "-diff.png"
FILENAME_SUFFIX_IMAGE_DIFFS_HTML = "-diffs.html"
- def __init__(self, port, root_output_dir, test_name):
+ def __init__(self, filesystem, port, root_output_dir, test_name):
+ self._filesystem = filesystem
self._port = port
self._root_output_dir = root_output_dir
self._test_name = test_name
def _make_output_directory(self):
"""Creates the output directory (if needed) for a given test filename."""
- fs = self._port._filesystem
+ fs = self._filesystem
output_filename = fs.join(self._root_output_dir, self._test_name)
fs.maybe_make_directory(fs.dirname(output_filename))
@@ -119,12 +120,12 @@
Return:
The absolute path to the output filename
"""
- fs = self._port._filesystem
+ fs = self._filesystem
output_filename = fs.join(self._root_output_dir, self._test_name)
return fs.splitext(output_filename)[0] + modifier
def _output_testname(self, modifier):
- fs = self._port._filesystem
+ fs = self._filesystem
return fs.splitext(fs.basename(self._test_name))[0] + modifier
def write_output_files(self, file_type, output, expected):
@@ -144,23 +145,22 @@
actual_filename = self.output_filename(self.FILENAME_SUFFIX_ACTUAL + file_type)
expected_filename = self.output_filename(self.FILENAME_SUFFIX_EXPECTED + file_type)
- fs = self._port._filesystem
+ fs = self._filesystem
if output is not None:
fs.write_binary_file(actual_filename, output)
if expected is not None:
fs.write_binary_file(expected_filename, expected)
def write_stderr(self, error):
- fs = self._port._filesystem
+ fs = self._filesystem
filename = self.output_filename(self.FILENAME_SUFFIX_STDERR + ".txt")
fs.maybe_make_directory(fs.dirname(filename))
fs.write_binary_file(filename, error)
def write_crash_report(self, crashed_process_name, error):
- fs = self._port._filesystem
+ fs = self._filesystem
filename = self.output_filename(self.FILENAME_SUFFIX_CRASH_LOG + ".txt")
fs.maybe_make_directory(fs.dirname(filename))
- # FIXME: We shouldn't be grabbing private members of port.
crash_logs = CrashLogs(fs)
log = crash_logs.find_newest_log(crashed_process_name)
# CrashLogs doesn't support every platform, so we fall back to
@@ -180,7 +180,7 @@
file_type = '.txt'
actual_filename = self.output_filename(self.FILENAME_SUFFIX_ACTUAL + file_type)
expected_filename = self.output_filename(self.FILENAME_SUFFIX_EXPECTED + file_type)
- fs = self._port._filesystem
+ fs = self._filesystem
# We treat diff output as binary. Diff output may contain multiple files
# in conflicting encodings.
diff = self._port.diff_text(expected_text, actual_text, expected_filename, actual_filename)
@@ -205,7 +205,7 @@
def write_image_diff_files(self, image_diff):
diff_filename = self.output_filename(self.FILENAME_SUFFIX_IMAGE_DIFF)
- fs = self._port._filesystem
+ fs = self._filesystem
fs.write_binary_file(diff_filename, image_diff)
diffs_html_filename = self.output_filename(self.FILENAME_SUFFIX_IMAGE_DIFFS_HTML)
@@ -262,11 +262,10 @@
'diff_filename': self._output_testname(self.FILENAME_SUFFIX_IMAGE_DIFF),
'prefix': self._output_testname(''),
}
- # FIXME: This seems like a text file, not a binary file.
- self._port._filesystem.write_binary_file(diffs_html_filename, html)
+ self._filesystem.write_text_file(diffs_html_filename, html)
def copy_file(self, src_filepath):
- fs = self._port._filesystem
+ fs = self._filesystem
assert fs.exists(src_filepath), 'src_filepath: %s' % src_filepath
dst_filepath = fs.join(self._root_output_dir, self._port.relative_test_filename(src_filepath))
self._make_output_directory()
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py (111288 => 111289)
--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py 2012-03-20 01:22:45 UTC (rev 111288)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py 2012-03-20 01:25:54 UTC (rev 111289)
@@ -51,7 +51,7 @@
driver_output1 = DriverOutput('text1', 'image1', 'imagehash1', 'audio1')
driver_output2 = DriverOutput('text2', 'image2', 'imagehash2', 'audio2')
failures = [test_failures.FailureReftestMismatch(test_reference_file)]
- test_result_writer.write_test_result(ImageDiffTestPort(host), test_name,
+ test_result_writer.write_test_result(host.filesystem, ImageDiffTestPort(host), test_name,
driver_output1, driver_output2, failures)
self.assertEqual([0], used_tolerance_values)