[tox]
envlist = pep8,py27,py3
basepython = python3

[testenv]
deps =
    py27: mock
    pytest
    virtualenv
    py3: coveralls
    backports.tempfile
# posargs will be replaced by the tox args, so you can override pytest
# args e.g. `tox -- tests/test_graph.py`
commands = pytest {posargs:tests/}
passenv = TRAVIS TRAVIS_*
setenv =
    PYTHONPATH={toxinidir}

[testenv:py27]
# Note that the set of tests is not posargs-configurable here: we only
# check a minimal set of Python 2 tests for the remaining Python 2
# functionality that we support
commands = pytest tests/test_androidmodule_ctypes_finder.py tests/test_entrypoints_python2.py

[testenv:py3]
# for py3 env we will get code coverage
commands =
    coverage run --branch --source=pythonforandroid -m pytest {posargs:tests/}
    coverage report -m

[testenv:pep8]
deps = flake8
commands = flake8 pythonforandroid/ tests/ ci/

[flake8]
ignore =
    E123,  # Closing bracket does not match indentation of opening bracket's line
    E124,  # Closing bracket does not match visual indentation
    E126,  # Continuation line over-indented for hanging indent
    E226,  # Missing whitespace around arithmetic operator
    E402,  # Module level import not at top of file
    E501,  # Line too long (82 > 79 characters)
    W503,  # Line break occurred before a binary operator
    W504   # Line break occurred after a binary operator