Граф коммитов

180 Коммитов

Автор SHA1 Сообщение Дата
Geoff Brown 7d74529955 Bug 1638974 - Run 'mach mochitest' with Python 3; r=bc
Minor fix to remoteautomation.py: Increment stdoutlen before any type conversions,
to ensure that it accurately reflects the byte offset in the file.

With this last change, 'mach mochitest' appears to run correctly on Android with Python 3:
switch it over to Python 3.

Differential Revision: https://phabricator.services.mozilla.com/D91586
2020-09-28 16:30:33 +00:00
Mitchell Hentges 1de0840710 Bug 1665445: install-moz-phab installs the Phabricator credentials r=firefox-build-system-reviewers,rstewart
Since `install-moz-phab` is meant to simplify the moz-phab setup flow,
automatically prompting for Phabricator credentials removes an otherwise
manual step.

Detecting the "console_script" location of a package in a
cross-platform, virtualenv-supporting and "--user"-supporting way is
tough, and the most consistent solution seems to be to list the package
contents of moz-phab and look for the one that seems to be the entry
point.

Differential Revision: https://phabricator.services.mozilla.com/D90642
2020-09-22 20:44:32 +00:00
Steve Fink 038a3a2fc2 Bug 1638966 - Run `mach hazards` under py3 r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D90483
2020-09-17 19:57:18 +00:00
Ricky Stewart 1a65ffc115 Bug 1662787 - Provide an environment variable to force running `mach python-test` command with Python 2 r=froydnj,firefox-build-system-reviewers,mhentges
This is only useful for `mach` commands that we want to run with Python 3 by default, but for which running with Python 2 is still useful. We now have one such command: `python-test`.

In `mach`, switch on the presence of the `MACH_PY2` environment variable. We only want to allow this for `python-test`, so do that sanity check in `mach` as well.

Differential Revision: https://phabricator.services.mozilla.com/D89162
2020-09-02 16:21:42 +00:00
Ricky Stewart bbfa258584 Bug 1656993: Create and require by default global `virtualenv`s in `~/.mozbuild` for `mach` r=mhentges,ahal
In two different places we've been encountering issues regarding 1) how we configure the system Python environment and 2) how the system Python environment relates to the `virtualenv`s that we use for building, testing, and other dev tasks. Specifically:

1. With the push to use `glean` for telemetry in `mach`, we are requiring (or rather, strongly encouraging) the `glean_sdk` Python package to be installed with bug 1651424. `mach bootstrap` upgrades the library using your system Python 3 in bug 1654607. We can't vendor it due to the package containing native code. Since we generally vendor all code required for `mach` to function, requiring that the system Python be configured with a certain version of `glean` is an unfortunate change.

2. The build uses the vendored `glean_parser` for a number of build tasks. Since the vendored `glean_parser` conflicts with the globally-installed `glean_sdk` package, we had to add special ad-hoc handling to allow us to circumvent this conflict in bug 1655781.

3. We begin to rely more and more on the `zstandard` package during build tasks, this package again being one that we can't vendor due to containing native code. Bug 1654994 contained more ad-hoc code which subprocesses out from the build system's `virtualenv` to the SYSTEM `python3` binary, assuming that the system `python3` has `zstandard` installed.

As we rely more on `glean_sdk`, `zstandard`, and other packages that are not vendorable, we need to settle on a standard model for how `mach`, the build process, and other `mach` commands that may make their own `virtualenv`s work in the presence of unvendorable packages.

With that in mind, this patch does all the following:

1. Separate out the `mach` `virtualenv_packages` from the in-build `virtualenv_packages`. Refactor the common stuff into `common_virtualenv_packages.txt`. Add functionality to the `virtualenv_packages` manifest parsing to allow the build `virtualenv` to "inherit" from the parent by pointing to the parent's `site-packages`. The `in-virtualenv` feature from bug 1655781 is no longer necessary, so delete it.

