Title: [239522] trunk/Tools
Revision
239522
Author
[email protected]
Date
2018-12-21 15:26:05 -0800 (Fri, 21 Dec 2018)

Log Message

Add support to run-benchmark to use non-default copies of the browser apps
https://bugs.webkit.org/show_bug.cgi?id=192905
rdar://problem/46845840

Reviewed by Dewei Zhu.

Add support for a --browser-path argument to run-benchmark, which allows you to use
a custom app bundle for a given browser (only implemented for Safari at present).

* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.__init__):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
(BrowserDriverFactory.create):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver._launch_process):
(OSXBrowserDriver._launch_process_with_caffeinate): Fix spelling.
(OSXBrowserDriver._launch_process_with_caffinate): Deleted.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeCanaryDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxNightlyDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.__init__):
(OSXSafariDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(parse_args):
(run_benchmark_plan):
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
(WebServerBenchmarkRunner.__init__):
* Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py:
(FakeBenchmarkRunner.__init__):

Modified Paths

Property Changed

Diff

Modified: trunk/Tools/ChangeLog (239521 => 239522)


--- trunk/Tools/ChangeLog	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/ChangeLog	2018-12-21 23:26:05 UTC (rev 239522)
@@ -1,3 +1,39 @@
+2018-12-19  Simon Fraser  <[email protected]>
+
+        Add support to run-benchmark to use non-default copies of the browser apps
+        https://bugs.webkit.org/show_bug.cgi?id=192905
+        rdar://problem/46845840
+
+        Reviewed by Dewei Zhu.
+        
+        Add support for a --browser-path argument to run-benchmark, which allows you to use
+        a custom app bundle for a given browser (only implemented for Safari at present).
+
+        * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
+        (BenchmarkRunner.__init__):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
+        (BrowserDriver.__init__):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
+        (BrowserDriverFactory.create):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
+        (OSXBrowserDriver._launch_process):
+        (OSXBrowserDriver._launch_process_with_caffeinate): Fix spelling.
+        (OSXBrowserDriver._launch_process_with_caffinate): Deleted.
+        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
+        (OSXChromeCanaryDriver.launch_url):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
+        (OSXFirefoxNightlyDriver.launch_url):
+        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
+        (OSXSafariDriver.__init__):
+        (OSXSafariDriver.launch_url):
+        * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
+        (parse_args):
+        (run_benchmark_plan):
+        * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
+        (WebServerBenchmarkRunner.__init__):
+        * Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py:
+        (FakeBenchmarkRunner.__init__):
+
 2018-12-21  Jiewen Tan  <[email protected]>
 
         [WebAuthN] Import an APDU coder from Chromium

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -23,7 +23,7 @@
 class BenchmarkRunner(object):
     name = 'benchmark_runner'
 
-    def __init__(self, plan_file, local_copy, count_override, build_dir, output_file, platform, browser, scale_unit=True, show_iteration_values=False, device_id=None):
+    def __init__(self, plan_file, local_copy, count_override, build_dir, output_file, platform, browser, browser_path, scale_unit=True, show_iteration_values=False, device_id=None):
         try:
             plan_file = self._find_plan_file(plan_file)
             with open(plan_file, 'r') as fp:
@@ -36,6 +36,7 @@
                 if count_override:
                     self._plan['count'] = count_override
                 self._browser_driver = BrowserDriverFactory.create(platform, browser)
+                self._browser_path = browser_path
                 self._build_dir = os.path.abspath(build_dir) if build_dir else None
                 self._output_file = output_file
                 self._scale_unit = scale_unit
Property changes on: trunk/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -15,7 +15,7 @@
         pass
 
     @abstractmethod
-    def launch_url(self, url, options, browser_build_path=None):
+    def launch_url(self, url, options, browser_build_path=None, browser_path=None):
         pass
 
     @abstractmethod
Property changes on: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property Index: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py =================================================================== --- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py 2018-12-21 23:10:11 UTC (rev 239521) +++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py 2018-12-21 23:26:05 UTC (rev 239522)

Property changes: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py


Added: svn:executable

+* \ No newline at end of property

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


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -88,7 +88,7 @@
                             browser_name=self.browser_name, browser_pid=self._browser_process.pid,
                             browser_retcode=self._browser_process.returncode))
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
         if not self._browser_arguments:
             self._browser_arguments = [url]
         exec_args = [self.process_name] + self._browser_arguments

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -33,10 +33,10 @@
     browser_name = 'chrome'
     process_search_list = ['chromium', 'chromium-browser', 'chrome']
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
         self._browser_arguments = ['--temp-profile', '--start-maximized',
                                    '--homepage', url]
