mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1452694 - Use TestRunnerActivity for geckoview mochitest/reftest; r=bc
This makes the changes necessary to use TestRunnerActivity when geckoview is installed and requested, but we do not yet attempt to run any such test tasks in automation.
This commit is contained in:
parent
e947c0c1e9
commit
3680684f70
@ -247,7 +247,9 @@ class RemoteAutomation(Automation):
|
||||
else:
|
||||
args = args[:-1]
|
||||
if 'geckoview' in app:
|
||||
self.device.launch_geckoview_example(app, moz_env=env, extra_args=args, url=url)
|
||||
activity = "TestRunnerActivity"
|
||||
self.device.launch_activity(app, activity, e10s=True, moz_env=env,
|
||||
extra_args=args, url=url)
|
||||
else:
|
||||
self.device.launch_fennec(app, moz_env=env, extra_args=args, url=url)
|
||||
|
||||
|
@ -102,8 +102,9 @@ class GeckoviewTestRunner:
|
||||
env["R_LOG_VERBOSE"] = "1"
|
||||
env["R_LOG_LEVEL"] = "6"
|
||||
env["R_LOG_DESTINATION"] = "stderr"
|
||||
self.device.launch_geckoview_example("org.mozilla.geckoview_example",
|
||||
extra_args=args, moz_env=env)
|
||||
self.device.launch_activity("org.mozilla.geckoview_example",
|
||||
"GeckoViewActivity",
|
||||
extra_args=args, moz_env=env)
|
||||
except Exception:
|
||||
return (False, "Exception during %s startup" % self.appname)
|
||||
return (True, "%s started" % self.appname)
|
||||
|
@ -449,17 +449,20 @@ class ADBAndroid(ADBDevice):
|
||||
wait=wait, fail_if_running=fail_if_running,
|
||||
timeout=timeout)
|
||||
|
||||
def launch_geckoview_example(self, app_name, intent="android.intent.action.Main",
|
||||
moz_env=None, extra_args=None, url=None, e10s=False,
|
||||
wait=True, fail_if_running=True, timeout=None):
|
||||
"""Convenience method to launch geckoview_example on Android with various
|
||||
debugging arguments
|
||||
def launch_activity(self, app_name, activity_name=None,
|
||||
intent="android.intent.action.Main",
|
||||
moz_env=None, extra_args=None, url=None, e10s=False,
|
||||
wait=True, fail_if_running=True, timeout=None):
|
||||
"""Convenience method to launch an application on Android with various
|
||||
debugging arguments; convenient for geckoview apps.
|
||||
|
||||
:param str app_name: Name of application (e.g.
|
||||
`org.mozilla.geckoview_example`)
|
||||
`org.mozilla.geckoview_example` or `org.mozilla.geckoview.test`)
|
||||
:param str activity_name: Activity name, like `GeckoViewActivity`, or
|
||||
`TestRunnerActivity`.
|
||||
:param str intent: Intent to launch application.
|
||||
:type moz_env: str or None
|
||||
:param extra_args: Extra arguments to be parsed by fennec.
|
||||
:param extra_args: Extra arguments to be parsed by the app.
|
||||
:type extra_args: str or None
|
||||
:param url: URL to open
|
||||
:type url: str or None
|
||||
@ -486,13 +489,13 @@ class ADBAndroid(ADBDevice):
|
||||
for (env_count, (env_key, env_val)) in enumerate(moz_env.iteritems()):
|
||||
extras["env" + str(env_count)] = env_key + "=" + env_val
|
||||
|
||||
# Additional command line arguments that geckoview_example will read and use (e.g.
|
||||
# Additional command line arguments that the app will read and use (e.g.
|
||||
# with a custom profile)
|
||||
if extra_args:
|
||||
extras['args'] = " ".join(extra_args)
|
||||
extras['use_multiprocess'] = e10s
|
||||
self.launch_application(app_name,
|
||||
"%s.GeckoViewActivity" % app_name,
|
||||
"%s.%s" % (app_name, activity_name),
|
||||
intent, url=url, extras=extras,
|
||||
wait=wait, fail_if_running=fail_if_running,
|
||||
timeout=timeout)
|
||||
|
@ -379,9 +379,11 @@ class AndroidEmulatorTest(TestingMixin, EmulatorMixin, BaseScript, MozbaseMixin)
|
||||
|
||||
def _query_package_name(self):
|
||||
if self.app_name is None:
|
||||
# For convenience, assume geckoview_example when install target
|
||||
# looks like geckoview.
|
||||
if 'geckoview' in self.installer_path:
|
||||
# For convenience, assume geckoview.test/geckoview_example when install
|
||||
# target looks like geckoview.
|
||||
if 'androidTest' in self.installer_path:
|
||||
self.app_name = 'org.mozilla.geckoview.test'
|
||||
elif 'geckoview' in self.installer_path:
|
||||
self.app_name = 'org.mozilla.geckoview_example'
|
||||
if self.app_name is None:
|
||||
# Find appname from package-name.txt - assumes download-and-extract
|
||||
|
Loading…
Reference in New Issue
Block a user