diff --git a/testing/mozharness/configs/android/android_common.py b/testing/mozharness/configs/android/android_common.py index 452fe3875a5f..ce1afe923cb7 100644 --- a/testing/mozharness/configs/android/android_common.py +++ b/testing/mozharness/configs/android/android_common.py @@ -15,13 +15,18 @@ def WebglSuite(name): "--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-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--screenshot-on-fail", "--subsuite=" + name, + "--deviceSerial=%(device_serial)s", ], } @@ -42,6 +47,8 @@ config = { "hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest", "avds_dir": "/builds/worker/workspace/build/.android", "log_format": "%(levelname)8s - %(message)s", + "log_tbpl_level": "info", + "log_raw_level": "info", "minidump_stackwalk_path": "/usr/local/bin/linux64-minidump_stackwalk", "marionette_address": "localhost:2828", "marionette_test_manifest": "unit-tests.ini", @@ -55,14 +62,19 @@ config = { "--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-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--extra-profile-file=fonts", "--extra-profile-file=hyphenation", "--screenshot-on-fail", + "--deviceSerial=%(device_serial)s", ], }, "mochitest-webgl1-core": WebglSuite("webgl1-core"), @@ -78,15 +90,20 @@ config = { "--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-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--extra-profile-file=fonts", "--extra-profile-file=hyphenation", "--screenshot-on-fail", "--flavor=chrome", + "--deviceSerial=%(device_serial)s", ], }, "mochitest-plain-gpu": { @@ -97,13 +114,18 @@ config = { "--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-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--screenshot-on-fail", "--subsuite=gpu", + "--deviceSerial=%(device_serial)s", ], }, "mochitest-plain-clipboard": { @@ -114,13 +136,18 @@ config = { "--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-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--screenshot-on-fail", "--subsuite=clipboard", + "--deviceSerial=%(device_serial)s", ], }, "mochitest-media": { @@ -131,14 +158,19 @@ config = { "--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-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--screenshot-on-fail", "--chunk-by-runtime", "--subsuite=media", + "--deviceSerial=%(device_serial)s", ], }, "robocop": { @@ -153,8 +185,11 @@ config = { "--symbols-path=%(symbols_path)s", "--quiet", "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--robocop-apk=../../robocop.apk", + "--deviceSerial=%(device_serial)s", ], }, "reftest": { @@ -166,13 +201,18 @@ config = { "--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", "--extra-profile-file=fonts", "--extra-profile-file=hyphenation", "--suite=reftest", "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", + "--deviceSerial=%(device_serial)s", ], "tests": ["tests/layout/reftests/reftest.list",], }, @@ -185,10 +225,14 @@ config = { "--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", "--suite=crashtest", + "--log-tbpl-level=%(log_tbpl_level)s", + "--deviceSerial=%(device_serial)s", ], "tests": ["tests/testing/crashtest/crashtests.list",], }, @@ -205,6 +249,7 @@ config = { "--no-progress", "--format=automation", "--jitflags=all", + "--deviceSerial=%(device_serial)s", ], }, "jsreftest": { @@ -214,11 +259,13 @@ config = { "--app=%(app)s", "--ignore-window-size", "--remote-webserver=%(remote_webserver)s", "--xre-path=%(xre_path)s", - "--utility-path=%(utility_path)s", - "--httpd-path", "%(modules_dir)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", "--extra-profile-file=jsreftest/tests/user.js", "--suite=jstestbrowser", + "--log-tbpl-level=%(log_tbpl_level)s", + "--deviceSerial=%(device_serial)s", ], "tests": ["../jsreftest/tests/jstests.list",], }, @@ -234,8 +281,11 @@ config = { "--symbols-path=%(symbols_path)s", "--manifest=tests/xpcshell.ini", "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--test-plugin-path=none", + "--deviceSerial=%(device_serial)s", ], }, "cppunittest": { @@ -248,24 +298,28 @@ config = { "--localBinDir=../bin", "--apk=%(installer_path)s", ".", + "--deviceSerial=%(device_serial)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=%(gecko_log)s", "-vv", "--log-raw=%(raw_log_file)s", + "--log-raw-level=%(log_raw_level)s", "--log-errorsummary=%(error_summary_file)s", + "--log-tbpl-level=%(log_tbpl_level)s", "--symbols-path=%(symbols_path)s", "--startup-timeout=300", + "--device=%(device_serial)s", + "%(marionette_extra)s", ], }, "geckoview": { @@ -274,6 +328,7 @@ config = { "options": [ "--utility-path=%(utility_path)s", "--symbols-path=%(symbols_path)s", + "--deviceSerial=%(device_serial)s", ], }, "geckoview-junit": { @@ -284,6 +339,7 @@ config = { "--remote-webserver=%(remote_webserver)s", "--symbols-path=%(symbols_path)s", "--utility-path=%(utility_path)s", + "--deviceSerial=%(device_serial)s", ], }, diff --git a/testing/mozharness/configs/android/androidarm_4_3.py b/testing/mozharness/configs/android/androidarm_4_3.py index 92b651be67fa..4d9bcc9bb804 100644 --- a/testing/mozharness/configs/android/androidarm_4_3.py +++ b/testing/mozharness/configs/android/androidarm_4_3.py @@ -31,4 +31,5 @@ config = { "name": "test-1", "device_id": "emulator-5554", }, + "marionette_extra": "--emulator" } diff --git a/testing/mozharness/configs/android/androidx86_7_0.py b/testing/mozharness/configs/android/androidx86_7_0.py index 547449b386dd..9302234b2396 100644 --- a/testing/mozharness/configs/android/androidx86_7_0.py +++ b/testing/mozharness/configs/android/androidx86_7_0.py @@ -31,4 +31,5 @@ config = { "name": "test-1", "device_id": "emulator-5554", }, + "marionette_extra": "--emulator" } diff --git a/testing/mozharness/scripts/android_emulator_unittest.py b/testing/mozharness/scripts/android_emulator_unittest.py index eac22eea02c7..25ba9c564f01 100644 --- a/testing/mozharness/scripts/android_emulator_unittest.py +++ b/testing/mozharness/scripts/android_emulator_unittest.py @@ -56,6 +56,20 @@ class AndroidEmulatorTest(TestingMixin, BaseScript, MozbaseMixin, CodeCoverageMi "default": None, "help": "Number of this chunk", } + ], [ + ["--log-raw-level"], + {"action": "store", + "dest": "log_raw_level", + "default": "info", + "help": "Set log level (debug|info|warning|error|critical|fatal)", + } + ], [ + ["--log-tbpl-level"], + {"action": "store", + "dest": "log_tbpl_level", + "default": "info", + "help": "Set log level (debug|info|warning|error|critical|fatal)", + } ]] + copy.deepcopy(testing_config_options) app_name = None @@ -103,6 +117,9 @@ class AndroidEmulatorTest(TestingMixin, BaseScript, MozbaseMixin, CodeCoverageMi self.this_chunk = m.group(2) self.sdk_level = None self.xre_path = None + self.device_serial = 'emulator-5554' + self.log_raw_level = c.get('log_raw_level') + self.log_tbpl_level = c.get('log_tbpl_level') def query_abs_dirs(self): if self.abs_dirs: @@ -402,10 +419,13 @@ class AndroidEmulatorTest(TestingMixin, BaseScript, MozbaseMixin, CodeCoverageMi error_summary_file = os.path.join(dirs['abs_blob_upload_dir'], '%s_errorsummary.log' % self.test_suite) str_format_values = { + 'device_serial': self.device_serial, # IP address of the host as seen from the emulator 'remote_webserver': '10.0.2.2', 'xre_path': self.xre_path, 'utility_path': self.xre_path, + 'http_port': '8854', # starting http port to use for the mochitest server + 'ssl_port': '4454', # starting ssl port to use for the server 'certs_path': os.path.join(dirs['abs_work_dir'], 'tests/certs'), # TestingMixin._download_and_extract_symbols() will set # self.symbols_path when downloading/extracting. @@ -413,9 +433,13 @@ class AndroidEmulatorTest(TestingMixin, BaseScript, MozbaseMixin, CodeCoverageMi 'modules_dir': dirs['abs_modules_dir'], 'installer_path': self.installer_path, 'raw_log_file': raw_log_file, + 'log_tbpl_level': self.log_tbpl_level, + 'log_raw_level': self.log_raw_level, 'error_summary_file': error_summary_file, + 'gecko_log': '-', # marionette options 'address': c.get('marionette_address'), + 'marionette_extra': c.get('marionette_extra', ''), 'test_manifest': os.path.join( dirs['abs_marionette_tests_dir'], self.config.get('marionette_test_manifest', '')