When cmake fails during the clang build, we currently print out the
contents of CMakeOutput.log and CMakeError.log because they may contain
something useful to debug what happened. Unfortunately, because the
treeherder log parser doesn't see the actual error, it reports the
normal error that are part of the logs as being the errors causing the
failure, the first one of which is a check whether malloc/malloc.h is a
thing, which it is not, and that's normal.
So instead of printing them out, we provide the files as artifacts.
Differential Revision: https://phabricator.services.mozilla.com/D134999
Part of how invalidation works with WebRender is that we assume frames
with a WebRenderUserData object attached to them are in view. This means
for images that we must ensure we create an empty
WebRenderImageProviderData object even when we have no provider or
surface for display. This will allow us to invalidate properly when we
get the FRAME_COMPLETE notification from imagelib indicating that the
redecode has completed.
Differential Revision: https://phabricator.services.mozilla.com/D135077
This is needed to pick up new functionality around setting parameter defaults
via `extend_parameter_schema`.
Depends on D134514
Differential Revision: https://phabricator.services.mozilla.com/D134967
This logic is Gecko specific and shouldn't be tied to the `Parameter`
class anyway. It makes more sense as a utility function.
Differential Revision: https://phabricator.services.mozilla.com/D134514
This logic is Gecko specific and shouldn't be tied to the `Parameter`
class anyway. It makes more sense as a utility function.
Differential Revision: https://phabricator.services.mozilla.com/D134513
HAR export was still producing empty har files if any of the request
currently displayed in the netmonitor can't be completely retrieved.
This includes all lazy data. But if any request has been destroyed in the server
fetching any lazy data will throw.
Differential Revision: https://phabricator.services.mozilla.com/D134789
The intermittent test failure was caused by the `python-test` site
being re-created while other tests were trying to be run.
The site was being re-created because it was being activated in
`test_command_line.py`.
In automation, the site would be resolved as "out-of-date" because
the `sys.path` of the on-disk venv wouldn't match the `sys.path` of the
running process (python tests are run by invoking the associated test
file, which causes Python to prepend that test's directory to the
`sys.path`).
Since the default (`common`) site is already used for multiple use
cases with different dependencies, leaning on it here appears to be
the cleanest solution. The next `mach` command to need the site for
a different context will automatically re-create it as necessary.
Differential Revision: https://phabricator.services.mozilla.com/D134990
Move Python version check as early as possible so that more code can
safely depend on modern behaviour while out-of-date Python versions still
get graceful error messages.
Without this change, Python 2 usages fail on importing `importlib.util`
before the nice "out-of-date version" warning is printed.
Differential Revision: https://phabricator.services.mozilla.com/D134185
As part of this, the shell-script part of `./mach` can be removed,
making it pure Python.
There's a change in `--profile-command` behaviour, though: it now only
profiles the specific command, rather than all of Mach.
This is because _so much of Mach_ has already been run before
CLI arguments are parsed in the Python process.
If a developer wants to profile Mach itself, they can manually run
`python3 -m cProfile -o <file> ./mach ...`
Differential Revision: https://phabricator.services.mozilla.com/D133928
Changed how our attributes tests work a bit to be single "is" test
instead of comparing each attribute separately. This allows passing a
todo option without it failing on attributes that are identical.
Differential Revision: https://phabricator.services.mozilla.com/D134974
Now that GroupPosition and GetGroupInfo are in Accessible, we can make
AccGroupInfo use the Accessible base class.
With one exception: Tables are still local only. That should be
addressed in bug 1735970.
Differential Revision: https://phabricator.services.mozilla.com/D134212
Changed the methods a bit, instead of a HasDirty boolean method, I went
with a getter and a get-and-creator. This will lend better to remote
accessibles where we won't have a dirty flag.
Differential Revision: https://phabricator.services.mozilla.com/D134209
The nsAccUtils method was a "fast" one for calculating set sizes and
conceptual parents. Unified it with
LocalAccessible::GetLevelInternal in Accessible::GetLevel with an
argument.
I also fixed select->optgroup->option group attributes.
Differential Revision: https://phabricator.services.mozilla.com/D134208
It occurs to me that because tracking is a general vendoring need
(not just for updatebot) that it should live under vendoring.
Depends on D129437
Differential Revision: https://phabricator.services.mozilla.com/D129533
The compiler might already be smart enough to not generate code in an
if-statement that guarantees to be `false` at compile time. However it's no harm
to make it explicit by using `if constexpr`.
Differential Revision: https://phabricator.services.mozilla.com/D135017