2. Add code to `bootstrap`, as well as a new `mach` command `create-mach-environment` to create `virtualenv`s in `~/.mozbuild`.

3. Add code to `mach` to dispatch either to the in-`~/.mozbuild` `virtualenv`s (or to the system Python 3 for commands which cannot run in the `virtualenv`s, namely `bootstrap` and `create-mach-environment`).

4. Remove the "add global argument" feature from `mach`. It isn't used and conflicts with (3).

5. Remove the `--print-command` feature from `mach` which is obsoleted by these changes.

This has the effect of allowing us to install packages that cannot be vendored into a "common" place (namely the global `~/.mozbuild` `virtualenv`s) and use those from the build without requiring us to hit the network. Miscellaneous implementation notes:

1. We allow users to force running `mach` with the system Python if they like. For now it doesn't make any sense to require 100% of people to create these `virtualenv`s when they're allowed to continue on with the old behavior if they like. We also skip this in CI.

2. We needed to duplicate the global-argument logic into the `mach` script to allow for the dispatch behavior. This is something we avoided with the Python 2 -> Python 3 migration with the `--print-command` feature, justifying its use by saying it was only temporarily required until all `mach` commands were running with Python 3. With this change, we'll need to be able to determine the `mach` command from the shell script for the forseeable future, and committing to this forever with the cost that `--print-command` incurs (namely `mach` startup time, an additional .4s on my machine) didn't seem worth it to me. It's not a ton of duplicated code.

Differential Revision: https://phabricator.services.mozilla.com/D85916
2020-08-17 17:21:02 +00:00
Hamzah b7e6b41fc5 Bug 1594914 - Convert mach python-test to run with python 3 r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D77872
2020-08-04 17:40:58 +00:00
Tom Prince 1501888375 Bug 1638990: [taskgraph] Run `mach taskgraph` with python 3; r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D84087
2020-07-23 03:48:56 +00:00
Geoff Brown 8731a1e19e Bug 1638963 - Run 'mach geckoview-junit' with py3; r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D84560
2020-07-22 18:08:02 +00:00
Hamzah 570e9a50fc Bug 1606475 - Move mach clang-format to Python 3 r=andi
Manually tested various combination of commands for `./mach clang-format`. It works fine on both py2 as well as py3

Differential Revision: https://phabricator.services.mozilla.com/D79330
2020-07-20 12:12:28 +00:00
Tom Prince 7524e40b38 Bug 1653662: [mozrelease] Update mozrelease subcommands to python 3; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D84042
2020-07-18 01:36:36 +00:00
Edgar Chen 122e54cf20 Bug 1638999 - Convert 'mach webidl-parser-test' to run with Python 3; r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D83416
2020-07-15 20:28:16 +00:00
Edgar Chen c2f8b06f06 Bug 1638998 - Convert 'mach webidl-example' to run with Python 3; r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D83409
2020-07-15 20:28:03 +00:00
Hamzah 6802583a06 Bug 1639009 - Convert 'mach xpcshell-test' to run with Python 3 r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D78522
2020-07-09 16:49:48 +00:00
Mihai Alexandru Michis 53a4dbf91a Backed out changeset 19269e470c71 (bug 1594914) for causing bustages.
CLOSED TREE
2020-07-09 01:36:29 +03:00
Hamzah 0606c70920 Bug 1594914 - Convert mach python-test to run with python 3 r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D77872
2020-07-08 19:15:27 +00:00
Geoff Brown d72a37cce9 Bug 1638984 - Run 'mach rusttests' in python 3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D81769
2020-06-30 21:48:51 +00:00
egao b78617c46d Bug 1638950 - run mach browsertime with python3 r=sparky
Changes:
  - `mach browsertime` appears to run well on python3 without any changes.

