2016-03-09 05:16:36 +00:00
|
|
|
# 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]
|
|
|
|
envlist = py27
|
2016-11-23 12:40:22 +00:00
|
|
|
minversion = 1.7
|
2016-03-09 05:16:36 +00:00
|
|
|
|
|
|
|
[testenv]
|
2017-07-26 14:25:38 +00:00
|
|
|
passenv = TAHOE_LAFS_TRIAL_ARGS USERPROFILE HOMEDRIVE HOMEPATH
|
2016-05-09 20:56:06 +00:00
|
|
|
# the default install is non-(--editable), and would displace our -e .[test]
|
|
|
|
skip_install = True
|
2016-04-12 21:28:02 +00:00
|
|
|
deps = --editable=.[test]
|
2016-03-09 05:16:36 +00:00
|
|
|
commands =
|
2016-07-20 00:18:31 +00:00
|
|
|
pyflakes src static misc setup.py
|
2016-03-18 05:01:33 +00:00
|
|
|
tahoe --version
|
2017-07-26 14:25:38 +00:00
|
|
|
trial {env:TAHOE_LAFS_TRIAL_ARGS:--rterrors} {posargs:allmydata}
|
2016-03-09 05:16:36 +00:00
|
|
|
|
2016-08-22 23:36:56 +00:00
|
|
|
[testenv:integration]
|
|
|
|
commands =
|
2016-09-15 17:43:46 +00:00
|
|
|
# NOTE: 'run with "py.test --keep-tempdir -s -v integration/" to debug failures'
|
2016-08-22 23:36:56 +00:00
|
|
|
py.test -v integration/
|
|
|
|
|
2016-05-09 20:59:54 +00:00
|
|
|
[testenv:coverage]
|
|
|
|
# coverage (with --branch) takes about 65% longer to run
|
2017-07-26 14:25:38 +00:00
|
|
|
passenv = TAHOE_LAFS_TRIAL_ARGS USERPROFILE HOMEDRIVE HOMEPATH
|
2016-05-09 20:59:54 +00:00
|
|
|
skip_install = True
|
|
|
|
deps = --editable=.[test]
|
|
|
|
commands =
|
2016-07-20 00:18:31 +00:00
|
|
|
pyflakes src static misc setup.py
|
2016-05-09 20:59:54 +00:00
|
|
|
tahoe --version
|
2017-07-26 14:25:38 +00:00
|
|
|
coverage run --branch -m allmydata.test.run_trial {env:TAHOE_LAFS_TRIAL_ARGS:--rterrors --reporter=timing} {posargs:allmydata}
|
2016-09-29 05:24:10 +00:00
|
|
|
coverage xml
|
2016-05-09 20:59:54 +00:00
|
|
|
|
2016-04-06 23:57:41 +00:00
|
|
|
[testenv:codechecks]
|
|
|
|
passenv = USERPROFILE HOMEDRIVE HOMEPATH
|
|
|
|
skip_install = True
|
|
|
|
deps = --editable=.[test]
|
|
|
|
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
|
|
|
|
# note: check-interfaces.py imports everything, so it must be run
|
|
|
|
# from a populated virtualenv
|
|
|
|
python misc/coding_tools/check-interfaces.py
|
|
|
|
|
2016-03-09 05:16:36 +00:00
|
|
|
[testenv:deprecations]
|
2016-03-27 19:05:18 +00:00
|
|
|
basepython=python2.7
|
2017-07-26 14:25:38 +00:00
|
|
|
passenv = TAHOE_LAFS_TRIAL_ARGS USERPROFILE HOMEDRIVE HOMEPATH
|
2016-05-09 20:56:06 +00:00
|
|
|
skip_install = True
|
2016-04-12 21:28:02 +00:00
|
|
|
deps = --editable=.[test]
|
2016-03-09 05:16:36 +00:00
|
|
|
setenv =
|
2016-03-27 21:59:20 +00:00
|
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
2016-03-09 05:16:36 +00:00
|
|
|
commands =
|
2017-07-26 14:25:38 +00:00
|
|
|
python misc/build_helpers/run-deprecations.py --warnings=_trial_temp/deprecation-warnings.log trial {env:TAHOE_LAFS_TRIAL_ARGS:--rterrors} {posargs:allmydata}
|
2016-03-09 05:17:51 +00:00
|
|
|
|
2016-04-06 19:24:15 +00:00
|
|
|
[testenv:upcoming-deprecations]
|
|
|
|
basepython=python2.7
|
2017-07-26 14:25:38 +00:00
|
|
|
passenv = TAHOE_LAFS_TRIAL_ARGS USERPROFILE HOMEDRIVE HOMEPATH
|
2016-04-06 19:24:15 +00:00
|
|
|
setenv =
|
|
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
2016-05-09 20:56:06 +00:00
|
|
|
skip_install = True
|
2016-04-06 19:24:15 +00:00
|
|
|
deps =
|
2016-04-12 21:28:02 +00:00
|
|
|
--editable=.[test]
|
2016-04-06 19:24:15 +00:00
|
|
|
git+https://github.com/twisted/twisted
|
|
|
|
git+https://github.com/warner/foolscap
|
|
|
|
commands =
|
2016-04-06 23:34:14 +00:00
|
|
|
flogtool --version
|
2017-07-26 14:25:38 +00:00
|
|
|
python misc/build_helpers/run-deprecations.py --warnings=_trial_temp/deprecation-warnings.log trial {env:TAHOE_LAFS_TRIAL_ARGS:--rterrors} {posargs:allmydata}
|
2016-04-06 19:24:15 +00:00
|
|
|
|
2016-03-09 05:17:51 +00:00
|
|
|
[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
|
2016-03-31 22:59:49 +00:00
|
|
|
|
|
|
|
# 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]
|
2016-12-12 20:57:08 +00:00
|
|
|
# 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
|
2016-05-09 20:56:06 +00:00
|
|
|
# normal install is not needed for docs, and slows things down
|
|
|
|
skip_install = True
|
2016-03-31 22:59:49 +00:00
|
|
|
commands =
|
|
|
|
sphinx-build -b html -d {toxinidir}/docs/_build/doctrees {toxinidir}/docs {toxinidir}/docs/_build/html
|
2017-06-08 01:03:11 +00:00
|
|
|
|
|
|
|
[testenv:pyinstaller]
|
|
|
|
basepython=python2.7
|
|
|
|
# Do not use the '--editable' flag for this testenv as the 'pyinstaller.spec'
|
|
|
|
# script called below will need patch the source tree at build-time in order
|
|
|
|
# to remove the setuptools requirement from '_auto_deps.py' (and we want to
|
|
|
|
# avoid race-conditions when running tests in parallel, e.g., with "detox").
|
|
|
|
deps =
|
|
|
|
.
|
|
|
|
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
|