text: # Tox (http://tox.testrun.org/) is a tool for running tests
  # in multiple virtualenvs. This configuration file will run the
  # test suite on all supported python versions. To use it, "pip install tox"
  # and then run "tox" from this directory.
  
  [tox]
  # useful envs: py27-nodilate, py35, py36, py37, py38, pypy, flake8
  envlist = {py27-nodilate,py35,py36,py37,py38}
  skip_missing_interpreters = True
  minversion = 2.4.0
  
  [testenv]
  usedevelop = True
  extras =
      nodilate: dev
      !nodilate: dev, dilate
  deps =
      pyflakes >= 1.2.3
      coverage: coverage
  commands =
      pyflakes setup.py src
      wormhole --version
      !coverage: python -m wormhole.test.run_trial {posargs:wormhole}
      coverage: coverage run --branch -m wormhole.test.run_trial {posargs:wormhole}
      coverage: coverage xml
  
  # on windows, trial is installed as venv/bin/trial.py, not .exe, but (at
  # least appveyor) adds .PY to $PATHEXT. So "trial wormhole" might work on
  # windows, and certainly does on unix. But to get "coverage run" to work, we
  # need a script name (since "python -m twisted.scripts.trial" doesn't have a
  # 'if __name__ == "__main__": run()' -style clause), and the script name will
  # vary on the platform. So we added a small class (wormhole.test.run_trial)
  # that does the right import for us.
  
  [testenv:flake8]
  deps = flake8
  commands = flake8 src/wormhole
  
  [flake8]
  ignore = E741,W503,W504
  exclude = .git,__pycache__,docs/source/conf.py,old,build,dist
  max-complexity = 40
  
  [testenv:flake8less]
  deps = flake8
  commands = flake8 --select=E901,E999,F821,F822,F823 src/wormhole
  
  [testenv:docs]
  deps =
       sphinx
       recommonmark
  skip_install = True
  commands =
           sphinx-build -b html -d {toxinidir}/docs/_build/doctrees {toxinidir}/docs {toxinidir}/docs/_build/html
  