[tox]
envlist = py26,py27,py33,py34,pypy,gae,cover

[testenv]
basedeps = keyring
           mock>=1.3.0
           pycrypto>=2.6
           cryptography>=1.0
           pyopenssl>=0.14
           webtest
           nose
           flask
deps = {[testenv]basedeps}
       django
setenv =
    pypy: with_gmp=no
commands = nosetests --ignore-files=test_appengine\.py {posargs}

[coverbase]
basepython = python2.7
commands =
    nosetests \
      --with-coverage \
      --cover-package=oauth2client \
      --cover-package=tests \
      --cover-erase \
      --cover-tests \
      --cover-branches \
      --ignore-files=test_appengine\.py
    nosetests \
      --with-coverage \
      --cover-package=oauth2client.appengine \
      --cover-package=tests.test_appengine \
      --with-gae \
      --cover-tests \
      --cover-branches \
      --gae-application=tests/data \
      --gae-lib-root={env:GAE_PYTHONPATH} \
      --logging-level=INFO \
      tests/test_appengine.py
deps = {[testenv]deps}
    coverage
    nosegae

[testenv:cover]
basepython = {[coverbase]basepython}
commands =
    {[coverbase]commands}
    coverage report --show-missing --fail-under 80
deps =
    {[coverbase]deps}

[testenv:coveralls]
basepython = {[coverbase]basepython}
commands =
    {[coverbase]commands}
    coverage report --show-missing
    coveralls
deps =
    {[coverbase]deps}
    coveralls
passenv = {[testenv:system-tests]passenv}

[testenv:docs]
basepython = python2.7
deps =
    {[testenv:cover]deps}
    python-gflags
    pyyaml
    sphinx>=1.3b2
    sphinx-rtd-theme
    webapp2
commands = {toxinidir}/scripts/build-docs

[testenv:py26]
basepython = python2.6
deps = {[testenv]basedeps}
       django>=1.5,<1.6

[testenv:gae]
basepython = python2.7
deps = {[testenv]basedeps}
       nosegae
commands =
    nosetests --with-gae --gae-application=tests/data --logging-level=INFO tests/test_appengine.py
setenv:
    PYTHONPATH={env:GAE_PYTHONPATH:}

[testenv:system-tests]
basepython =
    python2.7
commands =
    {toxinidir}/scripts/run_system_tests.sh
deps =
    pycrypto>=2.6
    cryptography>=1.0
    pyopenssl>=0.14
passenv = GOOGLE_* OAUTH2CLIENT_* TRAVIS*

[testenv:system-tests3]
basepython =
    python3.4
commands =
    {toxinidir}/scripts/run_system_tests.sh
deps =
    pycrypto>=2.6
    cryptography>=1.0
    pyopenssl>=0.14
passenv = {[testenv:system-tests]passenv}
