summaryrefslogtreecommitdiffstats
path: root/tox.ini
diff options
context:
space:
mode:
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini65
1 files changed, 65 insertions, 0 deletions
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..f4e117e
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,65 @@
+# To use tox, see https://tox.readthedocs.io
+# Simply pip or conda install tox
+# If you use conda, you may also want to install tox-conda
+# then run `tox` or `tox -- {pytest args}`
+# run in parallel using `tox -p`
+[tox]
+envlist = py37
+
+[testenv]
+usedevelop = true
+
+[testenv:py{37,38,39,310}]
+extras =
+ linkify
+ testing
+commands = pytest {posargs:tests/}
+
+[testenv:py{37,38,39,310}-plugins]
+extras = testing
+changedir = {envtmpdir}
+allowlist_externals =
+ git
+ pip
+commands_pre =
+ git clone https://github.com/executablebooks/mdit-py-plugins.git
+ pip install --no-deps -e mdit-py-plugins
+commands =
+ pytest {posargs}
+
+[testenv:py{37,38,39}-bench-core]
+extras = benchmarking
+commands = pytest benchmarking/bench_core.py {posargs}
+
+[testenv:py{37,38}-bench-packages]
+extras = benchmarking,compare
+commands = pytest benchmarking/bench_packages.py {posargs}
+
+[testenv:docs-{update,clean}]
+extras = linkify,plugins,rtd
+whitelist_externals =
+ echo
+ rm
+setenv =
+ update: SKIP_APIDOC = true
+commands =
+ clean: rm -rf docs/_build
+ sphinx-build -nW --keep-going -b {posargs:html} docs/ docs/_build/{posargs:html}
+commands_post = echo "open file://{toxinidir}/docs/_build/{posargs:html}/index.html"
+
+[testenv:profile]
+description = run profiler (use e.g. `firefox .tox/prof/output.svg` to open)
+extras = profiling
+allowlist_externals =
+ mkdir
+ dot
+commands =
+ mkdir -p "{toxworkdir}/prof"
+ python -m cProfile -o "{toxworkdir}/prof/output.pstats" profiler.py
+ gprof2dot -f pstats -o "{toxworkdir}/prof/output.dot" "{toxworkdir}/prof/output.pstats"
+ dot -Tsvg -o "{toxworkdir}/prof/output.svg" "{toxworkdir}/prof/output.dot"
+ python -c 'import pathlib; print("profiler svg output under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "prof" / "output.svg"))'
+
+[flake8]
+max-line-length = 100
+extend-ignore = E203