Differential Revision: https://phabricator.services.mozilla.com/D81383
2020-06-29 17:56:58 +00:00
Edwin Takahashi c2f58a5a8d Bug 1638964 - run mach gradle with python3 r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D80286
2020-06-22 16:22:07 +00:00
Andi-Bogdan Postelnicu cda84762fb Bug 1638985 - Convert 'mach static-analysis' to run with Python 3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D79306
2020-06-11 15:54:29 +00:00
Mitchell Hentges 0bc6909185 Bug 1621960: Change |mach python| default from Python 2 to Python 3 r=rstewart
Depends on D77967

Differential Revision: https://phabricator.services.mozilla.com/D78181
2020-06-10 16:10:08 +00:00
Noemi Erli 9017f973e3 Backed out 4 changesets (bug 1621960) for causing Android bustages CLOSED TREE
Backed out changeset f36a95234a5f (bug 1621960)
Backed out changeset 0e4661c9061d (bug 1621960)
Backed out changeset 3e2cbe4dd777 (bug 1621960)
Backed out changeset d7eb101e5df7 (bug 1621960)
2020-06-09 20:59:26 +03:00
Mitchell Hentges 4006a0890c Bug 1621960: Change |mach python| default from Python 2 to Python 3 r=rstewart
Depends on D77967

Differential Revision: https://phabricator.services.mozilla.com/D78181
2020-06-09 16:44:51 +00:00
Edwin Takahashi 009907a024 Bug 1642545 - run mach taskcluster-build-image with python 3 r=gbrown
Changes:

No changes were required to run taskcluster-build-image with python3.5.

Differential Revision: https://phabricator.services.mozilla.com/D77755
2020-06-02 14:13:43 +00:00
Edwin Takahashi 8f613ab93f Bug 1638975 - run mach pastebin with python3 r=bc
Changes:

`mach pastebin` ran fine with Python3 without any changes.

Differential Revision: https://phabricator.services.mozilla.com/D77713
2020-06-02 14:08:48 +00:00
Bob Clary ece3db1d73 Bug 1638956 - mark mach crashtest as Python 2 only again. r=gbrown
Depends on D77522

Differential Revision: https://phabricator.services.mozilla.com/D77523
2020-05-29 19:47:30 +00:00
Bob Clary f3790362ef Bug 1638973 - mark mach marionette-test as Python 2 only again. r=gbrown
Depends on D77521

Differential Revision: https://phabricator.services.mozilla.com/D77522
2020-05-29 19:49:12 +00:00
Bob Clary fb36016d6d Bug 1638972 - mark mach jstestbrowser, mach jstests as Python 2 only again. r=gbrown
Depends on D77514

Differential Revision: https://phabricator.services.mozilla.com/D77521
2020-05-29 19:47:48 +00:00
Bob Clary 90f63d038b Bug 1641742 - mark mach reftest as Python 2 only again, r=gbrown.
Differential Revision: https://phabricator.services.mozilla.com/D77514
2020-05-29 19:40:07 +00:00
James Graham 9c097cff23 Bug 1638978 - Convert mach puppeteer-test to Python 3, r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D77443
2020-05-29 12:37:45 +00:00
Geoff Brown da55c8ff29 Bug 1638954 - Run 'mach cppunittest' with python 3; r=bc
Differential Revision: https://phabricator.services.mozilla.com/D77258
2020-05-28 14:45:50 +00:00
Geoff Brown 21053c0624 Bug 1638965 - Run 'mach gtest' in python 3; r=bc
Differential Revision: https://phabricator.services.mozilla.com/D77092
2020-05-27 20:53:22 +00:00
Bob Clary 4ae8d3eb0e Bug 1638956 - enable mach crashtest to run with Python 3. r=gbrown
Depends on D76651

