nrwt: should be able to run --platform test interactively
authordpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Jan 2012 00:52:40 +0000 (00:52 +0000)
committerdpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Jan 2012 00:52:40 +0000 (00:52 +0000)
https://bugs.webkit.org/show_bug.cgi?id=76959

Reviewed by Adam Barth.

As part of refactoring the Port interfaces, in r103254 I made
passing a Host object to the Port mandatory; previously TestPort
objects would create their own (mock) hosts. However,
new-run-webkit-tests always passed a real Host, not a MockHost,
and so you couldn't run new-run-webkit-tests --platform test
interactively to debug test failures.

This change fixes that by creating a MockHost instead of a real
host if you say --platform test*.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105944 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py

index 4cec3f6..b137c91 100644 (file)
@@ -1,5 +1,25 @@
 2012-01-25  Dirk Pranke  <dpranke@chromium.org>
 
+        nrwt: should be able to run --platform test interactively
+        https://bugs.webkit.org/show_bug.cgi?id=76959
+
+        Reviewed by Adam Barth.
+
+        As part of refactoring the Port interfaces, in r103254 I made
+        passing a Host object to the Port mandatory; previously TestPort
+        objects would create their own (mock) hosts. However,
+        new-run-webkit-tests always passed a real Host, not a MockHost,
+        and so you couldn't run new-run-webkit-tests --platform test
+        interactively to debug test failures.
+
+        This change fixes that by creating a MockHost instead of a real
+        host if you say --platform test*.
+
+        * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+        (main):
+
+2012-01-25  Dirk Pranke  <dpranke@chromium.org>
+
         run-webkit-tests --lint-test-files should lint all the ports by default
         https://bugs.webkit.org/show_bug.cgi?id=76749
 
index d49f358..ee71728 100755 (executable)
@@ -452,7 +452,14 @@ def parse_args(args=None):
 
 def main():
     options, args = parse_args()
-    host = Host()
+    if options.platform.startswith('test'):
+        # It's a bit lame to import mocks into real code, but this allows the user
+        # to run tests against the test platform interactively, which is useful for
+        # debugging test failures.
+        from webkitpy.common.host_mock import MockHost
+        host = MockHost()
+    else:
+        host = Host()
     host._initialize_scm()
     port = host.port_factory.get(options.platform, options)
     return run(port, options, args)