Commit Graph

1786 Commits

Author SHA1 Message Date
Kristen Wright
5db748537b Bug 1572244 - Print the MozCrashReason as 'Mozilla crash reason' r=ahal,gbrown
As an `INFO` line under the top crash message, output MozCrashReason in the format `Mozilla crash reason: SOME_CRASH_REASON()`. This doesn't affect the top line (for bug filing) but issues some extra info from the .extra file, which may be useful to report assertion failures on Android. The format used looks something like this:

```
20:43:14  WARNING -  PROCESS-CRASH | remoteautomation.py | application crashed [@ BackgroundEventTarget::Dispatch(already_AddRefed<nsIRunnable>, unsigned int)]
20:43:14     INFO -  Mozilla crash reason: MOZ_CRASH()
```

Differential Revision: https://phabricator.services.mozilla.com/D59751

--HG--
extra : moz-landing-system : lando
2020-01-31 13:17:30 +00:00
Kristen Wright
8c1f257dcd Bug 1605328 - Always print the crashing process dump file first r=gbrown
The list of crash dumps in the dump directory appears as something like `['uuid.dmp, uuid-browser.dmp']`. When iterating over the list of files, the files are always sorted alphabetically, meaning any `uuid-<something>.dmp` goes before `uuid.dmp`. We only really care that `uuid.dmp` comes first, as the rest are just additional data not necessarily related to the crashing process, so iterating the list in reverse should put the right .dmp file first.

Differential Revision: https://phabricator.services.mozilla.com/D61166

--HG--
extra : moz-landing-system : lando
2020-01-29 12:54:23 +00:00
Kristen Wright
c0aff2f5ef Bug 1572355 - Add a function to parse the .extra file r=ahal
Adds `parse_extra_file(path)` to simply read some json .extra file and return a json dict, or an empty dict if it raises a `ValueError`. In patches for Bug 1572244 this function is used.

Differential Revision: https://phabricator.services.mozilla.com/D59749

--HG--
extra : moz-landing-system : lando
2020-01-21 22:25:16 +00:00
Edwin Takahashi
1568067289 Bug 1609483 - ensure linux distributions that don't report os_version or codename have the field populated r=jmaher,gbrown
Changes:

`distro` and `platform` have differing behavior when presented with edgier cases such as Arch Linux.

In some cases, the output of `mozinfo.info` when run on Arch Linux comes out to:

```
(u'Arch Linux', '', '')
```

This causes problems for things that rely on mozinfo downstream because the `os_version` value is not set, and during the comparison stage of manifests, manifestparser attempts to run `somevalue > unset value` that then causes mach to error.

Differential Revision: https://phabricator.services.mozilla.com/D60462

--HG--
extra : moz-landing-system : lando
2020-01-21 18:19:41 +00:00
Tarek Ziadé
600d034817 Bug 1568092 - don't ignore tooltool_download() exit code and add a retry r=AlexandruIonescu,Bebe
This patch will check the exit code of the ProcessHandler() that
calls the tooltool script, and will also retry when it fails.

Differential Revision: https://phabricator.services.mozilla.com/D60397

--HG--
extra : moz-landing-system : lando
2020-01-21 07:17:05 +00:00
Florin Strugariu
427855983b Bug 1587387 Ignore error 572 when stoping mitmproxy r=tarek
Differential Revision: https://phabricator.services.mozilla.com/D59743

--HG--
extra : moz-landing-system : lando
2020-01-14 08:21:42 +00:00
Geoff Brown
5043f050ec Bug 1604542 - Make test chunking more consistent; r=ahal,jmaher
The issue here is that the sort order of 2 or more elements with the same key
is indeterminate: One run (say, one test chunk) may order them one way and another
run (another test chunk) may order them another. The chunk_by_manifest() filter
relies on sort order in two places, in both cases using list length as the key
for sorting; as equal list lengths are not uncommon, multiple runs can assign
very different lists of tests to the chunks, even though all the inputs are the
same. Extending keys with unique data provides a simple fix.

Differential Revision: https://phabricator.services.mozilla.com/D59227

--HG--
extra : moz-landing-system : lando
2020-01-09 19:14:59 +00:00
championshuttler
686ef45b08 Bug 1428705 - Fix the manifest file for manifestparser.r=egao
Differential Revision: https://phabricator.services.mozilla.com/D58690