Differential Revision: https://phabricator.services.mozilla.com/D76866
2020-05-26 19:38:47 +00:00
Bob Clary 41921fd954 Bug 1638973 - enable mach marionette-test to run with Python 3. r=marionette-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D76651
2020-05-26 15:54:07 +00:00
Bob Clary 6a0aed7b99 Bug 1638981 - enable mach reftests to run with Python 3. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D76650
2020-05-27 13:07:07 +00:00
Bob Clary ba6fe87dce Bug 1638972 - enable mach jstests to run with Python 3. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D76649
2020-05-26 15:53:52 +00:00
Nicholas Nethercote 61f2f5aef8 Bug 1638976 - Convert 'mach power' to run with Python 3. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D76273
2020-05-25 23:50:19 +00:00
Geoff Brown e8724ccfdc Bug 1638993 - Run 'mach test-info' with python 3; r=jmaher
With recent changes to dependencies, 'mach test-info' can now run under python 3.

Differential Revision: https://phabricator.services.mozilla.com/D76607
2020-05-23 20:54:00 +00:00
Dan Minor fdcf957cca Bug 1634675 - Remove webrtc-gtests r=drno,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D73451
2020-05-20 19:59:45 +00:00
Ricky Stewart 1a44b2a1d9 Bug 1638983 - Run `mach repackage` with Python 3 r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D76058
2020-05-20 15:35:58 +00:00
Ricky Stewart a24b65434d Bug 1638995 - Run `mach valgrind-test` with Python 3 r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D76057
2020-05-20 05:31:58 +00:00
Henrik Skupin fddeddcf31 Bug 1638982 - [remote] Convert 'mach remote' to run with Python 3 r=rstewart,remote-protocol-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D75901
2020-05-20 04:35:34 +00:00
Ricky Stewart ae0b4a1716 Bug 1638967 - Run `mach ide` in Python 3 r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D76029
2020-05-19 21:32:59 +00:00
Ricky Stewart aefac46494 Bug 1638951 - Run `mach cargo` with Python 3 r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D75999
2020-05-19 19:35:52 +00:00
Geoff Brown efe0d0c5bd Bug 1638948 - Run 'mach android-emulator' with python 3; r=bc
This command is already python 3 compatible, thanks to m_kato's previous efforts.

Differential Revision: https://phabricator.services.mozilla.com/D75997
2020-05-19 16:54:37 +00:00
Simon Fraser 434afc08e6 Bug 1639151 Convert |mach release-history| and nightly history population to py3 r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D75919
2020-05-19 15:19:38 +00:00
Ricky Stewart 69ecad92c6 Bug 1579329 - Run `mach file-info` with Python 3 r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D75343
2020-05-14 18:20:22 +00:00
Ricky Stewart fd2e8753b6 Bug 1637778 - Delete `mach robocop` from py2 mach command list r=nalexander
This isn't an actual `mach` command (it was deleted and replaced by `mochitest`).

Differential Revision: https://phabricator.services.mozilla.com/D75210
2020-05-14 04:40:20 +00:00
Mitchell Hentges b8108d6064 Bug 1632429: Migrate |./mach try| to python 3; r=rstewart,ahal
|./mach try| subcommands are now compatible with both python 2 and 3.

Hand-tested with many combinations of subcommand and subcommand flags.

Updates tryselect unit tests to use Python 3.

Differential Revision: https://phabricator.services.mozilla.com/D73398
2020-05-06 22:17:14 +00:00
Ricky Stewart 8ffbec29d9 Bug 1635491 - Delete tup backend and `mach analyze` r=froydnj
It's not maintained and doesn't work as-is. If we want to revive it we can grab it from source control later, but in the meantime it's just confusing and it comes up in search results even though we never look for it.

Also delete `mach analyze` which depends on the existence of a Tup backend.

Differential Revision: https://phabricator.services.mozilla.com/D73911
2020-05-05 17:28:07 +00:00
Razvan Maries 3b592b6add Backed out changeset 5cf7e2bc5640 (bug 1635491) as per Ricky's request for Lint failure. CLOSED TREE 2020-05-05 19:57:33 +03:00
Ricky Stewart cdac3a2e15 Bug 1635491 - Delete tup backend and `mach analyze` r=froydnj
It's not maintained and doesn't work as-is. If we want to revive it we can grab it from source control later, but in the meantime it's just confusing and it comes up in search results even though we never look for it.

