WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
283256
webkitpy.benchmark_runner.browser_driver.browser_driver.BrowserDriver is meant to be abstract
https://bugs.webkit.org/show_bug.cgi?id=283256
Summary
webkitpy.benchmark_runner.browser_driver.browser_driver.BrowserDriver is mean...
Sam Sneddon [:gsnedders]
Reported
2024-11-17 00:00:22 PST
This has had `___metaclass___ = ABCMeta` since
165969@main
, but this never actually made it a metaclass: in Python 2, this needs to be __metaclass__ (note two, not three, underscores on either side of the word). On Python 3, we need to change this more significantly: ``` diff --git a/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py b/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py index a27563d7edc6..92eba4e30cb5 100755 --- a/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py +++ b/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py @@ -8,10 +8,8 @@ _log = logging.getLogger(__name__) -class BrowserDriver(object): +class BrowserDriver(metaclass=ABCMeta): platform = None browser_name = None - ___metaclass___ = ABCMeta - def __init__(self, browser_args): self.browser_args = browser_args ``` However, this then shows we have much more significant problems with classes we're actually trying to use: ``` osx_chrome_driver.OSXChromeBetaDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] osx_chrome_driver.OSXChromeCanaryDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] osx_chrome_driver.OSXChromeDevDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] osx_chrome_driver.OSXChromeDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] osx_chrome_driver.OSXChromeForTestingDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] osx_chrome_driver.OSXChromiumDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] osx_firefox_driver.OSXFirefoxDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] osx_firefox_driver.OSXFirefoxNightlyDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] linux_epiphany_driver.EpiphanyBrowserDriver is missing ['add_additional_results', 'browser_version'] linux_cog_driver.CogBrowserDriver is missing ['add_additional_results', 'browser_version'] linux_minibrowserwpe_driver.WPEMiniBrowserDriver is missing ['add_additional_results', 'browser_version'] linux_firefox_driver.LinuxFirefoxDriver is missing ['add_additional_results', 'browser_version'] linux_minibrowsergtk_driver.GTKMiniBrowserDriver is missing ['add_additional_results', 'browser_version'] linux_chrome_driver.LinuxChromeDriver is missing ['add_additional_results'] osx_safari_driver.OSXSafariDriver is missing ['add_additional_results', 'browser_version', 'launch_webdriver'] webkitpy.browserperfdash.browserperfdash_unittest.FakeBrowserDriver is missing ['add_additional_results', 'browser_version'] ``` Commits where we've broken the supposed contract are: add_additional_results (
174940@main
, Simon Fraser), launch_webdriver (
191615@main
), and browser_version (
280585@main
, Carlos López). (Mostly filing this to have something to link at about why none of the @abstractmethod decorators do anything with tidying this up now Python 2 support is gone!)
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2024-11-24 00:01:23 PST
<
rdar://problem/140491913
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug