text: [tox]
  envlist =
    lint
    py{27,35,36,37}
    py37-oldpy3deps
    py27-oldpy2deps
    coverage-report
    manifest
    pypi-description
  isolated_build = true
  
  [testenv]
  deps =
    oldpy2deps: redis==2.6.2
    oldpy2deps: flask==0.8.0
    oldpy2deps: werkzeug==0.8.3
    oldpy3deps: redis==2.6.2
    oldpy3deps: flask==0.11.1
    oldpy3deps: werkzeug==0.11.15
  extras = tests
  commands = coverage run --parallel-mode -m pytest {posargs}
  
  [testenv:coverage-report]
  basepython = python3.7
  skip_install = true
  deps = coverage
  commands =
      coverage combine
      coverage report
  
  [testenv:lint]
  basepython = python3.7
  skip_install = true
  deps = pre-commit
  passenv = HOMEPATH  # needed on Windows
  commands = pre-commit run --all-files
  
  [testenv:manifest]
  basepython = python3.7
  skip_install = true
  deps = check-manifest
  commands = check-manifest
  
  [testenv:pypi-description]
  basepython = python3.7
  skip_install = true
  deps = twine
  commands =
    pip wheel -w {envtmpdir}/build --no-deps .
    twine check {envtmpdir}/build/*
  