--HG--
extra : moz-landing-system : lando
2020-01-07 18:50:11 +00:00
Bob Clary
36db61af8f Bug 1606378 - [mozdevice] Update version to 3.0.7, r=gbrown.
Depends on D59130

Differential Revision: https://phabricator.services.mozilla.com/D59131

--HG--
extra : moz-landing-system : lando
2020-01-08 16:11:33 +00:00
Bob Clary
c875ef7713 Bug 1606378 - [mozdevice] Do not use message property of exception objects, r=gbrown.
To work around the lack of Exception.message in Python 3, I've switched adb.py to using str(e) instead of e.message where we either output or check for a substring in the exception message. This doesn't not work for cases where we want to do an equality comparison but fortunately adb.py does not use exact comparisons.

Differential Revision: https://phabricator.services.mozilla.com/D59130

--HG--
extra : moz-landing-system : lando
2020-01-08 16:13:06 +00:00
Jeff Gilbert
dfde69a462 Bug 1585683 - Add mochitest-webgpu jobs, add subsuite = webgpu. r=jmaher,kvark
Differential Revision: https://phabricator.services.mozilla.com/D58892

--HG--
extra : moz-landing-system : lando
2020-01-07 22:42:07 +00:00
Bogdan Tara
c0e1f5a876 Backed out changeset 33ccfb45bb3f (bug 1585683) on jgilbert's request 2020-01-07 23:21:45 +02:00
Ricky Stewart
a637967924 Bug 1606728 - mozfile.which() should consult the registry for registered binaries r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D58562

--HG--
extra : moz-landing-system : lando
2020-01-07 19:33:23 +00:00
Jeff Gilbert
4d2067b9ca Bug 1585683 - Add mochitest-webgpu jobs, add subsuite = webgpu. r=jmaher,kvark
Differential Revision: https://phabricator.services.mozilla.com/D58892

--HG--
extra : moz-landing-system : lando
2020-01-07 20:58:37 +00:00
Geoff Brown
7473ead2b4 Bug 1606954 - Avoid KeyError in android arm 'mach install' r=jmaher
AVD names were updated in bug 1599534, but this case - auto-selecting an avd for an arm
build - was missed.

Differential Revision: https://phabricator.services.mozilla.com/D58694

--HG--
extra : moz-landing-system : lando
2020-01-04 21:54:51 +00:00
Andrew Halberstadt
2f2d1f7fc1 Bug 1604360 - [manifestparser] Remove mention of 'server-root' from the docs, r=egao
Differential Revision: https://phabricator.services.mozilla.com/D58791

--HG--
extra : moz-landing-system : lando
2020-01-06 18:21:30 +00:00
James Graham
0bdbadefa3 Bug 1605731 - Fix assertion in mach formatter with multiple repetitions of suite, r=ahal
When we run a suite more than once we can get more than one result for
a test. Iterate over all results when writing the summary rather than
erroring out in this case.

Probably a better solution would be to only write the result from the
current run, but we don't necessarily know what that is, since it's
not tracked by the SummaryHandler.

Differential Revision: https://phabricator.services.mozilla.com/D58133

--HG--
extra : moz-landing-system : lando
2020-01-02 21:21:09 +00:00
Geoff Brown
dcb3e57282 Bug 1598920 - Enable android_device.py to find file paths regardless of cwd; r=jgraham
Join <topsrcdir> with MANIFEST_PATH in android_device.py. I was concerned about TOOLTOOL_PATH
also, but that is already consistently joined with <topsrcdir> before use. I think these
are the only cases that needed attention.

Differential Revision: https://phabricator.services.mozilla.com/D58548

--HG--
extra : moz-landing-system : lando
2020-01-02 18:52:53 +00:00
James Graham
512caca24e Bug 1605381 - Schedule wpt crashtests in CI, r=ahal
This is a new test type identified by --test-type=crashtest

Differential Revision: https://phabricator.services.mozilla.com/D57981

--HG--
extra : moz-landing-system : lando
2020-01-02 17:13:54 +00:00
Edwin Takahashi
fd9fae78a2 Bug 1428705 - use assertEqual in test_manifest.py and add formal python3 compatibility in setup.py for manifestparser r=Callek
Changes:

Change assert from `assertEquals` to `assertEqual` since the former has been technically deprecated as of 2.7.
Add python3 compatibility in `setup.py`.

