The `mozbase` modules were being unconditionally added to the
`sys.path` regardless of the Mach command being run, so there isn't
much value keeping them in a separate file. Besides, all other
source module paths are described in `common_virtualenv_packages`,
why is `mozbase` special?
In the future, we're going to want to make improvements here (such as:
there's a difference between informing mach of first-party code
versus defining which third_party vendored packages should be in scope,
and that workflow difference should be represented in-code).
It's useful to peel out the existing, less useful abstraction before
we can build a stronger one.
Differential Revision: https://phabricator.services.mozilla.com/D117711
Having separate `<name>.pth` files in the virtual environments
isn't providing an advantage. We can simplify configuration
by putting all `pth` adjustments into a single file: `mach.pth`.
Differential Revision: https://phabricator.services.mozilla.com/D117710
The 'subprocess.list2cmdline' function fails if you pass in a byte-string on
Python 3, and mozcrash is explicitly encoding that value, so I believe it will
always be an exception when this code path is hit.
I'm a bit surprised because mochitest also calls into this function and has been
running with Python 3 for months now. Since xpcshell and mochitest are the only
things using this and both will be on Python 3, we don't need to worry about
maintaining Python 2 compatibility here.
Depends on D109731
Differential Revision: https://phabricator.services.mozilla.com/D117658
This patch is part of a bigger effort to add proxy service to mozperftest
We are doing base work before updating mozperftest
- Add mozproxy record mode
- Add record test
- Set proxy version in recording .zip file metadata
- Prettify json output in zip file
- Update command line options
- Add optional tooltool path in mozbuild
Differential Revision: https://phabricator.services.mozilla.com/D114977
Add support for reading the values passed to command line arguments in
mozrunner. This is a little difficult to do exactly like Firefox as
different arguments may be parsed differently. This patch supports the
following forms:
["--arg", "foo"]
["--arg=foo"]
Depends on D101769
Differential Revision: https://phabricator.services.mozilla.com/D101770
This requires passing the test_environment into the get_executor_kwargs function
so that in the firefox wdspec case we can add a cleanup function to the environment
when running wdspec tests. That seems reasonable since we were previously using
a variety of data in the environment to setup the kwargs anyway
Depends on D99698
Differential Revision: https://phabricator.services.mozilla.com/D101768
Add support for reading the values passed to command line arguments in
mozrunner. This is a little difficult to do exactly like Firefox as
different arguments may be parsed differently. This patch supports the
following forms:
["--arg", "foo"]
["--arg=foo"]
Depends on D101769
Differential Revision: https://phabricator.services.mozilla.com/D101770
This requires passing the test_environment into the get_executor_kwargs function
so that in the firefox wdspec case we can add a cleanup function to the environment
when running wdspec tests. That seems reasonable since we were previously using
a variety of data in the environment to setup the kwargs anyway
Depends on D99698
Differential Revision: https://phabricator.services.mozilla.com/D101768
Add support for reading the values passed to command line arguments in
mozrunner. This is a little difficult to do exactly like Firefox as
different arguments may be parsed differently. This patch supports the
following forms:
["--arg", "foo"]
["--arg=foo"]
Depends on D101769
Differential Revision: https://phabricator.services.mozilla.com/D101770
This requires passing the test_environment into the get_executor_kwargs function
so that in the firefox wdspec case we can add a cleanup function to the environment
when running wdspec tests. That seems reasonable since we were previously using
a variety of data in the environment to setup the kwargs anyway
Depends on D99698
Differential Revision: https://phabricator.services.mozilla.com/D101768
Unlike the stdlib Popen class, ProcessHandler.kill implictly waits for
the process to end. To avoid hangs in the case where the process
doesn't end, allow passing through a timeout to this function (on
posix only).
This is somewhat unfortunate as it means that ProcessHandler isn't
interchangable with Popen. But the only other option here appears to
be not doing the implicit wait which presumably consumers are relying on.
Differential Revision: https://phabricator.services.mozilla.com/D112609
This is not obviously doing more than the stdlib code does these days,
and also doesn't support timeouts, so we're perhaps better just always
defering to the stdlib.
Differential Revision: https://phabricator.services.mozilla.com/D112608
Add some additional patterns for well-known panic frames. This should
improve crash signature reporting for some rust panics.
Differential Revision: https://phabricator.services.mozilla.com/D111690
Eliminates the NPAPI plugin process type from the GeckoChildProcess enum as part of NPAPI removal. In order to avoid altering enum values when updating the process list, the GECKO_PROCESS_TYPE macro has been updated to include the desired enum value. We want to resist altering the values as they need to be consistent e.g. in telemetry reports.
We also remove plugins from adjacent spots that need to maintain consistency with GeckoChildProcess -- most notably the nsICrashService.
Differential Revision: https://phabricator.services.mozilla.com/D108689
Eliminates the NPAPI plugin process type from the GeckoChildProcess enum as part of NPAPI removal. In order to avoid altering enum values when updating the process list, the GECKO_PROCESS_TYPE macro has been updated to include the desired enum value. We want to resist altering the values as they need to be consistent e.g. in telemetry reports.
We also remove plugins from adjacent spots that need to maintain consistency with GeckoChildProcess -- most notably the nsICrashService.
Differential Revision: https://phabricator.services.mozilla.com/D108689