-        super(LinuxChromeDriver, self).launch_url(url, options, browser_build_path)
+        super(LinuxChromeDriver, self).launch_url(url, options, browser_build_path, browser_path)
 
     def launch_driver(self, url, options, browser_build_path):
         import webkitpy.thirdparty.autoinstalled.selenium

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -31,11 +31,11 @@
     browser_name = 'epiphany'
     process_search_list = ['epiphany', 'epiphany-browser']
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
         self._browser_arguments = ['--new-window', '-p',
                                    '--profile=""
                                    url]
-        super(EpiphanyBrowserDriver, self).launch_url(url, options, browser_build_path)
+        super(EpiphanyBrowserDriver, self).launch_url(url, options, browser_build_path, browser_path)
 
     def launch_driver(self, url, options, browser_build_path):
         raise ValueError("Browser {browser} is not available with webdriver".format(browser=self.browser_name))

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -33,12 +33,12 @@
     browser_name = 'firefox'
     process_search_list = ['firefox', 'firefox-bin']
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
         self._browser_arguments = ['-new-instance', '-profile', self._temp_profiledir,
                                    '-width', str(self._screen_size().width),
                                    '-height', str(self._screen_size().height),
                                    url]
-        super(LinuxFirefoxDriver, self).launch_url(url, options, browser_build_path)
+        super(LinuxFirefoxDriver, self).launch_url(url, options, browser_build_path, browser_path)
 
     def launch_driver(self, url, options, browser_build_path):
         import webkitpy.thirdparty.autoinstalled.selenium

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -31,13 +31,13 @@
     browser_name = 'minibrowser-gtk'
     process_search_list = ['Tools/Scripts/run-minibrowser', 'MiniBrowser']
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
         self._browser_arguments = []
         if self.process_name.endswith('run-minibrowser'):
             self._browser_arguments.append('--gtk')
         self._browser_arguments.append('--geometry={w}x{h}'.format(w=self._screen_size().width, h=self._screen_size().height))
         self._browser_arguments.append(url)
-        super(GTKMiniBrowserDriver, self).launch_url(url, options, browser_build_path)
+        super(GTKMiniBrowserDriver, self).launch_url(url, options, browser_build_path, browser_path)
 
     def launch_driver(self, url, options, browser_build_path):
         raise ValueError("Browser {browser} is not available with webdriver".format(browser=self.browser_name))

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


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -40,7 +40,7 @@
 
         # FIXME: May need to be modified for a local build such as setting up DYLD libraries
         args = ['open', '-a', app_path] + args
-        cls._launch_process_with_caffinate(args)
+        cls._launch_process_with_caffeinate(args)
 
     @classmethod
     def _launch_webdriver(cls, url, driver):
@@ -57,8 +57,13 @@
         subprocess.call(['/usr/bin/killall', process_name])
 
     @classmethod
-    def _launch_process_with_caffinate(cls, args, env=None):
-        process = subprocess.Popen(args, env=env)
+    def _launch_process_with_caffeinate(cls, args, env=None):
+        try:
+            process = subprocess.Popen(args, env=env)
+        except Exception as error:
+            _log.error('Popen failed: {error}'.format(error=error))
+            return
+
         subprocess.Popen(["/usr/bin/caffeinate", "-disw", str(process.pid)])
         return process
 

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -14,7 +14,8 @@
     browser_name = 'chrome'
     app_name = 'Google Chrome.app'
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
+        # FIXME: handle self._browser_path.
         args_with_url = self._insert_url(create_args(), 2, url)
         self._launch_process(build_dir=browser_build_path, app_name=self.app_name, url="" args=args_with_url)
 
@@ -37,7 +38,8 @@
     browser_name = 'chrome-canary'
     app_name = 'Google Chrome Canary.app'
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
+        # FIXME: handle self._browser_path.
         args_with_url = self._insert_url(create_args(), 2, url)
         self._launch_process(build_dir=browser_build_path, app_name=self.app_name, url="" args=args_with_url)
 