Also delete `mach analyze` which depends on the existence of a Tup backend.

Differential Revision: https://phabricator.services.mozilla.com/D73911
2020-05-05 16:32:42 +00:00
Mike Hommey 9c03a7015d Bug 1632348 - Convert mach artifact to python 3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D72114
2020-04-26 21:53:57 +00:00
Noemi Erli 7f6a7f8cf2 Backed out changeset 90bd5342c58f (bug 1632348) for causing toolchains bustage 2020-04-26 02:37:07 +03:00
Mike Hommey 568944c117 Bug 1632348 - Convert mach artifact to python 3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D72114
2020-04-24 20:51:24 +00:00
Mike Hommey 5e8b3e9559 Bug 1632353 - Convert mach resource-usage to python3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D72117
2020-04-23 22:56:37 +00:00
Mike Hommey 55f5d3fe7a Bug 1632354 - Switch a few mach commands to python 3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D72087
2020-04-23 21:30:39 +00:00
Ricky Stewart 2fdf5b0a0a Bug 1617748 - Run `./mach build`, `./mach build-backend`, `./mach configure` with Python 3 r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D66107

--HG--
extra : moz-landing-system : lando
2020-04-04 20:38:01 +00:00
Stefan Hindli ee18f66aca Backed out 3 changesets (bug 1625014, bug 1617748, bug 1623701) for causing linting failure CLOSED TREE
Backed out changeset e62f3effd132 (bug 1617748)
Backed out changeset 14968570b2f5 (bug 1623701)
Backed out changeset 60ac25427773 (bug 1625014)
2020-03-26 17:13:39 +02:00
Ricky Stewart c8523eaadb Bug 1617748 - Run `./mach build`, `./mach build-backend`, `./mach configure` with Python 3 r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D66107

--HG--
extra : moz-landing-system : lando
2020-03-25 22:05:06 +00:00
Coroiu Cristina 8df06c6842 Backed out 2 changesets (bug 1617748, bug 1623701) on request by dev
Backed out changeset 547716d123e2 (bug 1617748)
Backed out changeset dc80296ade17 (bug 1623701)
2020-03-26 00:01:03 +02:00
Ricky Stewart b9a1da8820 Bug 1617748 - Run `./mach build`, `./mach build-backend`, `./mach configure` with Python 3 r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D66107

--HG--
extra : moz-landing-system : lando
2020-03-20 19:13:02 +00:00
Ricky Stewart c1c042cab7 Bug 1623765 - `mach watch` supports Python 3 r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D67927

--HG--
extra : moz-landing-system : lando
2020-03-23 21:34:16 +00:00
William Lachance 5c5eb36533 Bug 1616584 - Run `mach mozregression` with Python 3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D67555

--HG--
extra : moz-landing-system : lando
2020-03-20 19:12:51 +00:00
Kartikaya Gupta 8881acea8d Bug 1621718 - Use proper email parsing library for parsing patches. r=ahal
This uses the `email` module to parse the .patch file that Github generates,
so that it properly decodes encoded-words in the headers. Also using this
module is better with python3, so this patch also takes the command off the
python2 whitelist and makes it python3-compatible.

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

--HG--
extra : moz-landing-system : lando
2020-03-16 19:46:13 +00:00
Bogdan Tara d64fc8c8c9 Backed out changeset 5eb9dee1b6f2 (bug 1617748) for hazard bustages CLOSED TREE 2020-03-13 00:52:12 +02:00
Ricky Stewart 1a53b93361 Bug 1617748 - Run `./mach build`, `./mach build-backend`, `./mach configure` with Python 3 r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D66107

