# 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. [pytest] twisted = 1 [tox] envlist = py27 minversion = 2.4 skipsdist = True [testenv] basepython=python2.7 passenv = TAHOE_LAFS_* PIP_* SUBUNITREPORTER_* USERPROFILE HOMEDRIVE HOMEPATH # Get "certifi" to avoid bug #2913. Basically if a `setup_requires=...` causes # a package to be installed (with setuptools) then it'll fail on certain # platforms (travis's OX-X 10.12, Slackware 14.2) because PyPI's TLS # requirements (TLS >= 1.2) are incompatible with the old TLS clients # available to those systems. Installing it ahead of time (with pip) avoids # this problem. deps = certifi subunitreporter # We add usedevelop=True for speed, and extras=test to get things like "mock" # that are required for our unit tests. usedevelop = True extras = test commands = tahoe --version trial {env:TAHOE_LAFS_TRIAL_ARGS:--rterrors} {posargs:allmydata} [testenv:integration] commands = # NOTE: 'run with "py.test --keep-tempdir -s -v integration/" to debug failures' py.test -v integration/ [testenv:coverage] # coverage (with --branch) takes about 65% longer to run commands = tahoe --version coverage run --branch -m twisted.trial {env:TAHOE_LAFS_TRIAL_ARGS:--rterrors --reporter=timing} {posargs:allmydata} coverage xml [testenv:codechecks] commands = pyflakes src static misc setup.py python misc/coding_tools/check-umids.py src python misc/coding_tools/check-debugging.py python misc/coding_tools/find-trailing-spaces.py -r src static misc setup.py python misc/coding_tools/check-miscaptures.py [testenv:deprecations] setenv = PYTHONWARNINGS=default::DeprecationWarning commands = python misc/build_helpers/run-deprecations.py --warnings={env:TAHOE_LAFS_WARNINGS_LOG:_trial_temp/deprecation-warnings.log} trial {env:TAHOE_LAFS_TRIAL_ARGS:--rterrors} {posargs:allmydata} [testenv:upcoming-deprecations] setenv = PYTHONWARNINGS=default::DeprecationWarning deps = # Take the base deps as well! {[testenv]deps} git+https://github.com/twisted/twisted git+https://github.com/warner/foolscap commands = flogtool --version python misc/build_helpers/run-deprecations.py --warnings={env:TAHOE_LAFS_WARNINGS_LOG:_trial_temp/deprecation-warnings.log} trial {env:TAHOE_LAFS_TRIAL_ARGS:--rterrors} {posargs:allmydata} [testenv:checkmemory] commands = rm -rf _test_memory python src/allmydata/test/check_memory.py upload python src/allmydata/test/check_memory.py upload-self python src/allmydata/test/check_memory.py upload-POST python src/allmydata/test/check_memory.py download python src/allmydata/test/check_memory.py download-GET python src/allmydata/test/check_memory.py download-GET-slow python src/allmydata/test/check_memory.py receive # Use 'tox -e docs' to check formatting and cross-references in docs .rst # files. The published docs are built by code run over at readthedocs.org, # which does not use this target (but does something similar). # # If you have "sphinx" installed in your virtualenv, you can just do "make -C # docs html", or "cd docs; make html". # # You can also open docs/_build/html/index.html to see the rendered docs in # your web browser. [testenv:docs] # we pin docutils because of https://sourceforge.net/p/docutils/bugs/301/ # which asserts when it reads links to .svg files (e.g. about.rst) deps = sphinx docutils==0.12 # normal install is not needed for docs, and slows things down skip_install = True commands = sphinx-build -b html -d {toxinidir}/docs/_build/doctrees {toxinidir}/docs {toxinidir}/docs/_build/html [testenv:pyinstaller] extras = deps = packaging pyinstaller # Setting PYTHONHASHSEED to a known value assists with reproducible builds. # See https://pyinstaller.readthedocs.io/en/stable/advanced-topics.html#creating-a-reproducible-build setenv=PYTHONHASHSEED=1 commands=pyinstaller -y --clean pyinstaller.spec [testenv:tarballs] deps = commands = python setup.py update_version python setup.py sdist --formats=bztar,gztar,zip bdist_wheel