Title: [92803] trunk/Tools
Revision
92803
Author
[email protected]
Date
2011-08-10 17:00:39 -0700 (Wed, 10 Aug 2011)

Log Message

new-run-webkit-test's WinPort has no fallback logic
https://bugs.webkit.org/show_bug.cgi?id=64486

Unreviewed.

Turns out that we've long had a subtle bug whereby if you didn't
already have DumpRenderTree built, we might end up running unsupported tests
because the DumpRenderTree --print-supported-features check would silently fail.

When I moved the call from using popen to using Executive.run_command, this silent
failure became noisy.  (Breaking some bots.)

This re-orders our steps so that we always build DRT before collecting expectations,
as well as adds a warning message when DumpRenderTree can't be found.

* Scripts/webkitpy/layout_tests/port/webkit.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (92802 => 92803)


--- trunk/Tools/ChangeLog	2011-08-10 23:51:29 UTC (rev 92802)
+++ trunk/Tools/ChangeLog	2011-08-11 00:00:39 UTC (rev 92803)
@@ -3,6 +3,26 @@
         new-run-webkit-test's WinPort has no fallback logic
         https://bugs.webkit.org/show_bug.cgi?id=64486
 
+        Unreviewed.
+
+        Turns out that we've long had a subtle bug whereby if you didn't
+        already have DumpRenderTree built, we might end up running unsupported tests
+        because the DumpRenderTree --print-supported-features check would silently fail.
+
+        When I moved the call from using popen to using Executive.run_command, this silent
+        failure became noisy.  (Breaking some bots.)
+
+        This re-orders our steps so that we always build DRT before collecting expectations,
+        as well as adds a warning message when DumpRenderTree can't be found.
+
+        * Scripts/webkitpy/layout_tests/port/webkit.py:
+        * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2011-08-10  Eric Seidel  <[email protected]>
+
+        new-run-webkit-test's WinPort has no fallback logic
+        https://bugs.webkit.org/show_bug.cgi?id=64486
+
         Unreviewed.  Fix test-webkitpy under Python 2.5.
 
         * Scripts/webkitpy/layout_tests/port/win.py:

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py (92802 => 92803)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2011-08-10 23:51:29 UTC (rev 92802)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2011-08-11 00:00:39 UTC (rev 92803)
@@ -229,7 +229,12 @@
         """Return the supported features of DRT. If a port doesn't support
         this DRT switch, it has to override this method to return None"""
         supported_features_command = [self._path_to_driver(), '--print-supported-features']
-        output = self._executive.run_command(supported_features_command, error_handler=Executive.ignore_error)
+        try:
+            output = self._executive.run_command(supported_features_command, error_handler=Executive.ignore_error)
+        except OSError, e:
+            _log.warn("Exception runnig driver: %s, %s.  Driver must be built before calling WebKitPort.test_expectations()." % (supported_features_command, e))
+            return []
+
         # Note: win/DumpRenderTree.cpp does not print a leading space before the features_string.
         match_object = re.match("SupportedFeatures:\s*(?P<features_string>.*)\s*", output)
         if not match_object:

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py (92802 => 92803)


--- trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py	2011-08-10 23:51:29 UTC (rev 92802)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py	2011-08-11 00:00:39 UTC (rev 92803)
@@ -94,14 +94,14 @@
         if options.lint_test_files:
             return manager.lint()
 
-        printer.print_update("Parsing expectations ...")
-        manager.parse_expectations()
-
         printer.print_update("Checking build ...")
         if not port.check_build(manager.needs_servers()):
             _log.error("Build check failed")
             return -1
 
+        printer.print_update("Parsing expectations ...")
+        manager.parse_expectations()
+
         result_summary = manager.set_up_run()
         if result_summary:
             num_unexpected_results = manager.run(result_summary)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to