Property changes on: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -14,7 +14,8 @@
     browser_name = 'firefox'
     app_name = 'Firefox.app'
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
+        # FIXME: handle self._browser_path.
         args_with_url = self._insert_url(create_args(), 0, url)
         self._launch_process(build_dir=browser_build_path, app_name=self.app_name, url="" args=args_with_url)
 
@@ -38,7 +39,8 @@
     browser_name = 'firefox-nightly'
     app_name = 'FirefoxNightly.app'
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
+        # FIXME: handle self._browser_path.
         args_with_url = self._insert_url(create_args(), 0, url)
         self._launch_process(build_dir=browser_build_path, app_name=self.app_name, url="" args=args_with_url)
 
Property changes on: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

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


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -24,7 +24,7 @@
         self._maximize_window()
         self._safari_preferences = ["-HomePage", "about:blank", "-WarnAboutFraudulentWebsites", "0", "-ExtensionsEnabled", "0", "-ShowStatusBar", "0", "-NewWindowBehavior", "1", "-NewTabBehavior", "1"]
 
-    def launch_url(self, url, options, browser_build_path):
+    def launch_url(self, url, options, browser_build_path, browser_path):
         args = ['/Applications/Safari.app/Contents/MacOS/Safari']
         env = {}
         if browser_build_path:
@@ -34,10 +34,16 @@
                 env = {'DYLD_FRAMEWORK_PATH': browser_build_path, 'DYLD_LIBRARY_PATH': browser_build_path, '__XPC_DYLD_FRAMEWORK_PATH': browser_build_path, '__XPC_DYLD_LIBRARY_PATH': browser_build_path}
             else:
                 _log.info('Could not find Safari.app at %s, using the system Safari instead' % safari_app_in_build_path)
+        elif browser_path:
+            safari_app_in_browser_path = os.path.join(browser_path, 'Contents/MacOS/Safari')
+            if os.path.exists(safari_app_in_browser_path):
+                args = [safari_app_in_browser_path]
+            else:
+                _log.info('Could not find application at %s, using the system Safari instead' % safari_app_in_browser_path)
 
         args.extend(self._safari_preferences)
         _log.info('Launching safari: %s with url: %s' % (args[0], url))
-        self._safari_process = OSXSafariDriver._launch_process_with_caffinate(args, env)
+        self._safari_process = OSXSafariDriver._launch_process_with_caffeinate(args, env)
 
         # Stop for initialization of the safari process, otherwise, open
         # command may use the system safari.
Property changes on: trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -40,7 +40,6 @@
     mutual_group.add_argument('--allplans', action='', help='Run all available benchmark plans in order.')
     mutual_group.add_argument('--read-results-json', dest='json_file', help='Instead of running a benchmark, format the output saved in JSON_FILE.')
     parser.add_argument('--output-file', default=None, help='Save detailed results to OUTPUT in JSON format. By default, results will not be saved.')
-    parser.add_argument('--build-directory', dest='build_dir', help='Path to the browser executable (e.g. WebKitBuild/Release/).')
     parser.add_argument('--count', type=int, help='Number of times to run the benchmark (e.g. 5).')
     parser.add_argument('--driver', default=WebServerBenchmarkRunner.name, choices=benchmark_runner_subclasses.keys(), help='Use the specified benchmark driver. Defaults to %s.' % WebServerBenchmarkRunner.name)
     parser.add_argument('--browser', default=default_browser(), choices=BrowserDriverFactory.available_browsers(), help='Browser to run the nechmark in. Defaults to %s.' % default_browser())
@@ -51,6 +50,10 @@
     parser.add_argument('--no-adjust-unit', dest='scale_unit', action='', help="Don't convert to scientific notation.")
     parser.add_argument('--show-iteration-values', dest='show_iteration_values', action='', help="Show the measured value for each iteration in addition to averages.")
 
+    group = parser.add_mutually_exclusive_group()
+    group.add_argument('--browser-path', help='Specify the path to a non-default copy of the target browser as a path to the .app.')
+    group.add_argument('--build-directory', dest='build_dir', help='Path to the browser executable (e.g. WebKitBuild/Release/).')
+
     args = parser.parse_args()
 
     if args.debug:
@@ -65,7 +68,7 @@
 
 def run_benchmark_plan(args, plan):
     benchmark_runner_class = benchmark_runner_subclasses[args.driver]
-    runner = benchmark_runner_class(plan, args.local_copy, args.count, args.build_dir, args.output_file, args.platform, args.browser, args.scale_unit, args.show_iteration_values, args.device_id)
+    runner = benchmark_runner_class(plan, args.local_copy, args.count, args.build_dir, args.output_file, args.platform, args.browser, args.browser_path, args.scale_unit, args.show_iteration_values, args.device_id)
     runner.execute()
 
 

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -22,7 +22,7 @@
         result = None
         try:
             url = ''.format(root=web_root, plan_name=self._plan_name, test_file=test_file)
-            driver = self._browser_driver.launch_driver(url, self._plan['options'], self._build_dir)
+            driver = self._browser_driver.launch_driver(url, self._plan['options'], self._build_dir, self._browser_path)
             _log.info('Waiting on results from web browser')
             result = WebDriverWait(driver, self._plan['timeout'], poll_frequency=1.0).until(self._get_result)
             driver.quit()
Property changes on: trunk/Tools/Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Modified: trunk/Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -15,10 +15,10 @@
 class WebServerBenchmarkRunner(BenchmarkRunner):
     name = 'webserver'
 
-    def __init__(self, plan_file, local_copy, count_override, build_dir, output_file, platform, browser, scale_unit=True, show_iteration_values=False, device_id=None):
+    def __init__(self, plan_file, local_copy, count_override, build_dir, output_file, platform, browser, browser_path, scale_unit=True, show_iteration_values=False, device_id=None):
         self._http_server_driver = HTTPServerDriverFactory.create(platform)
         self._http_server_driver.set_device_id(device_id)
-        super(WebServerBenchmarkRunner, self).__init__(plan_file, local_copy, count_override, build_dir, output_file, platform, browser, scale_unit, show_iteration_values, device_id)
+        super(WebServerBenchmarkRunner, self).__init__(plan_file, local_copy, count_override, build_dir, output_file, platform, browser, browser_path, scale_unit, show_iteration_values, device_id)
 
     def _get_result(self, test_url):
         result = self._browser_driver.add_additional_results(test_url, self._http_server_driver.fetch_result())
@@ -30,7 +30,7 @@
         try:
             self._http_server_driver.serve(web_root)
             url = "" self._plan_name + '/' + test_file)
-            self._browser_driver.launch_url(url, self._plan['options'], self._build_dir)
+            self._browser_driver.launch_url(url, self._plan['options'], self._build_dir, self._browser_path)
             with Timeout(self._plan['timeout']):
                 result = self._get_result(url)
         finally:
Property changes on: trunk/Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Modified: trunk/Tools/Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py (239521 => 239522)


--- trunk/Tools/Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py	2018-12-21 23:10:11 UTC (rev 239521)
+++ trunk/Tools/Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py	2018-12-21 23:26:05 UTC (rev 239522)
@@ -40,8 +40,8 @@
 class FakeBenchmarkRunner(BenchmarkRunner):
     name = 'fake'
 
-    def __init__(self, plan_file, local_copy, count_override, build_dir, output_file, platform, browser):
-        super(FakeBenchmarkRunner, self).__init__(plan_file, local_copy, count_override, build_dir, output_file, platform, browser)
+    def __init__(self, plan_file, local_copy, count_override, build_dir, output_file, platform, browser, browser_path):
+        super(FakeBenchmarkRunner, self).__init__(plan_file, local_copy, count_override, build_dir, output_file, platform, browser, browser_path)
 
     def execute(self):
         return True
@@ -60,5 +60,5 @@
         # This tests that constructing the benchmark_runner object specifying the minimum required paramaters is ok.
         plan_list = BenchmarkRunner.available_plans()
         build_dir = os.path.abspath(os.curdir)
-        runner = FakeBenchmarkRunner(plan_list[0], False, 1, build_dir, "/tmp/testOutput.txt", default_platform(), default_browser())
+        runner = FakeBenchmarkRunner(plan_list[0], False, 1, build_dir, "/tmp/testOutput.txt", default_platform(), default_browser(), None)
         self.assertTrue(runner.execute())
Property changes on: trunk/Tools/Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to