This should be the last item to bring full python3 compatibility to manifestparser.

Differential Revision: https://phabricator.services.mozilla.com/D58208

--HG--
extra : moz-landing-system : lando
2019-12-26 13:28:53 +00:00
Andrew Halberstadt
b9e9d2e942 Bug 1603844 - Remove ability to 'install-to-subdir' from test objects, r=firefox-build-system-reviewers,rstewart
There was only a single use of 'install-to-subdir' in all our manifests (which
was removed in the previous commit). All the comments around it suggest that it
was a giant hack. Removing it cleans up a lot of complexity and saves me the
trouble of needing to support it in the new sourcedir based TestResolver.

Differential Revision: https://phabricator.services.mozilla.com/D57170

--HG--
extra : moz-landing-system : lando
2019-12-18 16:48:00 +00:00
Andrew Halberstadt
8ced09349b Bug 1603844 - [manifestparser] Merge 'prefs' from defaults instead of overwriting them, r=gbrown
While the 'prefs' key can only exist in the DEFAULT section of manifests, this
allows parent manifests to propagate their prefs down to included ones.

Differential Revision: https://phabricator.services.mozilla.com/D57635

--HG--
extra : moz-landing-system : lando
2019-12-19 17:31:27 +00:00
Andrew Halberstadt
d278f4494d Bug 1604360 - [manifestparser] Version bump to 2.0.0, r=egao
Since we made backwards incompatible changes, let's do a major version bump.

Differential Revision: https://phabricator.services.mozilla.com/D57478

--HG--
extra : moz-landing-system : lando
2019-12-20 15:53:42 +00:00
Andrew Halberstadt
d98bab47bb Bug 1604901 - [mozprocess] Version bump to 1.1.0, r=gbrown
Perusing the changelog, the differences since last version bump are mostly
centered around ironing Python 3 issues. Nothing that should be backwards
incompatible, but larger changes than a dot release might warrant. So bumping
the minor version.

Differential Revision: https://phabricator.services.mozilla.com/D57854

--HG--
extra : moz-landing-system : lando
2019-12-19 19:43:57 +00:00
Sebastian Hengst
927bcd02f8 Bug 1604001 - Add the missing process type of the fork server for tests: fix flake8 linting issue. a=lint-fix CLOSED TREE 2019-12-19 19:52:48 +01:00
Thinker Li
238a08c7d3 Bug 1604001 - Add the missing process type of the fork server for tests. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D57218

--HG--
extra : moz-landing-system : lando
2019-12-19 15:50:03 +00:00
Andrew Halberstadt
e6f858b2fb Bug 1604360 - [manifestparser] Properly merge [DEFAULT] section of manifest with parent defaults r=gbrown
Previously the [DEFAULT] section of a manifest would simply overwrite whatever
values were passed down from the parent. This patch ensures we use
'combine_fields' so things like 'skip-if' and 'support-files' are properly
merged.

Differential Revision: https://phabricator.services.mozilla.com/D57410

--HG--
extra : moz-landing-system : lando
2019-12-18 23:54:26 +00:00
Andrew Halberstadt
4c525b8a42 Bug 1604360 - [manifestparser] Convert 'test_read_ini' to the pytest format r=egao
Make it nicer to read and edit.

Depends on D57408

Differential Revision: https://phabricator.services.mozilla.com/D57409

--HG--
extra : moz-landing-system : lando
2019-12-18 22:19:46 +00:00
Andrew Halberstadt
2f17f15aab Bug 1604360 - [manifestparser] Remove unused 'defaults_only' logic r=egao
This flag is not passed in from anywhere in mozilla-central.

Differential Revision: https://phabricator.services.mozilla.com/D57408

--HG--
extra : moz-landing-system : lando
2019-12-17 22:19:28 +00:00
Andrew Halberstadt
f360e451f9 Bug 1604360 - [manifestparser] Remove unused 'parent' feature r=egao
There aren't any manifests using '[parent:<manifest>]' in mozilla-central.

Depends on D57406

Differential Revision: https://phabricator.services.mozilla.com/D57407

--HG--
extra : moz-landing-system : lando
2019-12-17 18:14:04 +00:00
Andrew Halberstadt
0e2a4f08b4 Bug 1604360 - [manifestparser] Remove unused treatment of 'server-root' key r=egao
This was probably a remnant from Mozmill. I don't see any uses of it in mozilla-central
anywhere (or even comm-central for that matter).