--HG--
extra : moz-landing-system : lando
2020-03-12 22:34:19 +00:00
Steve Fink 4efc95ae8c Bug 1619475 - partial Python 3 compatibility for jit-tests and jstests r=arai
This fixes all of the jit-test problems I encountered, and fixes all but the wpt portion of jstests. This is unnecessary, but it also ports jstests from optparse to argparse (because optparse is deprecated, because I like argparse better, and because it happened to fix the minor compatibility issue I ran into even though it has a trivial fix on its own.)

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

--HG--
extra : moz-landing-system : lando
2020-03-06 18:07:38 +00:00
Divya Rani 427ae6c5f6 Bug 1619280 - Port warnings-summary [mach] to Python 3.r=championshuttler,firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D64951

--HG--
extra : moz-landing-system : lando
2020-03-03 19:18:52 +00:00
Steve Fink 6c335b53f8 Bug 1614518 - Implement `mach hazards` command set for running the GC rooting hazard analysis. r=ahal,jonco,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D62384

--HG--
extra : moz-landing-system : lando
2020-02-20 18:27:50 +00:00
Hamzah 3464fec8e5 Bug 1615423 - Run `./mach busted` with Python 3, DONTBUILD r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D62823

--HG--
extra : moz-landing-system : lando
2020-02-19 14:57:36 +00:00
Hamzah becd55c159 Bug 1614771 - Run `./mach addtest` with Python 3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D62541

--HG--
extra : moz-landing-system : lando
2020-02-13 16:56:44 +00:00
Axel Hecht 7633ad1e18 Bug 1612579, use python3 for fluent-migration-test r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D62020

--HG--
extra : moz-landing-system : lando
2020-02-07 19:18:59 +00:00
Ricky Stewart d259591a1c Bug 1569059 - Run 'mach bootstrap' with Python 3 r=firefox-build-system-reviewers,mshal,Callek
Differential Revision: https://phabricator.services.mozilla.com/D60898

--HG--
extra : moz-landing-system : lando
2020-02-07 18:12:23 +00:00
Sylvestre Ledru 41312ab8df Bug 1601578 - mach - doc environment with python 3 r=ahal,firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D55937

--HG--
extra : moz-landing-system : lando
2019-12-17 19:17:43 +00:00
Razvan Maries c98dba73a9 Backed out 5 changesets (bug 1601612, bug 1601578) for Lint failure. CLOSED TREE
Backed out changeset c5b62adb19f1 (bug 1601612)
Backed out changeset 67431d96c78f (bug 1601612)
Backed out changeset 22099810071a (bug 1601612)
Backed out changeset 457049dcb9b4 (bug 1601612)
Backed out changeset 45277ab0d639 (bug 1601578)
2019-12-17 09:49:51 +02:00
Sylvestre Ledru e945783c5b Bug 1601578 - mach - doc environment with python 3 r=ahal,firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D55937

--HG--
extra : moz-landing-system : lando
2019-12-17 01:30:41 +00:00
Kris Maglione 84a0be4145 Bug 1581684: Make sure ./mach mach-completion <command> uses the correct Python. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D46098

--HG--
extra : moz-landing-system : lando
2019-12-09 19:41:01 +00:00
James Graham d13deb4671 Bug 1600695, Add mach wpt-test-paths command, r=dheiberg
This command takes a list of test ids and returns the list of test
files that correspond to those test ids. The mapping is one-to-many
between files and test ids i.e. a single file can generate many tests.

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

--HG--
extra : moz-landing-system : lando
2019-12-09 10:46:50 +00:00
Edwin Takahashi 79d87a899e Bug 1598839 - run mach environment with python3 r=ahal
Changes:

Remove `environment` from the python3 blacklist.

Remove the option to specify `configure` for the formatting argument, since it has never been supported (the method has never been implemented).

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

--HG--
extra : moz-landing-system : lando
2019-11-25 18:27:28 +00:00
Edwin Takahashi b66e852ab2 Bug 1592855 - run mach vendor python with python3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D51414

