[tox] skipsdist = True envlist = py{27,34,35,36,37,py,py3}-{build,tests}, docs-{html,doctest,linkcheck,spelling,style}, readme, safety, style, [testenv] changedir = !build: {envtmpdir} setenv = JSON_SCHEMA_TEST_SUITE = {toxinidir}/json whitelist_externals = python2.7 sh virtualenv commands = perf,tests: {envbindir}/python -m pip install '{toxinidir}[format]' tests: {envbindir}/trial {posargs:jsonschema} py{py,27,37}-tests: {envpython} -m doctest {toxinidir}/README.rst perf: {envpython} {toxinidir}/jsonschema/benchmarks/json_schema_test_suite.py --inherit-environ JSON_SCHEMA_TEST_SUITE perf: {envpython} {toxinidir}/jsonschema/benchmarks/issue232.py --inherit-environ JSON_SCHEMA_TEST_SUITE # Check to make sure that releases build and install properly build: virtualenv --quiet --python=python2.7 {envtmpdir}/venv build: {envtmpdir}/venv/bin/pip install --quiet wheel build: {envtmpdir}/venv/bin/python {toxinidir}/setup.py --quiet bdist_wheel --dist-dir={envtmpdir}/wheel build: sh -c '{envbindir}/pip install --quiet --upgrade --force-reinstall {envtmpdir}/wheel/jsonschema*.whl' build: python2.7 {toxinidir}/setup.py --quiet sdist --dist-dir={envtmpdir}/sdist --format=gztar,zip build: sh -c '{envbindir}/pip install --quiet --upgrade --force-reinstall {envtmpdir}/sdist/jsonschema*.tar.gz' build: sh -c '{envbindir}/pip install --quiet --upgrade --force-reinstall {envtmpdir}/sdist/jsonschema*.zip' deps = -r{toxinidir}/test-requirements.txt tests,coverage,codecov: twisted tests: lxml tests: sphinx coverage,codecov: coverage codecov: codecov perf: perf safety: safety [testenv:readme] changedir = {toxinidir} deps = readme_renderer commands = {envbindir}/python setup.py check --restructuredtext --strict [testenv:safety] deps = safety commands = {envbindir}/pip install '{toxinidir}[format]' {envbindir}/safety check [testenv:style] basepython = pypy deps = ebb-lint>=0.19.1.0 commands = {envbindir}/flake8 {posargs} {toxinidir}/jsonschema {toxinidir}/docs {toxinidir}/setup.py [testenv:coverage] setenv = {[testenv]setenv} COVERAGE_DEBUG_FILE={envtmpdir}/coverage-debug COVERAGE_FILE={envtmpdir}/coverage-data commands = {envbindir}/python -m pip install '{toxinidir}[format]' {envbindir}/coverage run --rcfile={toxinidir}/.coveragerc {envbindir}/trial jsonschema {envbindir}/coverage report --rcfile={toxinidir}/.coveragerc --show-missing {envbindir}/coverage html --directory={envtmpdir}/htmlcov --rcfile={toxinidir}/.coveragerc {posargs} [testenv:codecov] passenv = CODECOV* CI TRAVIS TRAVIS_* setenv = {[testenv:coverage]setenv} commands = {envbindir}/python -m pip install '{toxinidir}[format]' {envbindir}/coverage run --rcfile={toxinidir}/.coveragerc {envbindir}/trial jsonschema {envbindir}/coverage xml -o {envtmpdir}/coverage.xml codecov --required --disable gcov --file {envtmpdir}/coverage.xml [testenv:docs-html] basepython = pypy changedir = docs whitelist_externals = make commands = make -f {toxinidir}/docs/Makefile BUILDDIR={envtmpdir}/build SPHINXOPTS='-a -c {toxinidir}/docs/ -n -T -W {posargs}' html deps = -r{toxinidir}/docs/requirements.txt -e{toxinidir} [testenv:docs-doctest] basepython = pypy changedir = docs whitelist_externals = make commands = make -f {toxinidir}/docs/Makefile BUILDDIR={envtmpdir}/build SPHINXOPTS='-a -c {toxinidir}/docs/ -n -T -W {posargs}' doctest deps = -r{toxinidir}/docs/requirements.txt -e{toxinidir} [testenv:docs-linkcheck] basepython = pypy changedir = docs whitelist_externals = make commands = make -f {toxinidir}/docs/Makefile BUILDDIR={envtmpdir}/build SPHINXOPTS='-a -c {toxinidir}/docs/ -n -T -W {posargs}' linkcheck deps = -r{toxinidir}/docs/requirements.txt -e{toxinidir} [testenv:docs-spelling] basepython = pypy changedir = docs whitelist_externals = make commands = make -f {toxinidir}/docs/Makefile BUILDDIR={envtmpdir}/build SPHINXOPTS='-a -c {toxinidir}/docs/ -n -T -W {posargs}' spelling deps = -r{toxinidir}/docs/requirements.txt -e{toxinidir} [testenv:docs-style] basepython = pypy changedir = docs commands = doc8 {posargs} {toxinidir}/docs deps = doc8 pygments pygments-github-lexers [doc8] ignore-path = version.txt, .*/, _*/ [travis] python = pypy: pypy, docs, readme, style