[tox]
minversion = 3.1.1
skipsdist = True
envlist = py35,py27,pep8
# Automatic envs (pyXX) will use the python version appropriate to that
# env and ignore basepython inherited from [testenv]. That's what we
# want, and we don't need to be warned about it.
ignore_basepython_conflict = True

[testenv]
basepython = python3
usedevelop = True
install_command = pip install {opts} {packages}
setenv =
  VIRTUAL_ENV={envdir}
  PYTHONHASHSEED=0
  LANGUAGE=en_US
  LC_ALL=en_US.utf-8
  OS_STDOUT_CAPTURE=1
  OS_STDERR_CAPTURE=1
  OS_TEST_TIMEOUT=60
deps =
       -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
       -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
       -egit+https://git.openstack.org/openstack/ceilometer#egg=ceilometer
       -rhttps://git.openstack.org/cgit/openstack/ceilometer/plain/test-requirements.txt
whitelist_externals =
  bash
  find
commands =
  find . -type f -name "*.pyc" -delete

[testenv:py27]
basepython = python2.7
commands =
  {[testenv]commands}
  stestr run {posargs}
  stestr slowest

[testenv:py35]
basepython = python3.5
commands =
  {[testenv]commands}
  stestr run {posargs}
  stestr slowest

[testenv:pep8]
commands = flake8

[testenv:venv]
commands = {posargs}

[testenv:cover]
setenv =
    {[testenv]setenv}
    PYTHON=coverage run --source ceilometer_powervm --parallel-mode
commands =
    {[testenv]commands}
    coverage erase
    stestr run {posargs}
    coverage combine
    coverage html -d cover
    coverage xml -o cover/coverage.xml
    coverage report

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

[testenv:bashate]
commands =
  bash -c "ls devstack/*.sh | xargs bashate -v {posargs}"
whitelist_externals = bash

[flake8]
ignore =
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,nova_tests,build
show-source = true

[hacking]
import_exceptions = ceilometer.openstack.common.gettextutils

[testenv:lower-constraints]
basepython = python3
deps =
  -c{toxinidir}/lower-constraints.txt
  -r{toxinidir}/test-requirements.txt
  -r{toxinidir}/requirements.txt
  -egit+https://git.openstack.org/openstack/ceilometer#egg=ceilometer
  -rhttps://git.openstack.org/cgit/openstack/ceilometer/plain/test-requirements.txt
