зеркало из https://github.com/mozilla/gecko-dev.git
cc764ee794
The way it works now, `mach` commands often invoke subprocesses where the subprocesses' stdio file descriptors are pipes so the mach command can e.g. parse output. Processes like clang, gcc, and cargo determine if they can send color codes to {stderr, stdout} by seeing if those file descriptors are TTYs. When e.g. `make` is executed via `mach`, this test fails because those descriptors are pipes (even though they eventually end up on a TTY). We can't wire the file descriptors to the TTY because `mach` needs to analyze output. We don't want users defining process flags to force color in their mozconfigs because color codes would still be sent if stdout was not a TTY. This patch sets the MACH_STDOUT_ISATTY environment variable in all mach commands when stdout is a TTY. Subsequent processes can then look for this variable to determine whether to override color settings, print terminal control codes, etc. MozReview-Commit-ID: GxXP2mQssjC --HG-- extra : rebase_source : 4b99547b453cb7dd5cb590a71ed554ce2bc4759d |
||
---|---|---|
.. | ||
PyECC | ||
altgraph | ||
bitstring | ||
blessings | ||
compare-locales | ||
configobj | ||
devtools/migrate-l10n | ||
eme | ||
futures | ||
gdbpp/gdbpp | ||
jsmin | ||
lldbutils | ||
mach | ||
macholib | ||
mock-1.0.0 | ||
mozboot | ||
mozbuild | ||
mozlint | ||
mozversioncontrol/mozversioncontrol | ||
psutil | ||
py | ||
pyasn1 | ||
pyasn1-modules | ||
pylru | ||
pystache | ||
pytest | ||
pytoml | ||
pyyaml | ||
redo | ||
requests | ||
rsa | ||
slugid | ||
virtualenv | ||
voluptuous | ||
which | ||
README | ||
mach_commands.py | ||
moz.build |
README
This directory contains common Python code. The basic rule is that if Python code is cross-module (that's "module" in the Mozilla meaning - as in "module ownership") and is MPL-compatible, it should go here. What should not go here: * Python that is not MPL-compatible (see other-licenses/) * Python that has good reason to remain close to its "owning" (Mozilla) module (e.g. it is only being consumed from there). Historical information can be found at https://bugzilla.mozilla.org/show_bug.cgi?id=775243 ## pyyaml | pystache Used in taskcluster related mach commands to update download from github and remove .git and tests. Then run tests in taskcluster/tests/