Depends on D57405

Differential Revision: https://phabricator.services.mozilla.com/D57406

--HG--
extra : moz-landing-system : lando
2019-12-17 18:13:42 +00:00
Edwin Takahashi
dc60cf7e90 Bug 1428705 - fix manifestparser/test_chunking.py for python3 r=ahal,whimboo
Changes:

Fix syntax in the test file to work under python3.

Assorted changes to the code style, and eliminating unnecessary warnings.

Differential Revision: https://phabricator.services.mozilla.com/D56803

--HG--
extra : moz-landing-system : lando
2019-12-18 22:18:55 +00:00
Andrew Halberstadt
c64802ef87 Bug 1583353 - [manifestparser] Take 'ancestor_manifest' into account in the pathprefix filter, r=gbrown
Previously, when running |mach mochitest path/to/manifest.ini|, any tests in
manifests that that one includes would not be run.

This fixes that behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D57164

--HG--
extra : moz-landing-system : lando
2019-12-13 23:09:54 +00:00
Edwin Takahashi
e6e05ff21c Bug 1428705 - fix manifestparser/manifestparser for python3 and enable test_convert_directory.py r=ahal
Changes:

Import the appropriate version of `StringIO` instead of `BytesIO` depending on the version of python, and use it in `manifestparser.py`.

This is required for `test_convert_directory.py` to pass on both python versions. Changes to the test was not required.

Differential Revision: https://phabricator.services.mozilla.com/D56865

--HG--
extra : moz-landing-system : lando
2019-12-14 03:10:45 +00:00
Andrew Halberstadt
26e9db86f8 Bug 1583353 - [taskgraph] Implement test chunking in transforms r=gbrown
We've long handled chunks by defining the total number of chunks in our CI
configuration, and then passing that value down into the test harnesses at task
runtime (via the '--this-chunk' and '--total-chunks' parameters).  The test
harness then runs an algorithm to determine which tests should be run in "this"
chunk.

There are several problems with this approach, but by far the biggest is that
we can't use test information in our scheduling algorithms. The information
simply isn't available yet. This patch switches things around such that we
determine which tests go in which tasks during the taskgraph generation. This
means we have perfect information around which tasks are running which tests,
and if e.g a ccov or machine learning algorithm deems a particular test
important, we can make sure to *only* schedule the tasks that contain that
test.

I'm planning to enable this a couple suites at a time so we don't accidentally
stop running tests. This specifically only enables this mode for
'mochitest-media', 'mochitest-browser-chrome' and 'mochitest-devtools-chrome'.
I chose these suites because they are the ones that are already using the
'chunk_by_runtime' algorithm.

Differential Revision: https://phabricator.services.mozilla.com/D52729

--HG--
extra : moz-landing-system : lando
2019-12-11 21:10:48 +00:00
Florin Strugariu
9696f02d54 Bug 1585456 - [mozproxy] Error out when mozproxy can't bind to port r=tarek,perftest-reviewers,davehunt
Differential Revision: https://phabricator.services.mozilla.com/D50594

--HG--
extra : moz-landing-system : lando
2019-12-11 10:07:28 +00:00
Geoff Brown
3f66236867 Bug 1599534 - Update help and version names for 'mach android-emulator'; r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D54802

--HG--
extra : moz-landing-system : lando
2019-12-10 23:07:59 +00:00
Gijs Kruitbosch
758921e735 Bug 1543447 - disable stack walking on mac for non-automation uses of mozrunner because of perf issues, r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D56513

--HG--
extra : moz-landing-system : lando
2019-12-10 02:19:47 +00:00
Edwin Takahashi
a54f1b1dae Bug 1428705 - [manifestparser] Add support for Python 3. r=egao
Differential Revision: https://phabricator.services.mozilla.com/D54113

--HG--
extra : moz-landing-system : lando
2019-12-06 22:25:58 +00:00
Mike Hommey
4b7d2e300b Bug 1601544 - Upgrade mozversion to semver 0.9. r=whimboo
This was the only use of semver 0.6.

Differential Revision: https://phabricator.services.mozilla.com/D55921

