[tox]
envlist = packaging, py27, pep8

[testenv]
deps =
    coverage
    Twisted>=15.1
    mock
    python-subunit
    junitxml

    # needed by some of the tests
    lxml

setenv =
    PYTHONDONTWRITEBYTECODE = no_byte_code
    # As of twisted 16.4, trial tries to import the tests as a package, which
    # means it needs to be on the pythonpath.
    PYTHONPATH = {toxinidir}
commands =
    /bin/sh -c "find {toxinidir} -name '*.pyc' -delete ; coverage run {env:COVERAGE_OPTS:} --source={toxinidir}/synapse \
        {envbindir}/trial {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}"
    {env:DUMP_COVERAGE_COMMAND:coverage report -m}

[testenv:packaging]
deps =
    check-manifest
commands =
    check-manifest

[testenv:pep8]
skip_install = True
basepython = python2.7
deps =
    flake8
commands = /bin/sh -c "flake8 synapse tests {env:PEP8SUFFIX:}"