In Py2, None compares as less than all strings and numbers.
In Py3, None isn't comparable with < to strings or numbers.
For unset variables, use "" as the value for the purposes of parsing manifest expressions.
Differential Revision: https://phabricator.services.mozilla.com/D76134
When people do Python 3 work and encounter an exception on this line, their first instinct is to do a `blame` and then NI me on the bug (which, fair enough). However when this particular issue is encountered it's usually that the `ProcessHandler` API is being invoked incorrectly and the process isn't being opened in the correct mode. Here we dump an error message to the screen immediately before the exception is thrown to hopefully point people working on dependencies of bug 1577599 on the right path.
Differential Revision: https://phabricator.services.mozilla.com/D77684
Changes:
- for web-platform-tests codepath, no longer perform filtering of the runtimes information to a list of key:value.
- for web-platform-tests codepath, load runtimes information into an OrderedDict in order from highest to lowest runtime.
- if any test paths remain after initial chunking by runtime information, distribute such paths across all chunks.
Differential Revision: https://phabricator.services.mozilla.com/D76538
Changes:
Update `writeruntimes` script so that each suite is in its own nested dictionary and add the ability to query `web-platform-tests-reftest`.
Differential Revision: https://phabricator.services.mozilla.com/D75229
CLOSED TREE
Backed out changeset 93efb53380c2 (bug 1637463)
Backed out changeset 5c8ccda5f1b1 (bug 1637463)
Backed out changeset a5fc1b604238 (bug 1637463)
At the beginning of the Python 3 migration (circa bug 1602540), we made an update to the interface of `mozpack/files.py` in the direction of aligning with Python 3's built-in `file` support; namely, that opening a file in text mode returns a stream of `str` (text), and that opening a file in binary mode returns a stream of `bytes`. This was deemed to be more trouble than it was worth. This patch undoes all of those changes to the interface in favor of moving back to the Python 2 style, where all files are bytestreams.
Differential Revision: https://phabricator.services.mozilla.com/D75424
I noticed one more moztest issue in bug 1638993: sorting an array of dict is
poorly defined on py2 and not tolerated on py3; adding the lambda clarifies
the behavior. With this resolved, I think we can bump the moztest version and
close this bug.
Differential Revision: https://phabricator.services.mozilla.com/D76486
Changes:
Update `writeruntimes` script so that each suite is in its own nested dictionary and add the ability to query `web-platform-tests-reftest`.
Differential Revision: https://phabricator.services.mozilla.com/D75229
This test has been failing, infrequently, mostly on osx/py2, for many months.
Increasing the time interval between events appears to reduce failure frequency.
Differential Revision: https://phabricator.services.mozilla.com/D76402
This patch changes over all of the logging to use the structured mozlog package.
I also ensured that the messages were logged in a way to be useful for end users
of mochitests. This means there were a few small changes in methods in order to
accommodate the logging. The behavior outside of logging should be the same.
Differential Revision: https://phabricator.services.mozilla.com/D74291
I need to add symbolication support for the mochitest Gecko Profiler command line
option. These profiles also need to be symbolicated. Unfortunately, there is not
a common place where I could use these files. Talos and Raptor each had their
own copy of the snappy symbolication server.
This commit consolidates these packages into a re-usable mozbase package that can
be used in mochitests, and eventually in other places like xpcshell tests.
I stubbed out a test file, but it doesn't do anything quite yet. This commit makes
it so that the tests still work in Raptor and Talos, but doesn't add any features.
It also doesn't try too hard to make the files look like a mozbase package.
Differential Revision: https://phabricator.services.mozilla.com/D74289
This sets things up to be a little bit easier and cleaner to modify going
forward. The taskgraph before/after this change is identical.
Differential Revision: https://phabricator.services.mozilla.com/D74452
This moves the creation of WPT groups into the TestResolver, where all kinds of
other consumers will be able to access them.
Differential Revision: https://phabricator.services.mozilla.com/D76085
`./mach run` or `./mach install` for GekcoView uses `android_device.py`, but
`android_device.py` isn't compatible with Python 3.
So, wWhen checking kvm (-accel-check), the following warning occurs.
```
WARNING: sequence item 0: expected str instance, int found
```
Also, when verifying emulator using telnet, the following exception occurs.
```
WARNING: Trying again after unexpected exception
```
Differential Revision: https://phabricator.services.mozilla.com/D75743
This is instead of tests and will make it easier to re-use in the taskgraph.
This commit is a straight refactor and results in zero differences in the
taskgraph.
Depends on D74448
Differential Revision: https://phabricator.services.mozilla.com/D74449
This adds a new property lsan-disabled to wpt metadata files, which takes
a boolean to determine if lsan should be entirely disabled for that directory.
Differential Revision: https://phabricator.services.mozilla.com/D73918
This patch reduces the redundancy in the mozproxy perfherder data names. It removes the `replay` suffix since it's already clear it's related to replay/not-replayed. The subtest names have the `mozproxy-replay` prefix removed through the addition of a new way of specifying supporting measurement values. Instead of only being able to submit the values with a `{measurement: values}` format, we can now submit it as `{measurement: {values: [], <SUBTEST-OPTIONS>}}`. The subtest options include perfherder-specific options, and some settings that change how the names are built. Furthermore, the full supporting data dictionary also includes two new fields: `summarize-values`, and `suffix-type`. The former dictates whether or not a summary value is produced, and the latter determines if the name should be suffixed with the data type.
Differential Revision: https://phabricator.services.mozilla.com/D72695
Because the web platform test harness doesn't recognize them and annotates them
with `CRITICAL`, which is disconcerting, even though those errors are typically
not harmful.
Differential Revision: https://phabricator.services.mozilla.com/D71485
Changes:
Use the value from `test.id` instead of `test.path_parts[-1]` for the test object attribute `name`.
In effect, this will change the value as follows:
`about-blank-cannot-host.html` -> `/portals/about-blank-cannot-host.html`
Differential Revision: https://phabricator.services.mozilla.com/D73141
Changes:
The patch at D70727 is now triggering the resolving of web-platform-test suites when `cram(try)` was being run.
It appears the easiest way to ensure green runs for `cram(try)` is to simply suppress the log output from `manifestupdate`. It can be argued that those log outputs were not providing any useful information for taskgraph generation.
Differential Revision: https://phabricator.services.mozilla.com/D73152
Because the web platform test harness doesn't recognize them and annotates them
with `CRITICAL`, which is disconcerting, even though those errors are typically
not harmful.
Differential Revision: https://phabricator.services.mozilla.com/D71485
This change will permit the `TestResolver` to add web-platform-tests into the list of supported tests.
Changes:
- add web-platform-test test objects to the list of supported tests.
- adjust value of attributes name, manifest, manifest_relpath.
Differential Revision: https://phabricator.services.mozilla.com/D70727