[tox] envlist = py27, py33, py34, py35, py36, py37, pypy, pypy3, coverage, docs minversion = 2.9.0 skip_missing_interpreters = true [testenv] description = run the unit tests with pytest under {basepython} setenv = COVERAGE_FILE={toxworkdir}/.coverage.{envname} passenv = DATEUTIL_MAY_CHANGE_TZ TOXENV CI TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* CODECOV_* commands = python -m pytest -m "not xfail" {posargs: "{toxinidir}/dateutil/test" --cov-config="{toxinidir}/tox.ini" --cov=dateutil} python -m pytest -m "xfail" {posargs: "{toxinidir}/dateutil/test"} deps = -rrequirements-dev.txt [testenv:coverage] description = combine coverage data and create reports deps = coverage skip_install = True changedir = {toxworkdir} setenv = COVERAGE_FILE=.coverage commands = coverage erase coverage combine coverage report --rcfile={toxinidir}/tox.ini coverage xml [testenv:codecov] description = [only run on CI]: upload coverage data to codecov (depends on coverage running first) deps = codecov skip_install = True commands = codecov --file {toxworkdir}/coverage.xml [testenv:dev] description = DEV environment usedevelop = True commands = python -m pip list --format=columns python -c 'import sys; print(sys.executable)' [coverage:run] source = dateutil [coverage:report] skip_covered = True show_missing = True [testenv:docs] description = invoke sphinx-build to build the HTML docs, check that URIs are valid basepython = python3.6 deps = -r docs/requirements-docs.txt {[testenv]deps} commands = sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out" {posargs:-W --color -bhtml} sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out" {posargs:-W --color -blinkcheck}