Fetch, configure, and run node for Android on the test host, just like Linux tests do.
Make the node/HTTP/2 environment variables available to the tests on the device, and
use adb port forwarding to connect sockets. Finally, enable tests skipped for node.
Differential Revision: https://phabricator.services.mozilla.com/D60204
--HG--
extra : moz-landing-system : lando
Fetch, configure, and run node for Android on the test host, just like Linux tests do.
Make the node/HTTP/2 environment variables available to the tests on the device, and
use adb port forwarding to connect sockets. Finally, enable tests skipped for node.
Differential Revision: https://phabricator.services.mozilla.com/D60204
--HG--
extra : moz-landing-system : lando
Use test identifiers that look like posix-compliant relative file paths rather than URLs; identifier "paths" are relative to topsrcdir -- an intuitive, brief mapping from identifier to test file.
This patch adds (expands) a --topsrcdir option to runreftest.py and updates CI configuration to set it appropriately. runreftest.py calculates a manifest ID, a path relative to topsrcdir, for each requested manifest and passes those manifest IDs to manifest.jsm. In manifest.jsm, a new manifest ID is generated when a manifest is included from a new directory. Test identifiers are generated by adding the test file name to the manifest ID.
Examples (url -> identifier):
- file:///builds/worker/workspace/build/tests/reftest/tests/dom/svg/crashtests/398926-fill.svg -> dom/svg/crashtests/398926-fill.svg
- file:///Z:/task_1577755655/build/tests/reftest/tests/dom/svg/crashtests/398926-fill.svg -> dom/svg/crashtests/398926-fill.svg
- http://10.7.205.207:8854/tests/dom/svg/crashtests/398926-fill.svg -> dom/svg/crashtests/398926-fill.svg
- file:///builds/worker/workspace/build/tests/jsreftest/tests/js/src/tests/jsreftest.html?test=test262/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-31.js -> js/src/tests/test262/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-31.js
- chrome://reftest/content/bugs/299837-2.xhtml -> layout/reftests/bugs/299837-2.xhtml
- http://localhost:36067/1577754972876/1/289480.html#top -> layout/reftests/bugs/289480.html#top
- about:blank -> about:blank
- data:text/html,<body> -> data:text/html,<body>
Differential Revision: https://phabricator.services.mozilla.com/D58415
--HG--
extra : moz-landing-system : lando
Stop dumping device 'ps' output to the test log since the information is available elsewhere
(android-performance.log) and since this call is associated with intermittent hangs.
I do not have a good explanation for the hangs: The same shell_output('ps') call is used
for android-performance.log, without any known failures. Something about dumping many lines
of output in one info() call?
Differential Revision: https://phabricator.services.mozilla.com/D58168
--HG--
extra : moz-landing-system : lando
Most Android mozharness scripts define self.xre_path, but some, like android_wrench.py may not
(wrench has no other need for host-utils); now we explicitly allow for that.
Differential Revision: https://phabricator.services.mozilla.com/D58560
--HG--
extra : moz-landing-system : lando
Changes:
Handle the import of `urllib`/`urllib2` modules properly.
Make the exception handling python2/3 compatible.
Fix print statements.
Differential Revision: https://phabricator.services.mozilla.com/D58479
--HG--
extra : moz-landing-system : lando
Changes:
Fix syntax issues preventing gittools.py from being python3 compatible.
Differential Revision: https://phabricator.services.mozilla.com/D58475
--HG--
extra : moz-landing-system : lando
Changes:
As part of python3 compatibility work, remove files that are no longer being used as far as I can tell (looking in searchfox).
Differential Revision: https://phabricator.services.mozilla.com/D58472
--HG--
extra : moz-landing-system : lando
Changes:
Bring this file up to python3 standards.
This file is used indirectly in the `iris(av)` tests.
Differential Revision: https://phabricator.services.mozilla.com/D58474
--HG--
extra : moz-landing-system : lando
Changes:
Change the python version used in mozharness testing to python3.6 as that's what the `linter` docker image has, not `python3.5`.
Promote the tier of mozharness-py3 test to tier 1 and run it on all repositories to ensure python3 compatibility for future changes.
Differential Revision: https://phabricator.services.mozilla.com/D58209
--HG--
extra : moz-landing-system : lando
Previously, raptor mozharness jobs always exited with the return code of the
raptor test harness. With this patch, the mozharness job will exit with the
return code of the log parser, if the parser detects an error. This enables,
for example, exiting with TBPL_RETRY and triggering a task retry when the
test harness reports an ADBTimeoutError or similar.
Differential Revision: https://phabricator.services.mozilla.com/D58011
--HG--
extra : moz-landing-system : lando
I noticed the version of `hg` used by mozharness tests is rather
old. This commit upgrades to version 5.2.1 (the latest).
Differential Revision: https://phabricator.services.mozilla.com/D58055
--HG--
extra : moz-landing-system : lando
This commit vendors `robustcheckout` from commit ff8a7c9c843a9c in
version-control-tools. Updates include the removal of some dead code,
compatibility with the latest Mercurial, and Python 3 compatibility.
Differential Revision: https://phabricator.services.mozilla.com/D57836
--HG--
extra : moz-landing-system : lando
This commit vendors `robustcheckout` from commit ff8a7c9c843a9c in
version-control-tools. Updates include the removal of some dead code,
compatibility with the latest Mercurial, and Python 3 compatibility.
Differential Revision: https://phabricator.services.mozilla.com/D57836
--HG--
extra : moz-landing-system : lando
Enable using the 'settled' conditioned profile for geckoview and fenix apps.
Differential Revision: https://phabricator.services.mozilla.com/D55408
--HG--
extra : moz-landing-system : lando
Changes:
Ensure that code is iterating through a list and only attempt to perform `decode` if the item being iterated supports such action.
Differential Revision: https://phabricator.services.mozilla.com/D57196
--HG--
extra : moz-landing-system : lando
Changes:
Due to changes in `subprocess.Popen` return values in python3, it makes sense to check first if the line is a decodable type prior to attempting such action.
This change will resolve the following failure when tests are run in python3:
```
======================================================================
2) ERROR: test_get_output_from_command (test_base_script.TestHelperFunctions)
----------------------------------------------------------------------
Traceback (most recent call last):
test/test_base_script.py line 370 in test_get_output_from_command
contents = self.s.get_output_from_command(["bash", "-c", "cat %s" % self.temp_file])
mozharness/base/script.py line 1658 in get_output_from_command
line = line.decode("utf-8")
AttributeError: 'str' object has no attribute 'decode'
-------------------- >> begin captured logging << --------------------
root: INFO: ConsoleLogger online at 20191215 00:24:05Z in /Users/egao/mozilla-central/testing/mozharness
root: INFO: Run as .tox/py35-hg4.3/bin/nosetests -v --with-xunit --rednose --force-color
root: INFO: Getting output from command: ['bash', '-c', 'cat test_dir/mozilla']
root: INFO: Copy/paste: bash -c "cat test_dir/mozilla"
root: INFO: Reading from file tmpfile_stdout
root: INFO: Output received:
--------------------- >> end captured logging << ---------------------
```
Differential Revision: https://phabricator.services.mozilla.com/D57225
--HG--
extra : moz-landing-system : lando
Changes:
In `testing/mozharness/mozharness/base/parallel.py` the division operator is a single slash, which used to perform an integer division in python2 if both inputs were integers (which in this case is true).
However in python3 the same operator now does float division.
To preserve the behavior of the integer division that work on both platforms, a `//` is used.
Differential Revision: https://phabricator.services.mozilla.com/D57069
--HG--
extra : moz-landing-system : lando
Changes:
Replace the `execfile` call with a cross-compatible version of the call.
Differential Revision: https://phabricator.services.mozilla.com/D57039
--HG--
extra : moz-landing-system : lando
Changes:
In python3, the `dictionary.keys()` call no longer returns a list, but a view. The test requires that the output be sortable, so wrap it in a `list()` call to ensure sortability.
Differential Revision: https://phabricator.services.mozilla.com/D57045
--HG--
extra : moz-landing-system : lando