gecko-dev/testing/mozharness
Gregory Szorc d580a24fa9 Bug 1304282 - Disable output buffering from mozharness spawned processes; r=ted
Without this, process output is buffered by default. This means
timestamps that mozharness prefixes to process output aren't
accurate unless the process is spewing enough output to flush the
output buffer.

Output buffering could lead to bad things. For example, a process
could emit output that would cause mozharness's output monitor to
abort the process. However, if that output is caught in limbo in
the output buffer, mozharness may take several seconds or even
minutes to react.

With this change, the mozharness process receives process output
as soon as that process writes to its standard file descriptors.
Once a newline is seen, mozharness will process it immediately.

Note that this only impacts the case where there is no output
timeout, as the existing code for output timeout uses mozprocess
and I'm pretty sure mozharness doesn't buffer output.

MozReview-Commit-ID: HBkYnfEw7Hb

--HG--
extra : rebase_source : e17b44d88f27c16b054a64c3cc2b3415297daf3b
2016-09-20 23:04:37 -07:00
..
configs revert Bug 1303590 - Remove Luciddream test suite r=aobreja CLOSED TREE 2016-09-21 08:55:24 -04:00
docs Bug 1274059 - Remove HgtoolVCS - Part 2, remove actual classes and docs for hgtool. r=nthomas 2016-08-19 09:09:08 -04:00
examples
external_tools Bug 1300191 - Move machine-configuration.json into mozharness; r=jmaher 2016-09-02 15:09:02 -06:00
mozfile
mozharness Bug 1304282 - Disable output buffering from mozharness spawned processes; r=ted 2016-09-20 23:04:37 -07:00
mozinfo
mozprocess
scripts Bug 1278702 - Fail early in compiled-code tests with --artifact Try syntax; r=armenzg 2016-09-20 13:43:06 -04:00
test Bug 1272083 - Download and unpacking should be performed in process. r=gps 2016-08-25 11:04:16 -04:00
LICENSE
mach_commands.py Bug 1238079 - remove the desktop web runtime; r=fabrice,mossop,gps,jryans,jmaher,marco 2016-03-07 13:33:12 -08:00
README.txt Bug 1240733 - Improve tox configuration for optional arguments. r=jlund DONTBUILD 2016-01-20 11:01:19 +01:00
requirements.txt Bug 1278103 - Google update their api client. Needs to update the client r=jlund 2016-06-13 15:31:50 +01:00
setup.cfg
setup.py
tox.ini Bug 1270317 - Upgrade to Mercurial 3.7.3 in the mozharness test environment; r=jlund 2016-05-06 10:49:08 -07:00
unit.sh

# Mozharness

## Docs
* https://developer.mozilla.org/en-US/docs/Mozharness_FAQ
* https://wiki.mozilla.org/ReleaseEngineering/Mozharness
* http://moz-releng-mozharness.readthedocs.org/en/latest/mozharness.mozilla.html
* http://moz-releng-docs.readthedocs.org/en/latest/software.html#mozharness

## Submitting changes
Like any Gecko change, please create a patch or submit to Mozreview and
open a Bugzilla ticket under the Mozharness component:
https://bugzilla.mozilla.org/enter_bug.cgi?product=Release%20Engineering&component=Mozharness

This bug will get triaged by Release Engineering

## Run unit tests
To run the unit tests of mozharness the `tox` package needs to be installed:

```
pip install tox
```

There are various ways to run the unit tests. Just make sure you are within the `$gecko_repo/testing/mozharness` directory before running one of the commands below:

```
tox                            # run all unit tests
tox -- -x                      # run all unit tests but stop after first failure
tox -- test/test_base_log.py   # only run the base log unit test
```

Happy contributing! =)