https://bugs.webkit.org/show_bug.cgi?id=144038
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 25 Apr 2015 08:13:03 +0000 (08:13 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 25 Apr 2015 08:13:03 +0000 (08:13 +0000)
commita53ff6fe9867ff87c2afa0552cab423e5cad0e9c
tree8a974f702e34db344a6463ccc030b0331857b0f1
parent50b0712bed3e7dd6bdc7a7bcd36c13fb46648209
https://bugs.webkit.org/show_bug.cgi?id=144038

Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-04-25
Reviewed by Ryosuke Niwa

Add a script to run Speedometer and JetStream on a browser.

* Scripts/run-benchmark: Wrapper script to run benchmark.
(main):
* Scripts/webkitpy/benchmark_runner/README.md: Introduction of this script.
* Scripts/webkitpy/benchmark_runner/__init__.py: Added.
* Scripts/webkitpy/benchmark_runner/benchmark_builder/__init__.py: Added.
* Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builder_factory.py: Added.
(BenchmarkBuilderFactory):
* Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builders.json: Added.
* Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py: Added.
(GenericBenchmarkBuilder):
(GenericBenchmarkBuilder.prepare):
(GenericBenchmarkBuilder._copyBenchmarkToTempDir):
(GenericBenchmarkBuilder._applyPatch):
(GenericBenchmarkBuilder.clean):
* Scripts/webkitpy/benchmark_runner/benchmark_builder/jetstream_benchmark_builder.py: Added.
(JetStreamBenchmarkBuilder):
(JetStreamBenchmarkBuilder.prepare):
(JetStreamBenchmarkBuilder._runCreateScript):
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Main module that masters all the processes of benchmark running.
(BenchmarkRunner):
(BenchmarkRunner.__init__):
(BenchmarkRunner.execute):
(BenchmarkRunner.dump):
(BenchmarkRunner.wrap):
(BenchmarkRunner.merge):
* Scripts/webkitpy/benchmark_runner/browser_driver/__init__.py: Added.
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py: Added.
(BrowserDriver):
(BrowserDriver.prepareEnv):
(BrowserDriver.launchUrl):
(BrowserDriver.closeBrowser):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py: Added.
(BrowserDriverFactory):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json: Added.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Added.
(OSXChromeDriver):
(OSXChromeDriver.prepareEnv):
(OSXChromeDriver.launchUrl):
(OSXChromeDriver.closeBrowsers):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Added.
(OSXSafariDriver):
(OSXSafariDriver.prepareEnv):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):
* Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch: Patch that makes JetStream compatible with this script.
* Scripts/webkitpy/benchmark_runner/data/patches/Speedometer.patch: Patch that makes Speedometer compatible with this scritp.
* Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Added.
* Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan: Added.
* Scripts/webkitpy/benchmark_runner/generic_factory.py: Factory for generic purpose.
(GenericFactory):
(GenericFactory.iterateGetItem):
(GenericFactory.create):
* Scripts/webkitpy/benchmark_runner/http_server_driver/__init__.py: Added.
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: Added.
(ServerControl):
(ServerControl.render_GET):
(ServerControl.render_POST):
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py: Added.
(HTTPServerDriver):
(HTTPServerDriver.serve):
(HTTPServerDriver.fetchResult):
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py: Added.
(HTTPServerDriverFactory):
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_drivers.json: Added.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Added.
(SimpleHTTPServerDriver):
(SimpleHTTPServerDriver.depends):
(SimpleHTTPServerDriver.__init__):
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver.baseUrl):
(SimpleHTTPServerDriver.fetchResult):
* Scripts/webkitpy/benchmark_runner/utils.py: Utility module.
(ModuleNotFoundError):
(loadModule):
(getPathFromProjectRoot):
(loadJSONFromFile):
(TimeoutError):
(timeout):
(timeout.__init__):
(timeout.handle_timeout):
(timeout.__enter__):
(timeout.__exit__):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@183309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
24 files changed:
Tools/ChangeLog
Tools/Scripts/run-benchmark [new file with mode: 0755]
Tools/Scripts/webkitpy/benchmark_runner/README.md [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builder_factory.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builders.json [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/benchmark_builder/jetstream_benchmark_builder.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/data/patches/Speedometer.patch [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/generic_factory.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_drivers.json [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py [new file with mode: 0644]
Tools/Scripts/webkitpy/benchmark_runner/utils.py [new file with mode: 0644]