зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1168803 - Add --addon option to specify add-ons to be installed. r=dburns
--HG-- extra : commitid : peO1rLe9oG extra : rebase_source : b557243a86a861a535b098e4965cd371dfd60877
This commit is contained in:
Родитель
b493db78f7
Коммит
78bf9783e7
|
@ -333,6 +333,10 @@ class BaseMarionetteOptions(OptionParser):
|
|||
action='store',
|
||||
help='profile to use when launching the gecko process. if not passed, then a profile will be '
|
||||
'constructed and used')
|
||||
self.add_option('--addon',
|
||||
dest='addons',
|
||||
action='append',
|
||||
help="addon to install; repeat for multiple addons.")
|
||||
self.add_option('--repeat',
|
||||
dest='repeat',
|
||||
action='store',
|
||||
|
@ -511,7 +515,7 @@ class BaseMarionetteTestRunner(object):
|
|||
server_root=None, gecko_log=None, result_callbacks=None,
|
||||
adb_host=None, adb_port=None, prefs=None, test_tags=None,
|
||||
socket_timeout=BaseMarionetteOptions.socket_timeout_default,
|
||||
startup_timeout=None, **kwargs):
|
||||
startup_timeout=None, addons=None, **kwargs):
|
||||
self.address = address
|
||||
self.emulator = emulator
|
||||
self.emulator_binary = emulator_binary
|
||||
|
@ -522,6 +526,7 @@ class BaseMarionetteTestRunner(object):
|
|||
self.app_args = app_args or []
|
||||
self.bin = binary
|
||||
self.profile = profile
|
||||
self.addons = addons
|
||||
self.logger = logger
|
||||
self.no_window = no_window
|
||||
self.httpd = None
|
||||
|
@ -666,6 +671,7 @@ class BaseMarionetteTestRunner(object):
|
|||
'app_args': self.app_args,
|
||||
'bin': self.bin,
|
||||
'profile': self.profile,
|
||||
'addons': self.addons,
|
||||
'gecko_log': self.gecko_log,
|
||||
})
|
||||
|
||||
|
|
|
@ -32,13 +32,14 @@ class GeckoInstance(object):
|
|||
"focusmanager.testmode": True,
|
||||
"startup.homepage_welcome_url": "about:blank"}
|
||||
|
||||
def __init__(self, host, port, bin, profile=None, app_args=None, symbols_path=None,
|
||||
gecko_log=None, prefs=None):
|
||||
def __init__(self, host, port, bin, profile=None, addons=None,
|
||||
app_args=None, symbols_path=None, gecko_log=None, prefs=None):
|
||||
self.marionette_host = host
|
||||
self.marionette_port = port
|
||||
self.bin = bin
|
||||
# Check if it is a Profile object or a path to profile
|
||||
self.profile = None
|
||||
self.addons = addons
|
||||
if isinstance(profile, Profile):
|
||||
self.profile = profile
|
||||
else:
|
||||
|
@ -77,6 +78,8 @@ class GeckoInstance(object):
|
|||
"devtools.debugger.prompt-connection": False,
|
||||
"marionette.debugging.clicktostart": True,
|
||||
})
|
||||
if self.addons:
|
||||
profile_args['addons'] = self.addons
|
||||
|
||||
if hasattr(self, "profile_path") and self.profile is None:
|
||||
if not self.profile_path:
|
||||
|
|
|
@ -545,7 +545,7 @@ class Marionette(object):
|
|||
TIMEOUT_PAGE = 'page load'
|
||||
|
||||
def __init__(self, host='localhost', port=2828, app=None, app_args=None, bin=None,
|
||||
profile=None, emulator=None, sdcard=None, emulator_img=None,
|
||||
profile=None, addons=None, emulator=None, sdcard=None, emulator_img=None,
|
||||
emulator_binary=None, emulator_res=None, connect_to_running_emulator=False,
|
||||
gecko_log=None, homedir=None, baseurl=None, no_window=False, logdir=None,
|
||||
busybox=None, symbols_path=None, timeout=None, socket_timeout=360,
|
||||
|
@ -555,6 +555,7 @@ class Marionette(object):
|
|||
self.port = self.local_port = port
|
||||
self.bin = bin
|
||||
self.profile = profile
|
||||
self.addons = addons
|
||||
self.instance = None
|
||||
self.session = None
|
||||
self.session_id = None
|
||||
|
@ -597,7 +598,8 @@ class Marionette(object):
|
|||
self.instance = instance_class(host=self.host, port=self.port,
|
||||
bin=self.bin, profile=self.profile,
|
||||
app_args=app_args, symbols_path=symbols_path,
|
||||
gecko_log=gecko_log, prefs=prefs)
|
||||
gecko_log=gecko_log, prefs=prefs,
|
||||
addons=self.addons)
|
||||
self.instance.start()
|
||||
assert(self.wait_for_port(timeout=startup_timeout)), "Timed out waiting for port!"
|
||||
|
||||
|
@ -612,6 +614,7 @@ class Marionette(object):
|
|||
userdata=emulator_img,
|
||||
resolution=emulator_res,
|
||||
profile=self.profile,
|
||||
addons=self.addons,
|
||||
adb_path=adb_path,
|
||||
process_args=process_args)
|
||||
self.emulator = self.runner.device
|
||||
|
|
|
@ -27,11 +27,13 @@ class BaseRunner(object):
|
|||
output_timeout = None
|
||||
|
||||
def __init__(self, app_ctx=None, profile=None, clean_profile=True, env=None,
|
||||
process_class=None, process_args=None, symbols_path=None, dump_save_path=None):
|
||||
process_class=None, process_args=None, symbols_path=None,
|
||||
dump_save_path=None, addons=None):
|
||||
self.app_ctx = app_ctx or DefaultContext()
|
||||
|
||||
if isinstance(profile, basestring):
|
||||
self.profile = self.app_ctx.profile_class(profile=profile)
|
||||
self.profile = self.app_ctx.profile_class(profile=profile,
|
||||
addons=addons)
|
||||
else:
|
||||
self.profile = profile or self.app_ctx.profile_class(**getattr(self.app_ctx, 'profile_args', {}))
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче