[tox]
envlist =
    py311-oauth2client{1,2,3,4}

[testenv]
deps =
    nose-py3
    python-gflags
    oauth2client1: oauth2client<1.5dev
    oauth2client2: oauth2client>=2,<=3dev
    oauth2client3: oauth2client>=3,<=4dev
    oauth2client4: oauth2client>=4,<=5dev
commands =
    pip install google-apitools[testing]
    nosetests []
passenv = TRAVIS*

[testenv:lint]
basepython =
    python3.11
commands =
    pip install six google-apitools
    pycodestyle apitools
deps =
    pycodestyle==2.4.0
    pylint

[testenv:cover]
basepython =
    python3.11
commands =
    nosetests --with-xunit --with-xcoverage --cover-package=apitools --nocapture --cover-erase --cover-tests --cover-branches []
deps =
    python-gflags
    mock
    nose
    coverage
    nosexcover

[testenv:coveralls]
basepython = {[testenv:cover]basepython}
commands =
    {[testenv:cover]commands}
    coveralls
deps =
    {[testenv:cover]deps}
    coveralls

[testenv:transfer_coverage]
basepython =
    python3.11
deps =
    mock
    nose
    coverage
commands =
    coverage run --branch -p samples/storage_sample/downloads_test.py
    coverage run --branch -p samples/storage_sample/uploads_test.py
    coverage run --branch -p apitools/base/py/transfer_test.py
    coverage combine
    coverage html