--HG--
extra : moz-landing-system : lando
2019-11-05 15:29:44 +00:00
Edwin Takahashi 072601476a Bug 1591220 - migrate python-safety to run with python3 by default r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D51184

--HG--
extra : moz-landing-system : lando
2019-11-04 21:55:21 +00:00
Ted Campbell cabef1d645 Bug 1593486 - Add ./mach jit-test command r=sfink,froydnj
This allows running the jit_test.py harness using mach. It works very
similarly to the existing 'mach jstests' command.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 19:46:43 +00:00
Edwin Takahashi 8eb4f8e716 Bug 1581224 - convert mach uuid to be compatible with both python2/3 r=Callek
Changes:
- remove `uuid` from the python3 blacklist in `mach`
- enable `test_telemetry.py` for python3
- adjust test outcome expectation for Windows + python3, suspect `mozpack.path` is not filtering Windows path correctly in python3 environment
- switch file read mode between `r` and `rb` depending on version of python

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

--HG--
extra : moz-landing-system : lando
2019-10-21 16:33:00 +00:00
Edwin Takahashi 3d4f9b4d8c Bug 1581015 - convert vcs-setup to run with python3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D45817

--HG--
extra : moz-landing-system : lando
2019-09-19 15:11:20 +00:00
Axel Hecht a335900e65 Bug 1578348, drop compare-locales from the mach python2 list, r=Callek,ahal
Also enable running mach from the obj dir in a py3 world.

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

--HG--
extra : moz-landing-system : lando
2019-10-08 13:58:33 +00:00
Andrew Halberstadt 8336574b61 Bug 1584567 - Merge desktop + android commands (run and install) back together, r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D47626

--HG--
extra : moz-landing-system : lando
2019-09-30 16:59:27 +00:00
Andrew Halberstadt d3eae4b83c Bug 1580280 - [mozlint] Run |mach lint| with Python 3 and drop support for Python 2 r=mars
Differential Revision: https://phabricator.services.mozilla.com/D45441

--HG--
extra : moz-landing-system : lando
2019-09-30 15:09:41 +00:00
Oana Pop Rus 4b9792db7c Backed out changeset 371641b1010b (bug 1580280) for lints failure on a CLOSED TREE 2019-09-26 00:18:33 +03:00
Andrew Halberstadt fdc7d0afac Bug 1580280 - [mozlint] Run |mach lint| with Python 3 and drop support for Python 2 r=mars
Differential Revision: https://phabricator.services.mozilla.com/D45441

--HG--
extra : moz-landing-system : lando
2019-09-25 20:03:14 +00:00
championshuttler a19f899a6f Bug 1580492 - Run mach 'core' commands with Python 3. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D45694

--HG--
extra : moz-landing-system : lando
2019-09-12 20:26:45 +00:00
Andrew Halberstadt 23aca97aa6 Bug 1577501 - [mach] Make sure ./mach help <command> uses the correct Python, r=glandium
Some commands use external argument parsers, so invoking |mach help <command>| will import
external modules (which may only be Python 2 compatible).

This makes sure that we detect the actual subcommand we're generating help for
and use the proper Python.

A much simpler solution would have been to run |mach help| with Python 2 all
the time. However, as we convert things to Python 3 this would have meant that
Python 3 only code would blow up. This would have forced us to continue
supporting Python 2, even for Python 3-only commands.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 00:39:22 +00:00
Edwin Gao a0497df342 Bug 1577603 - convert mach clobber to run with python 3.5 r=nalexander
Changes:
- remove binary encoding when the subdirectories are being collected
- do not open file in binary mode when reading from `telemetry_client_id.json`

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

--HG--
extra : moz-landing-system : lando
2019-08-30 17:25:47 +00:00
Andrew Halberstadt 77e2553e92 Bug 1555762 - [mach] Get SearchProvider commands to run with Python 3 r=Callek
This includes the following commands:
* dxr
* google
* mdn
* search
* searchfox

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