--HG--
extra : moz-landing-system : lando
2019-12-05 09:21:58 +00:00
Andrew Halberstadt
e68e5e2ee6 Bug 1600314 - [manifestparser] Use 'ancestor_manifest' in the 'chunk_by_runtime' filter (if it exists), r=gbrown
Ensures child (aka included) manifests always run in the same chunk as their parent.

Differential Revision: https://phabricator.services.mozilla.com/D55284

--HG--
extra : moz-landing-system : lando
2019-12-03 14:23:32 +00:00
Andrew Halberstadt
9e97c79054 Bug 1600314 - [manifestparser] Make 'ancestor_manifest' a relative path, r=gbrown
Also rename the key from 'ancestor-manifest' to 'ancestor_manifest' to be
consistent with other keys.

Differential Revision: https://phabricator.services.mozilla.com/D55283

--HG--
extra : moz-landing-system : lando
2019-12-02 21:19:45 +00:00
Nathan Froyd
a36959414d Bug 1600771 - turn on --show-mismatched-frees=no for valgrind tests; r=jseward
Otherwise, Valgrind is liable to see false positives from mismatched
`new` where the `delete` has been inlined to `free` or vice versa.

Differential Revision: https://phabricator.services.mozilla.com/D55553

--HG--
extra : moz-landing-system : lando
2019-12-03 13:32:27 +00:00
Geoff Brown
d2bcfce6f8 Bug 1600713 - Grant FOREGROUND_SERVICE permission to android test apps; r=bc
Simple addition of one item to list of granted permissions, for Android P+; see bug 1553515.

Differential Revision: https://phabricator.services.mozilla.com/D55561

--HG--
extra : moz-landing-system : lando
2019-12-02 23:17:40 +00:00
Mihai Alexandru Michis
3f8e4cc2e1 Backed out 3 changesets (bug 1600314) for causing bc and dt failures regarding manifest filters. CLOSED TREE
Backed out changeset 4c4e74df38bd (bug 1600314)
Backed out changeset 3c4063b93ce7 (bug 1600314)
Backed out changeset d28d71c964c7 (bug 1600314)
2019-12-02 16:44:35 +02:00
Andrew Halberstadt
8c10901652 Bug 1600314 - [manifestparser] Use 'ancestor_manifest' in the 'chunk_by_runtime' filter (if it exists), r=gbrown
Ensures child (aka included) manifests always run in the same chunk as their parent.

Differential Revision: https://phabricator.services.mozilla.com/D55284

--HG--
extra : moz-landing-system : lando
2019-12-02 14:24:30 +00:00
Andrew Halberstadt
c66002dc20 Bug 1600314 - [manifestparser] Make 'ancestor_manifest' a relative path, r=gbrown
Also rename the key from 'ancestor-manifest' to 'ancestor_manifest' to be
consistent with other keys.

Differential Revision: https://phabricator.services.mozilla.com/D55283

--HG--
extra : moz-landing-system : lando
2019-11-29 16:16:09 +00:00
Edwin Takahashi
58c1a14caa Bug 1428718 - make moztest syntax python3 compatible r=gbrown,mozbase
Changes:

Replace `<list>.items()` calls with `six.iteritems()`.

Remove `try/except` handling of `unittest` import as we have standardized on python2.7 in CI.

Use `six` to handle metaclass changes while python2/3 intercompatibility is required.

Differential Revision: https://phabricator.services.mozilla.com/D54376

--HG--
extra : moz-landing-system : lando
2019-11-27 21:12:18 +00:00
Andrew Halberstadt
434b6657f5 Bug 1583364 - [manifestparser] Fix regression to ChunkByManifest filter, r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D54369

--HG--
extra : moz-landing-system : lando
2019-11-27 14:07:54 +00:00
Andrew Halberstadt
c531d1a91a Bug 1583364 - Generate 'manifest-runtimes.json' and update mochitest harness to use it, r=gbrown
As a side-effect this will also update runtime data for all suites using
'--chunk-by-runtime'.

This change simultaneously:

1. Stores runtime data from all suites
2. Stores runtime data from all tests (no more percentile)
3. Stores distinct data for android, unix (osx/linux) and windows
4. Reduces the size of 'testing/runtimes' from 408k -> 168k

The chunks look more balanced from my unscientific glance (especially on Windows).

Differential Revision: https://phabricator.services.mozilla.com/D53702

--HG--
extra : moz-landing-system : lando
2019-11-23 05:29:32 +00:00