Changeset 83635 in webkit


Ignore:
Timestamp:
Apr 12, 2011 1:53:10 PM (13 years ago)
Author:
dpranke@chromium.org
Message:

2011-04-12 Dirk Pranke <dpranke@chromium.org>

Reviewed by Tony Chang.

new-run-webkit-tests: update code to use port.results_directory() instead of options.results_directory
https://bugs.webkit.org/show_bug.cgi?id=58290

This is some preliminary refactoring for bug 58272.

  • Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py:
  • Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py:
  • Scripts/webkitpy/layout_tests/layout_package/test_runner.py:
  • Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py:
  • Scripts/webkitpy/layout_tests/port/test.py:
  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/layout_tests/port/base.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:
Location:
trunk/Tools
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r83633 r83635  
    2828        (TestWebKitAPI::PlatformWebView::simulateAKeyDown): Added.
    2929        * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added TranslateMessageGeneratesWMChar.cpp.
     30
     312011-04-12  Dirk Pranke  <dpranke@chromium.org>
     32
     33        Reviewed by Tony Chang.
     34
     35        new-run-webkit-tests: update code to use port.results_directory() instead of options.results_directory
     36        https://bugs.webkit.org/show_bug.cgi?id=58290
     37
     38        This is some preliminary refactoring for bug 58272.
     39
     40        * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py:
     41        * Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py:
     42        * Scripts/webkitpy/layout_tests/layout_package/test_runner.py:
     43        * Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py:
     44        * Scripts/webkitpy/layout_tests/port/test.py:
     45        * Scripts/webkitpy/layout_tests/port/chromium.py:
     46        * Scripts/webkitpy/layout_tests/port/base.py:
     47        * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
    3048
    31492011-04-12  Dirk Pranke  <dpranke@chromium.org>
  • trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py

    r83475 r83635  
    124124        expected_driver_output = self._expected_driver_output()
    125125        test_result = self._compare_output(driver_output, expected_driver_output)
    126         test_result_writer.write_test_result(self._port, self._options.results_directory, self._filename,
     126        test_result_writer.write_test_result(self._port, self._filename,
    127127                                             driver_output, expected_driver_output, test_result.failures)
    128128        return test_result
     
    131131        driver_output = self._driver.run_test(self._driver_input())
    132132        failures = self._handle_error(driver_output)
    133         test_result_writer.write_test_result(self._port, self._options.results_directory, self._filename,
     133        test_result_writer.write_test_result(self._port, self._filename,
    134134                                             driver_output, None, failures)
    135135        # FIXME: It the test crashed or timed out, it might be bettter to avoid
     
    273273        test_result = self._compare_output_with_reference(driver_output1, driver_output2)
    274274
    275         test_result_writer.write_test_result(self._port, self._options.results_directory, self._filename,
     275        test_result_writer.write_test_result(self._port, self._filename,
    276276                                             driver_output1, driver_output2, test_result.failures)
    277277        return test_result
  • trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py

    r83475 r83635  
    3737
    3838
    39 def write_test_result(port, root_output_dir, filename, driver_output,
     39def write_test_result(port, filename, driver_output,
    4040                      expected_driver_output, failures):
    4141    """Write the test result to the result output directory."""
     42    root_output_dir = port.results_directory()
    4243    checksums_mismatch_but_images_are_same = False
    4344    imagehash_mismatch_failure = None
  • trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner.py

    r81815 r83635  
    206206        self._result_queue = Queue.Queue()
    207207        self._retrying = False
     208        self._results_directory = self._port.results_directory()
    208209
    209210    def collect_tests(self, args, last_unexpected_results):
     
    356357                tests_run_msg += "\n" + extra_msg
    357358                files.extend(test_files[0:extra])
    358             tests_run_filename = self._fs.join(self._options.results_directory,
    359                                               "tests_run.txt")
     359            tests_run_filename = self._fs.join(self._results_directory, "tests_run.txt")
    360360            self._fs.write_text_file(tests_run_filename, tests_run_msg)
    361361
     
    630630
    631631        # Create the output directory if it doesn't already exist.
    632         self._port.maybe_make_directory(self._options.results_directory)
     632        self._port.maybe_make_directory(self._results_directory)
    633633
    634634        self._port.setup_test_run()
     
    774774        # tracking.
    775775        self._printer.print_update("Clobbering old results in %s" %
    776                                    self._options.results_directory)
     776                                   self._results_directory)
    777777        layout_tests_dir = self._port.layout_tests_dir()
    778778        possible_dirs = self._port.test_dirs()
    779779        for dirname in possible_dirs:
    780780            if self._fs.isdir(self._fs.join(layout_tests_dir, dirname)):
    781                 self._fs.rmtree(self._fs.join(self._options.results_directory,
    782                                               dirname))
     781                self._fs.rmtree(self._fs.join(self._results_directory, dirname))
    783782
    784783    def _get_failures(self, result_summary, include_crashes):
     
    830829            dashboard).
    831830        """
    832         _log.debug("Writing JSON files in %s." % self._options.results_directory)
    833 
    834         unexpected_json_path = self._fs.join(self._options.results_directory, "unexpected_results.json")
     831        _log.debug("Writing JSON files in %s." % self._results_directory)
     832
     833        unexpected_json_path = self._fs.join(self._results_directory, "unexpected_results.json")
    835834        json_results_generator.write_json(self._fs, unexpected_results, unexpected_json_path)
    836835
    837         full_results_path = self._fs.join(self._options.results_directory, "full_results.json")
     836        full_results_path = self._fs.join(self._results_directory, "full_results.json")
    838837        json_results_generator.write_json(self._fs, summarized_results, full_results_path)
    839838
    840839        # Write a json file of the test_expectations.txt file for the layout
    841840        # tests dashboard.
    842         expectations_path = self._fs.join(self._options.results_directory, "expectations.json")
     841        expectations_path = self._fs.join(self._results_directory, "expectations.json")
    843842        expectations_json = \
    844843            self._expectations.get_expectations_json_for_all_platforms()
     
    848847        generator = json_layout_results_generator.JSONLayoutResultsGenerator(
    849848            self._port, self._options.builder_name, self._options.build_name,
    850             self._options.build_number, self._options.results_directory,
     849            self._options.build_number, self._results_directory,
    851850            BUILDER_BASE_URL, individual_test_timings,
    852851            self._expectations, result_summary, self._test_files_list,
     
    866865        p.print_config("Using port '%s'" % self._port.name())
    867866        p.print_config("Test configuration: %s" % self._port.test_configuration())
    868         p.print_config("Placing test results in %s" %
    869                        self._options.results_directory)
     867        p.print_config("Placing test results in %s" % self._results_directory)
    870868        if self._options.new_baseline:
    871869            p.print_config("Placing new baselines in %s" %
     
    11861184            return False
    11871185
    1188         out_filename = self._fs.join(self._options.results_directory,
    1189                                      "results.html")
     1186        out_filename = self._fs.join(self._results_directory, "results.html")
    11901187        with self._fs.open_text_file_for_writing(out_filename) as results_file:
    11911188            html = self._results_html(test_files, result_summary.failures, results_title)
     
    11961193    def _show_results_html_file(self):
    11971194        """Shows the results.html page."""
    1198         results_filename = self._fs.join(self._options.results_directory,
    1199                                          "results.html")
     1195        results_filename = self._fs.join(self._results_directory, "results.html")
    12001196        self._port.show_results_html_file(results_filename)
    12011197
  • trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py

    r79840 r83635  
    5656        self._batch_size = self._options.batch_size
    5757        self._driver = None
    58         tests_run_filename = self._filesystem.join(self._options.results_directory,
     58        tests_run_filename = self._filesystem.join(port.results_directory(),
    5959                                                   "tests_run%d.txt" % self._worker_number)
    6060        self._tests_run_file = self._filesystem.open_text_file_for_writing(tests_run_filename)
  • trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py

    r83614 r83635  
    608608        if self.get_option('use_apache'):
    609609            self._http_server = apache_http_server.LayoutTestApacheHttpd(self,
    610                 self.get_option('results_directory'))
     610                self.results_directory())
    611611        else:
    612             self._http_server = http_server.Lighttpd(self,
    613                 self.get_option('results_directory'))
     612            self._http_server = http_server.Lighttpd(self, self.results_directory())
    614613        self._http_server.start()
    615614
     
    618617        it isn't. This routine is allowed to (and may) fail if a server
    619618        is already running."""
    620         self._websocket_server = websocket_server.PyWebSocket(self,
    621             self.get_option('results_directory'))
     619        self._websocket_server = websocket_server.PyWebSocket(self, self.results_directory())
    622620        self._websocket_server.start()
    623621
  • trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py

    r83475 r83635  
    342342        self.KILL_TIMEOUT = 3.0
    343343        if self._port.get_option('pixel_tests'):
    344             self._image_path = self._port._filesystem.join(
    345                 self._port.get_option('results_directory'),
     344            self._image_path = self._port._filesystem.join(self._port.results_directory(),
    346345                'png_result%s.png' % self._worker_number)
    347346
  • trunk/Tools/Scripts/webkitpy/layout_tests/port/test.py

    r83475 r83635  
    258258        base.Port.__init__(self, port_name=port_name, filesystem=filesystem, user=user,
    259259                           **kwargs)
     260        self._results_directory = None
    260261
    261262        assert filesystem._tests
     
    330331
    331332    def results_directory(self):
    332         return '/tmp/' + self.get_option('results_directory')
     333        if not self._results_directory:
     334            self._results_directory = self._filesystem.join('/tmp',
     335                self.get_option('results_directory'))
     336        return self._results_directory
    333337
    334338    def setup_test_run(self):
  • trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py

    r82972 r83635  
    8080        return 0
    8181
    82     last_unexpected_results = _gather_unexpected_results(port._filesystem, options)
     82    last_unexpected_results = _gather_unexpected_results(port)
    8383    if options.print_last_failures:
    8484        printer.write("\n".join(last_unexpected_results) + "\n")
     
    179179
    180180
    181 def _gather_unexpected_results(filesystem, options):
     181def _gather_unexpected_results(port):
    182182    """Returns the unexpected results from the previous run, if any."""
     183    filesystem = port._filesystem
     184    results_directory = port.results_directory()
     185    options = port._options
    183186    last_unexpected_results = []
    184187    if options.print_last_failures or options.retest_last_failures:
    185         unexpected_results_filename = filesystem.join(options.results_directory, "unexpected_results.json")
     188        unexpected_results_filename = filesystem.join(results_directory, "unexpected_results.json")
    186189        if filesystem.exists(unexpected_results_filename):
    187190            results = json_results_generator.load_json(filesystem, unexpected_results_filename)
Note: See TracChangeset for help on using the changeset viewer.