[WK2] run-perf-tests should be able to run with WTR
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 10 Mar 2012 18:44:59 +0000 (18:44 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 10 Mar 2012 18:44:59 +0000 (18:44 +0000)
commit5fbe20cf62573aee5d1fc00ea34ae58f0e47aa53
tree75133130e0f322bfaf756a6818b0307ee50343ea
parentcfc3ae56cb9a7645f4afc985efb52b98e249a7f1
[WK2] run-perf-tests should be able to run with WTR
https://bugs.webkit.org/show_bug.cgi?id=80042

Patch by Zan Dobersek <zandobersek@gmail.com> on 2012-03-09
Reviewed by Martin Robinson.

Add an option to PerfTestRunner to use WebKitTestRunner instead of
DumpRenderTree and add the '--no-timeout' flag to WebKitTestRunner
to avoid timing out when running performance tests.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::InjectedBundle): Initialize m_useWaitToDumpWatchdogTimer
to true.
(WTR::InjectedBundle::didReceiveMessage): Unpack the 'BeginTest' message
as a dictionary containing DumpPixels and UseWaitToDumpWatchdogTimer keys.
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::InjectedBundle::useWaitToDumpWatchdogTimer): Make m_useWaitToDumpWatchdogTimer
publicly accessible.
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::waitUntilDone): Only initialize the watchdog if it
is required.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController): Initialize m_useWaitToDumpWatchdogTimer
to true.
(WTR::TestController::initialize): Set m_useWaitToDumpWatchdogTimer to false
if '--no-timeout' option is present.
(WTR::TestController::runUntil): Translate TimeoutDuration to a proper timeout
value, or -1.0 if timeout should not occur.
* WebKitTestRunner/TestController.h:
(WTR::TestController::useWaitToDumpWatchdogTimer): Make m_useWaitToDumpWatchdogTimer
publicly accessible.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke): Pack the 'BeginTest' message as a dictionary,
containing DumpPixels and UseWaitToDumpWatchdogTimer keys and corresponding values.
Waiting for final message should not time out if not necessary.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformRunUntil): Only set up a timeout if necessary.
* WebKitTestRunner/qt/TestControllerQt.cpp:
(WTR::TestController::platformRunUntil): Ditto.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformRunUntil): Add a FIXME, indicating functionality
is missing.
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::platformRunUntil): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@110382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
Tools/ChangeLog
Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py
Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp
Tools/WebKitTestRunner/TestController.cpp
Tools/WebKitTestRunner/TestController.h
Tools/WebKitTestRunner/TestInvocation.cpp
Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp
Tools/WebKitTestRunner/mac/TestControllerMac.mm
Tools/WebKitTestRunner/qt/TestControllerQt.cpp
Tools/WebKitTestRunner/win/TestControllerWin.cpp