[tox]
envlist = py26,py27,pep8,functest,functest-ci
minversion = 1.6
skipsdist = True

[testenv]
usedevelop = True
install_command = pip install --allow-external netifaces --allow-insecure netifaces -U {opts} {packages}
whitelist_externals=bash
setenv = VIRTUAL_ENV={envdir}
         NOSE_WITH_COVERAGE=1
         NOSE_COVER_BRANCHES=1
         NOSE_COVER_PACKAGE=swiftonfile
deps =
# Note: pip supports installing from git repos.
# https://pip.pypa.io/en/latest/reference/pip_install.html#git
# Example: git+https://github.com/openstack/swift.git@2.0.0
  https://launchpad.net/swift/kilo/2.3.0/+download/swift-2.3.0.tar.gz
  PyECLib==1.0.7
  -r{toxinidir}/test-requirements.txt
changedir = {toxinidir}/test/unit
commands = nosetests -v {posargs}

[testenv:cover]
setenv = VIRTUAL_ENV={envdir}
         NOSE_WITH_COVERAGE=1
         NOSE_COVER_BRANCHES=1
         NOSE_COVER_HTML=1
         NOSE_COVER_HTML_DIR={toxinidir}/cover

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

[testenv:functest]
changedir = {toxinidir}
commands = bash ./.functests -q

[testenv:pep8]
changedir = {toxinidir}
commands =
  flake8 swiftonfile test setup.py
  flake8 --filename=swiftonfile* bin

[testenv:venv]
changedir = {toxinidir}
commands = {posargs}

[flake8]
# it's not a bug that we aren't using all of hacking
# H102 -> apache2 license exists
# H103 -> license is apache
# H201 -> no bare excepts (unless marked with "  # noqa")
# H231 -> Check for except statements to be Python 3.x compatible
# H501 -> don't use locals() for str formatting
# H903 -> \n not \r\n
ignore = H
select = F,E,W,H102,H103,H201,H231,H501,H903
exclude = .venv,.tox,dist,doc,*egg,test
show-source = True