Bug 1284874 - Add 'package' argument to Marionette Test Runner; r?AutomatedTester
This is useful for overriding the computed Android package name in
automation.
MozReview-Commit-ID: jm283iQB2i
--- a/testing/marionette/client/marionette_driver/geckoinstance.py
+++ b/testing/marionette/client/marionette_driver/geckoinstance.py
@@ -182,21 +182,21 @@ class GeckoInstance(object):
else:
self.prefs = None
self.start()
class FennecInstance(GeckoInstance):
def __init__(self, emulator_binary=None, avd_home=None, avd=None,
adb_path=None, serial=None, connect_to_running_emulator=False,
- *args, **kwargs):
+ package_name=None, *args, **kwargs):
super(FennecInstance, self).__init__(*args, **kwargs)
self.runner_class = FennecEmulatorRunner
# runner args
- self._package_name = None
+ self._package_name = package_name
self.emulator_binary = emulator_binary
self.avd_home = avd_home
self.adb_path = adb_path
self.avd = avd
self.serial = serial
self.connect_to_running_emulator = connect_to_running_emulator
@property
--- a/testing/marionette/harness/marionette/runner/base.py
+++ b/testing/marionette/harness/marionette/runner/base.py
@@ -476,16 +476,21 @@ class RemoteMarionetteArguments(object):
[['--avd-home'],
{'help': 'Path to avd parent directory',
}],
[['--device'],
{'help': ('Serial ID to connect to as seen in `adb devices`,'
'e.g emulator-5444'),
'dest': 'device_serial',
}],
+ [['--package'],
+ {'help': 'Name of Android package, e.g. org.mozilla.fennec',
+ 'dest': 'package_name',
+ }],
+
]
class BaseMarionetteTestRunner(object):
textrunnerclass = MarionetteTextTestRunner
driverclass = Marionette
def __init__(self, address=None,
@@ -711,16 +716,17 @@ class BaseMarionetteTestRunner(object):
})
if self.emulator:
kwargs.update({
'avd_home': self.extra_kwargs.get('avd_home'),
'adb_path': self.extra_kwargs.get('adb_path'),
'emulator_binary': self.extra_kwargs.get('emulator_bin'),
'avd': self.extra_kwargs.get('avd'),
+ 'package_name': self.extra_kwargs.get('package_name'),
})
if self.address:
host, port = self.address.split(':')
kwargs.update({
'host': host,
'port': int(port),
})
--- a/testing/marionette/harness/marionette/tests/harness_unit/test_marionette_runner.py
+++ b/testing/marionette/harness/marionette/tests/harness_unit/test_marionette_runner.py
@@ -95,16 +95,17 @@ def mach_parsed_kwargs(logger):
'log_raw_level': None,
'log_tbpl': None,
'log_tbpl_buffer': None,
'log_tbpl_compact': None,
'log_tbpl_level': None,
'log_unittest': None,
'log_xunit': None,
'logger_name': 'Marionette-based Tests',
+ 'package_name': None,
'prefs': {
'browser.tabs.remote.autostart': True,
'browser.tabs.remote.force-enable': True,
'extensions.e10sBlocksEnabling': False,
},
'prefs_args': None,
'prefs_files': None,
'profile': None,