Title: [211549] trunk/Tools
Revision
211549
Author
dewei_...@apple.com
Date
2017-02-01 19:10:58 -0800 (Wed, 01 Feb 2017)

Log Message

Make run-benchmark script supports 'config' key in test plan.
https://bugs.webkit.org/show_bug.cgi?id=167715

Reviewed by Ryosuke Niwa.

Add support for 'config' key in test paln.
'config' key is a dictionary that specifies environment configurations while test is running.
Specifies orientation to be portrait in MotionMark benchmark.

* Scripts/webkitpy/benchmark_runner/README.md:
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
(BenchmarkRunner._run_benchmark):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.prepare_env):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
(LinuxBrowserDriver.prepare_env):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver.prepare_env):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.prepare_env):
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (211548 => 211549)


--- trunk/Tools/ChangeLog	2017-02-02 01:57:00 UTC (rev 211548)
+++ trunk/Tools/ChangeLog	2017-02-02 03:10:58 UTC (rev 211549)
@@ -1,3 +1,28 @@
+2017-02-01  Dewei Zhu  <dewei_...@apple.com>
+
+        Make run-benchmark script supports 'config' key in test plan.
+        https://bugs.webkit.org/show_bug.cgi?id=167715
+
+        Reviewed by Ryosuke Niwa.
+
+        Add support for 'config' key in test paln.
+        'config' key is a dictionary that specifies environment configurations while test is running.
+        Specifies orientation to be portrait in MotionMark benchmark.
+
+        * Scripts/webkitpy/benchmark_runner/README.md:
+        * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
+        (BenchmarkRunner.__init__):
+        (BenchmarkRunner._run_benchmark):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
+        (BrowserDriver.prepare_env):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
+        (LinuxBrowserDriver.prepare_env):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
+        (OSXBrowserDriver.prepare_env):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
+        (OSXSafariDriver.prepare_env):
+        * Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan:
+
 2017-02-01  Daniel Bates  <daba...@apple.com>
 
         REGRESSION (r210820): svn-create-patch does not emit property change only diff

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/README.md (211548 => 211549)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/README.md	2017-02-02 01:57:00 UTC (rev 211548)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/README.md	2017-02-02 03:10:58 UTC (rev 211549)
@@ -69,6 +69,9 @@
     "local_copy": "../../../../PerformanceTests/JetStream",
     "benchmark_patch": "data/patches/JetStream.patch",
     "entry_point": "JetStream/JetStream-1.0.1/index.html",
+    "config": {
+        "orientation": "portrait"
+    },
     "output_file": "jetstream.result"
 }
 ```
@@ -79,6 +82,7 @@
 * **remote_archive**: (**OPTIONAL**) URL of the remote (http/https) ZIP file that contains the benchmark.
 * **benchmark_path**: (**OPTIONAL**) path of patch, a relative path to the root of this project ('benchmark_runner' directory)
 * **entry_point**: the relative url you want browser to launch (a relative path to the benchmark directory)
+* **config**: a dictionary that specifies the environment configurations for the test (e.g. orientation while the test is running)
 * **output_file**: specify the output file, this can be overwritten by specifying '--output-file' while invoking run-benchmark script
 
 ### How to import a benchmark

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py (211548 => 211549)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py	2017-02-02 01:57:00 UTC (rev 211548)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py	2017-02-02 03:10:58 UTC (rev 211549)
@@ -42,7 +42,9 @@
                 self._build_dir = os.path.abspath(build_dir) if build_dir else None
                 self._output_file = output_file
                 self._scale_unit = scale_unit
-                self._device_id = device_id
+                self._config = self._plan.get('config', {})
+                if device_id:
+                    self._config['device_id'] = device_id
         except IOError as error:
             _log.error('Can not open plan file: {plan_file} - Error {error}'.format(plan_file=plan_file, error=error))
             raise error
@@ -86,7 +88,7 @@
         for iteration in xrange(1, count + 1):
             _log.info('Start the iteration {current_iteration} of {iterations} for current benchmark'.format(current_iteration=iteration, iterations=count))
             try:
-                self._browser_driver.prepare_env(self._device_id)
+                self._browser_driver.prepare_env(self._config)
 
                 if 'entry_point' in self._plan:
                     result = self._run_one_test(web_root, self._plan['entry_point'])

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py (211548 => 211549)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py	2017-02-02 01:57:00 UTC (rev 211548)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py	2017-02-02 03:10:58 UTC (rev 211549)
@@ -10,7 +10,7 @@
     ___metaclass___ = ABCMeta
 
     @abstractmethod
-    def prepare_env(self, device_id):
+    def prepare_env(self, config):
         pass
 
     @abstractmethod

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py (211548 => 211549)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py	2017-02-02 01:57:00 UTC (rev 211548)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py	2017-02-02 03:10:58 UTC (rev 211549)
@@ -51,7 +51,7 @@
             raise ValueError('Cant find executable for browser {browser_name}. Searched list: {browser_process_list}'.format(
                               browser_name=self.browser_name, browser_process_list=self.process_search_list))
 
-    def prepare_env(self, device_id):
+    def prepare_env(self, config):
         self._browser_process = None
         self._browser_arguments = None
         self._temp_profiledir = tempfile.mkdtemp()

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py (211548 => 211549)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py	2017-02-02 01:57:00 UTC (rev 211548)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py	2017-02-02 03:10:58 UTC (rev 211549)
@@ -14,7 +14,7 @@
     process_name = None
     platform = 'osx'
 
-    def prepare_env(self, device_id):
+    def prepare_env(self, config):
         self.close_browsers()
         from Quartz import CGWarpMouseCursorPosition
         CGWarpMouseCursorPosition((10, 0))

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py (211548 => 211549)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py	2017-02-02 01:57:00 UTC (rev 211548)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py	2017-02-02 03:10:58 UTC (rev 211549)
@@ -17,9 +17,9 @@
     process_name = 'Safari'
     browser_name = 'safari'
 
-    def prepare_env(self, device_id):
+    def prepare_env(self, config):
         self._safari_process = None
-        super(OSXSafariDriver, self).prepare_env(device_id)
+        super(OSXSafariDriver, self).prepare_env(config)
         force_remove(os.path.join(os.path.expanduser('~'), 'Library/Saved Application State/com.apple.Safari.savedState'))
         force_remove(os.path.join(os.path.expanduser('~'), 'Library/Safari/LastSession.plist'))
         self._maximize_window()

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan (211548 => 211549)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan	2017-02-02 01:57:00 UTC (rev 211548)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan	2017-02-02 03:10:58 UTC (rev 211549)
@@ -4,5 +4,8 @@
     "svn_source": "https://svn.webkit.org/repository/webkit/trunk/PerformanceTests/MotionMark/@r210459",
     "benchmark_patch": "data/patches/MotionMark.patch",
     "entry_point": "index.html",
+    "config": {
+        "orientation": "landscape"
+    },
     "output_file": "motionmark.result"
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to