summaryrefslogtreecommitdiffstats
path: root/testing/mozharness/configs/android
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozharness/configs/android')
-rw-r--r--testing/mozharness/configs/android/androidarm.py459
-rw-r--r--testing/mozharness/configs/android/androidarm_4_3-tc.py10
-rw-r--r--testing/mozharness/configs/android/androidarm_4_3.py383
-rw-r--r--testing/mozharness/configs/android/androidarm_dev.py9
-rw-r--r--testing/mozharness/configs/android/androidx86-tc.py73
-rw-r--r--testing/mozharness/configs/android/androidx86.py182
6 files changed, 1116 insertions, 0 deletions
diff --git a/testing/mozharness/configs/android/androidarm.py b/testing/mozharness/configs/android/androidarm.py
new file mode 100644
index 000000000..fc4f742dc
--- /dev/null
+++ b/testing/mozharness/configs/android/androidarm.py
@@ -0,0 +1,459 @@
+import os
+
+config = {
+ "buildbot_json_path": "buildprops.json",
+ "host_utils_url": "http://talos-remote.pvt.build.mozilla.org/tegra/tegra-host-utils.Linux.1109310.2.zip",
+ "robocop_package_name": "org.mozilla.roboexample.test",
+ "device_ip": "127.0.0.1",
+ "default_sut_port1": "20701",
+ "default_sut_port2": "20700", # does not prompt for commands
+ "tooltool_manifest_path": "testing/config/tooltool-manifests/androidarm/releng.manifest",
+ "tooltool_cache": "/builds/tooltool_cache",
+ "emulator_manifest": """
+ [
+ {
+ "size": 193383673,
+ "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221",
+ "algorithm": "sha512",
+ "filename": "android-sdk18_0.r18moz1.orig.tar.gz",
+ "unpack": "True"
+ }
+ ] """,
+ "emulator_process_name": "emulator64-arm",
+ "emulator_extra_args": "-debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024 -cpu cortex-a9",
+ "device_manager": "sut",
+ "exes": {
+ 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb',
+ 'python': '/tools/buildbot/bin/python',
+ 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'],
+ 'tooltool.py': "/tools/tooltool.py",
+ },
+ "env": {
+ "DISPLAY": ":0.0",
+ "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools",
+ "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps"
+ },
+ "default_actions": [
+ 'clobber',
+ 'read-buildbot-config',
+ 'setup-avds',
+ 'start-emulator',
+ 'download-and-extract',
+ 'create-virtualenv',
+ 'verify-emulator',
+ 'install',
+ 'run-tests',
+ ],
+ "emulator": {
+ "name": "test-1",
+ "device_id": "emulator-5554",
+ "http_port": "8854", # starting http port to use for the mochitest server
+ "ssl_port": "4454", # starting ssl port to use for the server
+ "emulator_port": 5554,
+ "sut_port1": 20701,
+ "sut_port2": 20700
+ },
+ "suite_definitions": {
+ "mochitest": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=sut",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--deviceIP=%(device_ip)s",
+ "--devicePort=%(device_port)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--extra-profile-file=fonts",
+ "--extra-profile-file=hyphenation",
+ "--screenshot-on-fail",
+ ],
+ },
+ "mochitest-gl": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=sut",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--deviceIP=%(device_ip)s",
+ "--devicePort=%(device_port)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--screenshot-on-fail",
+ "--total-chunks=4",
+ "--subsuite=webgl",
+ ],
+ },
+ "mochitest-media": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=sut",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--deviceIP=%(device_ip)s",
+ "--devicePort=%(device_port)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--screenshot-on-fail",
+ "--total-chunks=2",
+ "--subsuite=media",
+ ],
+ },
+ "robocop": {
+ "run_filename": "runrobocop.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=sut",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--deviceIP=%(device_ip)s",
+ "--devicePort=%(device_port)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--total-chunks=4",
+ "--robocop-apk=../../robocop.apk",
+ "--robocop-ini=robocop.ini",
+ ],
+ },
+ "reftest": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--deviceIP=%(device_ip)s",
+ "--devicePort=%(device_port)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--httpd-path",
+ "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "--total-chunks=16",
+ "--extra-profile-file=fonts",
+ "--extra-profile-file=hyphenation",
+ "--suite=reftest",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ ],
+ "tests": ["tests/layout/reftests/reftest.list"],
+ },
+ "crashtest": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--deviceIP=%(device_ip)s",
+ "--devicePort=%(device_port)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--httpd-path",
+ "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "--total-chunks=2",
+ "--suite=crashtest",
+ ],
+ "tests": ["tests/testing/crashtest/crashtests.list"],
+ },
+ "jsreftest": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--deviceIP=%(device_ip)s",
+ "--devicePort=%(device_port)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--httpd-path",
+ "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "--total-chunks=6",
+ "--extra-profile-file=jsreftest/tests/user.js",
+ "--suite=jstestbrowser",
+ ],
+ "tests": ["../jsreftest/tests/jstests.list"],
+ },
+ "xpcshell": {
+ "run_filename": "remotexpcshelltests.py",
+ "testsdir": "xpcshell",
+ "options": [
+ "--dm_trans=sut",
+ "--deviceIP=%(device_ip)s",
+ "--devicePort=%(device_port)s",
+ "--xre-path=%(xre_path)s",
+ "--testing-modules-dir=%(modules_dir)s",
+ "--apk=%(installer_path)s",
+ "--no-logfiles",
+ "--symbols-path=%(symbols_path)s",
+ "--manifest=tests/xpcshell.ini",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--total-chunks=3",
+ ],
+ },
+ }, # end suite_definitions
+ "test_suite_definitions": {
+ "jsreftest-1": {
+ "category": "jsreftest",
+ "extra_args": ["--this-chunk=1"],
+ },
+ "jsreftest-2": {
+ "category": "jsreftest",
+ "extra_args": ["--this-chunk=2"],
+ },
+ "jsreftest-3": {
+ "category": "jsreftest",
+ "extra_args": ["--this-chunk=3"],
+ },
+ "jsreftest-4": {
+ "category": "jsreftest",
+ "extra_args": ["--this-chunk=4"],
+ },
+ "jsreftest-5": {
+ "category": "jsreftest",
+ "extra_args": ["--this-chunk=5"],
+ },
+ "jsreftest-6": {
+ "category": "jsreftest",
+ "extra_args": ["--this-chunk=6"],
+ },
+ "mochitest-1": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=1"],
+ },
+ "mochitest-2": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=2"],
+ },
+ "mochitest-3": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=3"],
+ },
+ "mochitest-4": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=4"],
+ },
+ "mochitest-5": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=5"],
+ },
+ "mochitest-6": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=6"],
+ },
+ "mochitest-7": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=7"],
+ },
+ "mochitest-8": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=8"],
+ },
+ "mochitest-9": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=9"],
+ },
+ "mochitest-10": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=10"],
+ },
+ "mochitest-11": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=11"],
+ },
+ "mochitest-12": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=12"],
+ },
+ "mochitest-13": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=13"],
+ },
+ "mochitest-14": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=14"],
+ },
+ "mochitest-15": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=15"],
+ },
+ "mochitest-16": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=16"],
+ },
+ "mochitest-chrome": {
+ "category": "mochitest",
+ "extra_args": ["--flavor=chrome"],
+ },
+ "mochitest-media-1": {
+ "category": "mochitest-media",
+ "extra_args": ["--this-chunk=1"],
+ },
+ "mochitest-media-2": {
+ "category": "mochitest-media",
+ "extra_args": ["--this-chunk=2"],
+ },
+ "mochitest-gl-1": {
+ "category": "mochitest-gl",
+ "extra_args": ["--this-chunk=1"],
+ },
+ "mochitest-gl-2": {
+ "category": "mochitest-gl",
+ "extra_args": ["--this-chunk=2"],
+ },
+ "mochitest-gl-3": {
+ "category": "mochitest-gl",
+ "extra_args": ["--this-chunk=3"],
+ },
+ "mochitest-gl-4": {
+ "category": "mochitest-gl",
+ "extra_args": ["--this-chunk=4"],
+ },
+ "reftest-1": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=1"],
+ },
+ "reftest-2": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=2"],
+ },
+ "reftest-3": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=3"],
+ },
+ "reftest-4": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=4"],
+ },
+ "reftest-5": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=5"],
+ },
+ "reftest-6": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=6"],
+ },
+ "reftest-7": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=7"],
+ },
+ "reftest-8": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=8"],
+ },
+ "reftest-9": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=9"],
+ },
+ "reftest-10": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=10"],
+ },
+ "reftest-11": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=11"],
+ },
+ "reftest-12": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=12"],
+ },
+ "reftest-13": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=13"],
+ },
+ "reftest-14": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=14"],
+ },
+ "reftest-15": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=15"],
+ },
+ "reftest-16": {
+ "category": "reftest",
+ "extra_args": ["--total-chunks=16", "--this-chunk=16"],
+ },
+ "crashtest-1": {
+ "category": "crashtest",
+ "extra_args": ["--this-chunk=1"],
+ },
+ "crashtest-2": {
+ "category": "crashtest",
+ "extra_args": ["--this-chunk=2"],
+ },
+ "xpcshell-1": {
+ "category": "xpcshell",
+ "extra_args": ["--total-chunks=3", "--this-chunk=1"],
+ },
+ "xpcshell-2": {
+ "category": "xpcshell",
+ "extra_args": ["--total-chunks=3", "--this-chunk=2"],
+ },
+ "xpcshell-3": {
+ "category": "xpcshell",
+ "extra_args": ["--total-chunks=3", "--this-chunk=3"],
+ },
+ "robocop-1": {
+ "category": "robocop",
+ "extra_args": ["--this-chunk=1"],
+ },
+ "robocop-2": {
+ "category": "robocop",
+ "extra_args": ["--this-chunk=2"],
+ },
+ "robocop-3": {
+ "category": "robocop",
+ "extra_args": ["--this-chunk=3"],
+ },
+ "robocop-4": {
+ "category": "robocop",
+ "extra_args": ["--this-chunk=4"],
+ },
+ }, # end of "test_definitions"
+ "download_minidump_stackwalk": True,
+ "default_blob_upload_servers": [
+ "https://blobupload.elasticbeanstalk.com",
+ ],
+ "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"),
+}
diff --git a/testing/mozharness/configs/android/androidarm_4_3-tc.py b/testing/mozharness/configs/android/androidarm_4_3-tc.py
new file mode 100644
index 000000000..dd87e6695
--- /dev/null
+++ b/testing/mozharness/configs/android/androidarm_4_3-tc.py
@@ -0,0 +1,10 @@
+config = {
+ # Additional Android 4.3 settings required when running in taskcluster.
+ "avds_dir": "/home/worker/workspace/build/.android",
+ "tooltool_cache": "/home/worker/tooltool_cache",
+ "download_tooltool": True,
+ "tooltool_servers": ['http://relengapi/tooltool/'],
+ "exes": {
+ 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb',
+ }
+}
diff --git a/testing/mozharness/configs/android/androidarm_4_3.py b/testing/mozharness/configs/android/androidarm_4_3.py
new file mode 100644
index 000000000..bae25fecc
--- /dev/null
+++ b/testing/mozharness/configs/android/androidarm_4_3.py
@@ -0,0 +1,383 @@
+import os
+
+config = {
+ "buildbot_json_path": "buildprops.json",
+ "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest",
+ "robocop_package_name": "org.mozilla.roboexample.test",
+ "marionette_address": "localhost:2828",
+ "marionette_test_manifest": "unit-tests.ini",
+ "tooltool_manifest_path": "testing/config/tooltool-manifests/androidarm_4_3/releng.manifest",
+ "tooltool_cache": "/builds/tooltool_cache",
+ "avds_dir": "/home/cltbld/.android",
+ "emulator_manifest": """
+ [
+ {
+ "size": 140097024,
+ "digest": "51781032335c09103e8509b1a558bf22a7119392cf1ea301c49c01bdf21ff0ceb37d260bc1c322cd9b903252429fb01830fc27e4632be30cd345c95bf4b1a39b",
+ "algorithm": "sha512",
+ "filename": "android-sdk_r24.0.2-linux.tgz",
+ "unpack": "True"
+ }
+ ] """,
+ "tools_manifest": """
+ [
+ {
+ "size": 193383673,
+ "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221",
+ "algorithm": "sha512",
+ "filename": "android-sdk18_0.r18moz1.orig.tar.gz",
+ "unpack": "True"
+ }
+ ] """,
+ "emulator_process_name": "emulator64-arm",
+ "emulator_extra_args": "-show-kernel -debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket",
+ "device_manager": "adb",
+ "exes": {
+ 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb',
+ 'python': '/tools/buildbot/bin/python',
+ 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'],
+ 'tooltool.py': "/tools/tooltool.py",
+ },
+ "env": {
+ "DISPLAY": ":0.0",
+ "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk-linux/tools:%(abs_work_dir)s/android-sdk18/platform-tools",
+ "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps"
+ },
+ "default_actions": [
+ 'clobber',
+ 'read-buildbot-config',
+ 'setup-avds',
+ 'start-emulator',
+ 'download-and-extract',
+ 'create-virtualenv',
+ 'verify-emulator',
+ 'install',
+ 'run-tests',
+ ],
+ "emulator": {
+ "name": "test-1",
+ "device_id": "emulator-5554",
+ "http_port": "8854", # starting http port to use for the mochitest server
+ "ssl_port": "4454", # starting ssl port to use for the server
+ "emulator_port": 5554,
+ },
+ "suite_definitions": {
+ "mochitest": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=adb",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--extra-profile-file=fonts",
+ "--extra-profile-file=hyphenation",
+ "--screenshot-on-fail",
+ "--total-chunks=20",
+ ],
+ },
+ "mochitest-gl": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=adb",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--screenshot-on-fail",
+ "--total-chunks=10",
+ "--subsuite=webgl",
+ ],
+ },
+ "mochitest-chrome": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=adb",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--extra-profile-file=fonts",
+ "--extra-profile-file=hyphenation",
+ "--screenshot-on-fail",
+ "--flavor=chrome",
+ ],
+ },
+ "mochitest-plain-gpu": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=adb",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--screenshot-on-fail",
+ "--subsuite=gpu",
+ ],
+ },
+ "mochitest-plain-clipboard": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=adb",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--screenshot-on-fail",
+ "--subsuite=clipboard",
+ ],
+ },
+ "mochitest-media": {
+ "run_filename": "runtestsremote.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=adb",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--screenshot-on-fail",
+ "--chunk-by-runtime",
+ "--total-chunks=2",
+ "--subsuite=media",
+ ],
+ },
+ "robocop": {
+ "run_filename": "runrobocop.py",
+ "testsdir": "mochitest",
+ "options": [
+ "--dm_trans=adb",
+ "--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--total-chunks=4",
+ "--robocop-apk=../../robocop.apk",
+ "--robocop-ini=robocop.ini",
+ ],
+ },
+ "reftest": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--dm_trans=adb",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--httpd-path", "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "--total-chunks=16",
+ "--extra-profile-file=fonts",
+ "--extra-profile-file=hyphenation",
+ "--suite=reftest",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ ],
+ "tests": ["tests/layout/reftests/reftest.list",],
+ },
+ "reftest-debug": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--dm_trans=adb",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--httpd-path", "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "--total-chunks=48",
+ "--extra-profile-file=fonts",
+ "--extra-profile-file=hyphenation",
+ "tests/layout/reftests/reftest.list",
+ ],
+ },
+ "crashtest": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--dm_trans=adb",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--httpd-path",
+ "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "--total-chunks=4",
+ "--suite=crashtest",
+ ],
+ "tests": ["tests/testing/crashtest/crashtests.list",],
+ },
+ "crashtest-debug": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--dm_trans=adb",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--httpd-path",
+ "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "--total-chunks=10",
+ "tests/testing/crashtest/crashtests.list",
+ ],
+ },
+ "jsreftest": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--dm_trans=adb",
+ "--remote-webserver=%(remote_webserver)s", "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s", "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s", "--httpd-path", "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "--total-chunks=6",
+ "--extra-profile-file=jsreftest/tests/user.js",
+ "--suite=jstestbrowser",
+ ],
+ "tests": ["../jsreftest/tests/jstests.list",],
+ },
+ "jsreftest-debug": {
+ "run_filename": "remotereftest.py",
+ "testsdir": "reftest",
+ "options": [
+ "--app=%(app)s",
+ "--ignore-window-size",
+ "--dm_trans=adb",
+ "--remote-webserver=%(remote_webserver)s", "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s", "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s", "--httpd-path", "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ "../jsreftest/tests/jstests.list",
+ "--total-chunks=20",
+ "--extra-profile-file=jsreftest/tests/user.js",
+ ],
+ },
+ "xpcshell": {
+ "run_filename": "remotexpcshelltests.py",
+ "testsdir": "xpcshell",
+ "install": False,
+ "options": [
+ "--dm_trans=adb",
+ "--xre-path=%(xre_path)s",
+ "--testing-modules-dir=%(modules_dir)s",
+ "--apk=%(installer_path)s",
+ "--no-logfiles",
+ "--symbols-path=%(symbols_path)s",
+ "--manifest=tests/xpcshell.ini",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--test-plugin-path=none",
+ "--total-chunks=3",
+ ],
+ },
+ "cppunittest": {
+ "run_filename": "remotecppunittests.py",
+ "testsdir": "cppunittest",
+ "install": False,
+ "options": [
+ "--symbols-path=%(symbols_path)s",
+ "--xre-path=%(xre_path)s",
+ "--dm_trans=adb",
+ "--localBinDir=../bin",
+ "--apk=%(installer_path)s",
+ ".",
+ ],
+ },
+ "marionette": {
+ "run_filename": os.path.join("harness", "marionette_harness", "runtests.py"),
+ "testsdir": "marionette",
+ "options": [
+ "--emulator",
+ "--app=fennec",
+ "--package=%(app)s",
+ "--address=%(address)s",
+ "%(test_manifest)s",
+ "--disable-e10s",
+ "--gecko-log=%(gecko_log)s",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--symbols-path=%(symbols_path)s",
+ "--startup-timeout=300",
+ ],
+ },
+
+ }, # end suite_definitions
+ "download_minidump_stackwalk": True,
+ "default_blob_upload_servers": [
+ "https://blobupload.elasticbeanstalk.com",
+ ],
+ "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"),
+}
diff --git a/testing/mozharness/configs/android/androidarm_dev.py b/testing/mozharness/configs/android/androidarm_dev.py
new file mode 100644
index 000000000..e4de6a9f2
--- /dev/null
+++ b/testing/mozharness/configs/android/androidarm_dev.py
@@ -0,0 +1,9 @@
+# This config contains dev values that will replace
+# the values specified in the production config
+# if specified like this (order matters):
+# --cfg android/androidarm.py
+# --cfg android/androidarm_dev.py
+import os
+config = {
+ "tooltool_cache_path": os.path.join(os.getenv("HOME"), "cache"),
+}
diff --git a/testing/mozharness/configs/android/androidx86-tc.py b/testing/mozharness/configs/android/androidx86-tc.py
new file mode 100644
index 000000000..8141b77f6
--- /dev/null
+++ b/testing/mozharness/configs/android/androidx86-tc.py
@@ -0,0 +1,73 @@
+import os
+
+config = {
+ "buildbot_json_path": "buildprops.json",
+ "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest",
+ "tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86/releng.manifest",
+ "tooltool_cache": "/home/worker/tooltool_cache",
+ "download_tooltool": True,
+ "tooltool_servers": ['http://relengapi/tooltool/'],
+ "avds_dir": "/home/worker/workspace/build/.android",
+ "emulator_manifest": """
+ [
+ {
+ "size": 193383673,
+ "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221",
+ "algorithm": "sha512",
+ "filename": "android-sdk18_0.r18moz1.orig.tar.gz",
+ "unpack": "True"
+ }
+ ] """,
+ "emulator_process_name": "emulator64-x86",
+ "emulator_extra_args": "-show-kernel -debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024",
+ "device_manager": "adb",
+ "exes": {
+ 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb',
+ },
+ "env": {
+ "DISPLAY": ":0.0",
+ "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools",
+ "MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps"
+ },
+ "default_actions": [
+ 'clobber',
+ 'read-buildbot-config',
+ 'setup-avds',
+ 'start-emulator',
+ 'download-and-extract',
+ 'create-virtualenv',
+ 'verify-emulator',
+ 'run-tests',
+ ],
+ "emulator": {
+ "name": "test-1",
+ "device_id": "emulator-5554",
+ "http_port": "8854", # starting http port to use for the mochitest server
+ "ssl_port": "4454", # starting ssl port to use for the server
+ "emulator_port": 5554,
+ },
+ "suite_definitions": {
+ "xpcshell": {
+ "run_filename": "remotexpcshelltests.py",
+ "testsdir": "xpcshell",
+ "install": False,
+ "options": [
+ "--dm_trans=adb",
+ "--xre-path=%(xre_path)s",
+ "--testing-modules-dir=%(modules_dir)s",
+ "--apk=%(installer_path)s",
+ "--no-logfiles",
+ "--symbols-path=%(symbols_path)s",
+ "--manifest=tests/xpcshell.ini",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--test-plugin-path=none",
+ ],
+ },
+ }, # end suite_definitions
+ "download_minidump_stackwalk": True,
+ "default_blob_upload_servers": [
+ "https://blobupload.elasticbeanstalk.com",
+ ],
+ "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"),
+}
diff --git a/testing/mozharness/configs/android/androidx86.py b/testing/mozharness/configs/android/androidx86.py
new file mode 100644
index 000000000..e74551d0a
--- /dev/null
+++ b/testing/mozharness/configs/android/androidx86.py
@@ -0,0 +1,182 @@
+import os
+
+config = {
+ "buildbot_json_path": "buildprops.json",
+ "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest",
+ "robocop_package_name": "org.mozilla.roboexample.test",
+ "device_ip": "127.0.0.1",
+ "tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86/releng.manifest",
+ "tooltool_cache": "/builds/tooltool_cache",
+ "avds_dir": "/home/cltbld/.android",
+ "emulator_manifest": """
+ [
+ {
+ "size": 193383673,
+ "digest": "6609e8b95db59c6a3ad60fc3dcfc358b2c8ec8b4dda4c2780eb439e1c5dcc5d550f2e47ce56ba14309363070078d09b5287e372f6e95686110ff8a2ef1838221",
+ "algorithm": "sha512",
+ "filename": "android-sdk18_0.r18moz1.orig.tar.gz",
+ "unpack": "True"
+ }
+ ] """,
+ "emulator_process_name": "emulator64-x86",
+ "emulator_extra_args": "-debug init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket -qemu -m 1024 -enable-kvm",
+ "device_manager": "adb",
+ "exes": {
+ 'adb': '%(abs_work_dir)s/android-sdk18/platform-tools/adb',
+ 'python': '/tools/buildbot/bin/python',
+ 'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'],
+ 'tooltool.py': "/tools/tooltool.py",
+ },
+ "env": {
+ "DISPLAY": ":0.0",
+ "PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk18/tools:%(abs_work_dir)s/android-sdk18/platform-tools",
+ },
+ "default_actions": [
+ 'clobber',
+ 'read-buildbot-config',
+ 'setup-avds',
+ 'start-emulators',
+ 'download-and-extract',
+ 'create-virtualenv',
+ 'install',
+ 'run-tests',
+ 'stop-emulators',
+ ],
+ "emulators": [
+ {
+ "name": "test-1",
+ "device_id": "emulator-5554",
+ "http_port": "8854", # starting http port to use for the mochitest server
+ "ssl_port": "4454", # starting ssl port to use for the server
+ "emulator_port": 5554,
+ },
+ {
+ "name": "test-2",
+ "device_id": "emulator-5556",
+ "http_port": "8856", # starting http port to use for the mochitest server
+ "ssl_port": "4456", # starting ssl port to use for the server
+ "emulator_port": 5556,
+ },
+ {
+ "name": "test-3",
+ "device_id": "emulator-5558",
+ "http_port": "8858", # starting http port to use for the mochitest server
+ "ssl_port": "4458", # starting ssl port to use for the server
+ "emulator_port": 5558,
+ },
+ {
+ "name": "test-4",
+ "device_id": "emulator-5560",
+ "http_port": "8860", # starting http port to use for the mochitest server
+ "ssl_port": "4460", # starting ssl port to use for the server
+ "emulator_port": 5560,
+ }
+ ],
+ "suite_definitions": {
+ "mochitest": {
+ "run_filename": "runtestsremote.py",
+ "options": ["--app=%(app)s",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--certificate-path=%(certs_path)s",
+ "--symbols-path=%(symbols_path)s",
+ "--quiet",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--screenshot-on-fail",
+ ],
+ },
+ "reftest": {
+ "run_filename": "remotereftest.py",
+ "options": ["--app=%(app)s",
+ "--ignore-window-size",
+ "--remote-webserver=%(remote_webserver)s",
+ "--xre-path=%(xre_path)s",
+ "--utility-path=%(utility_path)s",
+ "--http-port=%(http_port)s",
+ "--ssl-port=%(ssl_port)s",
+ "--httpd-path", "%(modules_dir)s",
+ "--symbols-path=%(symbols_path)s",
+ ],
+ },
+ "xpcshell": {
+ "run_filename": "remotexpcshelltests.py",
+ "options": ["--xre-path=%(xre_path)s",
+ "--testing-modules-dir=%(modules_dir)s",
+ "--apk=%(installer_path)s",
+ "--no-logfiles",
+ "--symbols-path=%(symbols_path)s",
+ "--manifest=tests/xpcshell.ini",
+ "--log-raw=%(raw_log_file)s",
+ "--log-errorsummary=%(error_summary_file)s",
+ "--test-plugin-path=none",
+ ],
+ },
+ }, # end suite_definitions
+ "test_suite_definitions": {
+ "jsreftest": {
+ "category": "reftest",
+ "tests": ["../jsreftest/tests/jstests.list"],
+ "extra_args": [
+ "--suite=jstestbrowser",
+ "--extra-profile-file=jsreftest/tests/user.js"
+ ]
+ },
+ "mochitest-1": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=2", "--this-chunk=1"],
+ },
+ "mochitest-2": {
+ "category": "mochitest",
+ "extra_args": ["--total-chunks=2", "--this-chunk=2"],
+ },
+ "mochitest-gl": {
+ "category": "mochitest",
+ "extra_args": ["--subsuite=webgl"],
+ },
+ "reftest-1": {
+ "category": "reftest",
+ "extra_args": [
+ "--suite=reftest",
+ "--total-chunks=3",
+ "--this-chunk=1",
+ ],
+ "tests": ["tests/layout/reftests/reftest.list"],
+ },
+ "reftest-2": {
+ "extra_args": [
+ "--suite=reftest",
+ "--total-chunks=3",
+ "--this-chunk=2",
+ ],
+ "tests": ["tests/layout/reftests/reftest.list"],
+ },
+ "reftest-3": {
+ "extra_args": [
+ "--suite=reftest",
+ "--total-chunks=3",
+ "--this-chunk=3",
+ ],
+ "tests": ["tests/layout/reftests/reftest.list"],
+ },
+ "crashtest": {
+ "category": "reftest",
+ "extra_args": ["--suite=crashtest"],
+ "tests": ["tests/testing/crashtest/crashtests.list"]
+ },
+ "xpcshell": {
+ "category": "xpcshell",
+ # XXX --manifest is superceded by testing/config/mozharness/android_x86_config.py.
+ # Remove when Gecko 35 no longer in tbpl.
+ "extra_args": ["--manifest=tests/xpcshell_android.ini"]
+ },
+ }, # end of "test_definitions"
+ "download_minidump_stackwalk": True,
+ "default_blob_upload_servers": [
+ "https://blobupload.elasticbeanstalk.com",
+ ],
+ "blob_uploader_auth_file" : os.path.join(os.getcwd(), "oauth.txt"),
+}