gecko-dev/python/mach
Dave Hunt c65268bd7a Bug 1388013 - Support running |mach python-test| against Python 3 using pipenv; r=ahal
This patch allows executing |mach python-test| against Python 3 by specifying the optional |--three| command line option. When this option is present, pipenv will be used to manage a virtual environment using Python 3 and attempt to run the tests. When it is not present, pipenv will not be used, and everything will work as it did before this patch.

My original plan was to use pipenv regardless of the target version of Python, however I encountered several issues running some of the tests against our Python packages. Once all tests have been patched to run against Python 3, then we should be able to use pipenv when running them against Python 2.

Note that this patch allows tests to run against Python 3, but there are plenty of issues preventing them from passing. With this patch in place we can start to add Python 3 support to our packages and have the tests running in CI to ensure we don't regress back to just supporting Python 2.

MozReview-Commit-ID: BuU5gZK83hL


IHG: changed taskcluster/ci/source-test/python.yml

--HG--
extra : rebase_source : ca2b15d905f7a5c895a2fd8916144841f5d205de
2018-05-03 10:34:22 +01:00
..
docs Bug 1393590 - [mach] Use description field for settings instead of gettext locales, r=gps 2017-08-24 16:17:40 -04:00
mach Bug 1453426 - Kill invoked process on keyboard interrupt in mach build. r=mshal 2018-04-17 15:30:27 -07:00
README.rst Bug 1108399 - Move mach docs into sphinx; r=ahal 2014-12-07 10:40:19 -08:00
bash-completion.sh
setup.py Bug 1388013 - Support running |mach python-test| against Python 3 using pipenv; r=ahal 2018-05-03 10:34:22 +01:00

README.rst

====
mach
====

Mach (German for *do*) is a generic command dispatcher for the command
line.

To use mach, you install the mach core (a Python package), create an
executable *driver* script (named whatever you want), and write mach
commands. When the *driver* is executed, mach dispatches to the
requested command handler automatically.

To learn more, read the docs in ``docs/``.