forked from zarr-developers/zarr-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtox.ini
54 lines (50 loc) · 2.01 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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]
# N.B., test different versions of numpy under py36 rather than py37
# because wheels for npy113 not available for py37
envlist = py27, py35, py36-npy{113,114,115}, py37, docs
[testenv]
install_command = pip install --no-binary=numcodecs {opts} {packages}
setenv =
PYTHONHASHSEED = 42
# hooks for coverage exclusions based on Python major version
py35,py36,py37: PY_MAJOR_VERSION = py3
py27: PY_MAJOR_VERSION = py2
commands =
# clear out any data files generated during tests
python -c 'import glob; import shutil; import os; [(shutil.rmtree(d) if os.path.isdir(d) else os.remove(d) if os.path.isfile(d) else None) for d in glob.glob("./example*")]'
# main unit test runner
# N.B., don't run npy113 or npy114 with coverage because it is run together npy115 on travis
py27,py35,py36-npy115: pytest -v --cov=zarr --cov-config=.coveragerc zarr
py36-npy113: pytest -v zarr
py36-npy114: pytest -v zarr
py37: pytest -v --cov=zarr --cov-config=.coveragerc --doctest-modules zarr
# generate a coverate report
py27,py35,py36-npy115,py37: coverage report -m
# run doctests in the tutorial and spec
py37: python -m doctest -o NORMALIZE_WHITESPACE -o ELLIPSIS docs/tutorial.rst docs/spec/v2.rst
# pep8 checks
py37: flake8 zarr
# print environment for debugging
pip freeze
deps =
py27: backports.lzma
py36-npy113: numpy==1.13.3
py36-npy114: numpy==1.14.6
py27,py35,py36-npy115,py37: -rrequirements_dev_npy.txt
-rrequirements_test.txt
-rrequirements_dev.txt
# linux only
-rrequirements_dev_optional.txt
[testenv:docs]
basepython = python2.7
changedir = docs
deps =
-rrequirements_rtfd.txt
commands =
sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
[flake8]
max-line-length = 100