--HG--
extra : moz-landing-system : lando
2019-08-26 14:01:32 +00:00
Andrew Halberstadt 333ffc4bcf Bug 1473498 - [mach] Support running mach commands with python 3 r=glandium,mars
Credit: mars for making the shell POSIX compliant

This embeds a blacklist of every mach command that needs to run with Python 2
directly in the mach driver itself. Initially this is every mach command. We
then use a bit of shell to determine whether the command being run needs Python
2 or 3.

While this approach may seem a bit hacky, it has several benefits:

1. No need to add complex machinery in mach's registration code.
2. No need to spawn two separate Python interpreters in the event a different
   Python from the original interpreter is needed.
3. Perf impact is negligible.
4. New commands are Python 3 by default.

It is also only a temporary hack. Once all commands are running with Python 3,
we can revert back to the original mach driver.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 03:08:08 +00:00
Chris Manchester 2d2292267f Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal
This generalizes the monkey-patching of the main module added
in bug 914563 to allow multiprocessing to be used from config.status
(which triggers the same bug as when it's used with `mach` as main).

MozReview-Commit-ID: AdOdpKzmbsp
2016-12-21 16:28:28 -08:00
Andrew Halberstadt 21bb6ea0b7 Bug 1279020 - [mach] Follow symlinked mach binary when searching for a srcdir, r=gps
The mach binary needs to find a srcdir (or test zip) to operator on. As a last resort,
it checks the directory containing the binary itself. If the binary has been symlinked
to say, $HOME/bin, it won't follow the symlink to the proper location, and the check
will fail.

Fixing this means developers can run `mach` from outside of the srcdir, as the symlink
will be followed to the actual srcdir. The motivation for this is actually to improve
the UX of debugging failures on interactive workers. With this fix, we can provide
developers with a mach environment directly from $HOME without them needing to go
find it.

MozReview-Commit-ID: ZEH8MuyKv

--HG--
extra : rebase_source : 2b5adbad1b5261f2268f6a30e7dd884d7820da5e
2016-06-09 17:20:02 -04:00
Andrew Halberstadt b5b5de46a4 Bug 1278900 - [mach] Also look for config.status when detecting an objdir, r=gps
Currently the mach binary will look for 'mozinfo.json' and if it finds it assume
we are in an objdir. But now, 'mozinfo.json' can also be found in an extracted
tests.zip (depending which zips were used). This trips up the tests.zip mach
environment and causes some problems.

This works around the issue by looking for both 'mozinfo.json' and 'config.status'

MozReview-Commit-ID: BIXcCm4LzE2

--HG--
extra : rebase_source : 6e2dc0502de1cddec8eccdfe30524864be81536c
2016-06-08 10:33:54 -04:00
Andrew Halberstadt 6a55c03d43 Bug 1058923 - Package mach in tests.zip; create bootstrap script for test package, r=gps
--HG--
extra : rebase_source : 9f988171182a0abd54724e0cc2906fe678da318f
extra : source : 7923a0c837b56efcd1376b95318fe4cdce03d5e8
2015-05-01 12:20:55 -04:00
Ehsan Akhgari 3e88d83106 Bug 892973 - Add support for the YouCompleteMe vim plugin; r=gps 2015-04-27 13:08:43 -04:00
Gregory Szorc 2949694ec0 Bug 1043144 - Don't write machc bytecode file; r=mshal
When writing bytecode, Python will append "c" to the loaded filename to
produce a bytecode file. Since "mach" was being imported, this resulted
in the creation of a "machc" file.

The implementation of imp.load_module() in CPython's import.c checks
sys.dont_write_bytecode. So, we wrap imp.load_module to set this flag
when importing mach.

--HG--
extra : rebase_source : 248a2349663affee3920a0726e10818d57c6ff17
extra : amend_source : 221280da9963cf91975658144ff3011353852fee
2014-08-05 10:39:24 -07:00