Changeset 184109 in webkit


Ignore:
Timestamp:
May 11, 2015, 11:02:57 AM (10 years ago)
Author:
rniwa@webkit.org
Message:

run-benchmark should support Chrome Canary and Firefox Nightly
https://bugs.webkit.org/show_bug.cgi?id=144850

Reviewed by Darin Adler.

Added the support for Chrome Canary, Firefox (release), and Firefox Nightly.

This patch also extracts OSXBrowserDriver to launch and terminate processes on OS X.

  • Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json:
  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: Added.

(OSXBrowserDriver):
(OSXBrowserDriver.prepareEnv): Extracted from ChromeBrowserDriver.prepareEnv.
(OSXBrowserDriver.closeBrowsers): Ditto.
(OSXBrowserDriver.launchProcess): Ditto.
(OSXBrowserDriver.terminateProcesses): Ditto.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:

(OSXChromeDriver): Removed the unused self.chromePreferences.
(OSXChromeDriver.prepareEnv): Moved to OSXBrowserDriver.
(OSXChromeDriver.closeBrowsers): Ditto.
(OSXChromeDriver.launchUrl):
(OSXChromeCanaryDriver): Added.
(OSXChromeCanaryDriver.launchUrl):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: Added.

(OSXFirefoxDriver): Added.
(OSXFirefoxDriver.launchUrl):
(OSXFirefoxNightlyDriver): Added.
(OSXFirefoxNightlyDriver.launchUrl):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:

(OSXSafariDriver):
(OSXSafariDriver.closeBrowsers):

Location:
trunk/Tools
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r184106 r184109  
     12015-05-11  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        run-benchmark should support Chrome Canary and Firefox Nightly
     4        https://bugs.webkit.org/show_bug.cgi?id=144850
     5
     6        Reviewed by Darin Adler.
     7
     8        Added the support for Chrome Canary, Firefox (release), and Firefox Nightly.
     9
     10        This patch also extracts OSXBrowserDriver to launch and terminate processes on OS X.
     11
     12        * Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json:
     13        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: Added.
     14        (OSXBrowserDriver):
     15        (OSXBrowserDriver.prepareEnv): Extracted from ChromeBrowserDriver.prepareEnv.
     16        (OSXBrowserDriver.closeBrowsers): Ditto.
     17        (OSXBrowserDriver.launchProcess): Ditto.
     18        (OSXBrowserDriver.terminateProcesses): Ditto.
     19        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
     20        (OSXChromeDriver): Removed the unused self.chromePreferences.
     21        (OSXChromeDriver.prepareEnv): Moved to OSXBrowserDriver.
     22        (OSXChromeDriver.closeBrowsers): Ditto.
     23        (OSXChromeDriver.launchUrl):
     24        (OSXChromeCanaryDriver): Added.
     25        (OSXChromeCanaryDriver.launchUrl):
     26        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: Added.
     27        (OSXFirefoxDriver): Added.
     28        (OSXFirefoxDriver.launchUrl):
     29        (OSXFirefoxNightlyDriver): Added.
     30        (OSXFirefoxNightlyDriver.launchUrl):
     31        * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
     32        (OSXSafariDriver):
     33        (OSXSafariDriver.closeBrowsers):
     34
    1352015-05-11  Tim Horton  <timothy_horton@apple.com>
    236
  • trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_drivers.json

    r183309 r184109  
    44            "moduleName": "OSXChromeDriver",
    55            "filePath": "browser_driver.osx_chrome_driver"
    6         },
     6        },
     7        "chrome-canary": {
     8            "moduleName": "OSXChromeCanaryDriver",
     9            "filePath": "browser_driver.osx_chrome_driver"
     10        },
     11        "firefox": {
     12            "moduleName": "OSXFirefoxDriver",
     13            "filePath": "browser_driver.osx_firefox_driver"
     14        },
     15        "firefox-nightly": {
     16            "moduleName": "OSXFirefoxNightlyDriver",
     17            "filePath": "browser_driver.osx_firefox_driver"
     18        },
    719        "safari": {
    820            "moduleName": "OSXSafariDriver",
  • trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py

    r184044 r184109  
    66import time
    77
    8 # We assume that this handle can only be used when the platform is OSX
    9 from AppKit import NSRunningApplication
    10 from browser_driver import BrowserDriver
     8from osx_browser_driver import OSXBrowserDriver
    119
    1210
     
    1412
    1513
    16 class OSXChromeDriver(BrowserDriver):
    17 
    18     def prepareEnv(self):
    19         self.closeBrowsers()
    20         self.chromePreferences = []
     14class OSXChromeDriver(OSXBrowserDriver):
     15    bundleIdentifier = 'com.google.Chrome'
    2116
    2217    def launchUrl(self, url, browserBuildPath):
    23         if not browserBuildPath:
    24             browserBuildPath = '/Applications/'
    25         _log.info('Launching chrome: %s with url: %s' % (os.path.join(browserBuildPath, 'Google Chrome.app'), url))
    26         # FIXME: May need to be modified for develop build, such as setting up libraries
    27         subprocess.Popen(['open', '-a', os.path.join(browserBuildPath, 'Google Chrome.app'), '--args', '--homepage', url] + self.chromePreferences).communicate()
     18        self.launchProcess(buildDir=browserBuildPath, appName='Google Chrome.app', url=url, args=['--args', '--homepage', url])
    2819
    29     def closeBrowsers(self):
    30         _log.info('Closing all existing chrome processes')
    31         chromes = NSRunningApplication.runningApplicationsWithBundleIdentifier_('com.google.Chrome')
    32         for chrome in chromes:
    33             chrome.terminate()
     20
     21class OSXChromeCanaryDriver(OSXBrowserDriver):
     22    bundleIdentifier = 'com.google.Chrome.canary'
     23
     24    def launchUrl(self, url, browserBuildPath):
     25        self.launchProcess(buildDir=browserBuildPath, appName='Google Chrome Canary.app', url=url, args=['--args', '--homepage', url])
  • trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py

    r184044 r184109  
    66import time
    77
    8 # We assume that this handle can only be used when the platform is OSX.
    9 from AppKit import NSRunningApplication
    10 from browser_driver import BrowserDriver
     8from osx_browser_driver import OSXBrowserDriver
    119from webkitpy.benchmark_runner.utils import forceRemove
    1210
     
    1513
    1614
    17 class OSXSafariDriver(BrowserDriver):
     15class OSXSafariDriver(OSXBrowserDriver):
    1816
    1917    def prepareEnv(self):
     
    4442
    4543    def closeBrowsers(self):
    46         _log.info('Closing all existing safari processes')
    47         safariInstances = NSRunningApplication.runningApplicationsWithBundleIdentifier_('com.apple.Safari')
    48         for safariInstance in safariInstances:
    49             safariInstance.terminate()
     44        self.terminateProcesses('com.apple.Safari')
    5045        if self.safariProcess:
    5146            _log.info('Safari process console output:\nstdout: %s\nstderr: %s' % self.safariProcess.communicate())
Note: See TracChangeset for help on using the changeset viewer.