[tox]
minversion = 1.6
skipsdist = True
envlist = pep8, py27

[testenv]
# Set STATSD env variables so that statsd code paths are tested.
setenv = STATSD_HOST=localhost
         STATSD_PORT=8125
         VIRTUAL_ENV={envdir}
         OS_TEST_TIMEOUT=30
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands =
  python setup.py testr --slowest --testr-args='{posargs}'

[tox:jenkins]
downloadcache = ~/cache/pip

[testenv:pep8]
commands = flake8

[testenv:cover]
commands =
  python setup.py testr --coverage

[testenv:venv]
commands = {posargs}

[testenv:validate-layout]
commands = zuul-server -c etc/zuul.conf-sample -t -l {posargs}

[flake8]
ignore = E125,H
show-source = True
exclude = .venv,.tox,dist,doc,build,*.egg

[tox]
minversion = 1.6
skipsdist = True
envlist = pep8, py27

[testenv]
# Set STATSD env variables so that statsd code paths are tested.
setenv = STATSD_HOST=localhost
         STATSD_PORT=8125
         VIRTUAL_ENV={envdir}
         OS_TEST_TIMEOUT=30
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands =
  python setup.py testr --slowest --testr-args='{posargs}'

[tox:jenkins]
downloadcache = ~/cache/pip

[testenv:pep8]
commands = flake8

[testenv:cover]
commands =
  python setup.py testr --coverage

[testenv:doc]
commands = python setup.py build_sphinx

[testenv:venv]
commands = {posargs}

[testenv:validate-layout]
commands = zuul-server -c etc/zuul.conf-sample -t -l {posargs}

[flake8]
ignore = E125,H
show-source = True
exclude = .venv,.tox,dist,doc,build,*.egg

Use venv to build documentation
Use venv to build documentation

The Sphinx documentation now make use of the `program-output` plugin
which would invoke commands to generate inline documentation. Ex:

    program-output:: zuul --help
    program-output:: zuul enqueue --help

We want the resulting output to correspond to Zuul source code, not the
command which is currently installed on the host running the doc.  On my
setup sphinx would die out because it cant find the command 'zuul'.

The new tox environement 'doc' runs sphinx in a virtual env which will
have the proper zuul command.

The generated doc is not written under the /.tox directory but to
/doc/build/html for convenience.

Example usage:

    tox -edoc && open doc/build/html/index.html

Change-Id: Ib0170f94bb2c09eb60e555a32e101e2e0959b18e
