69 lines
2.1 KiB
INI
69 lines
2.1 KiB
INI
# 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 = py38
|
|
|
|
[testenv]
|
|
usedevelop = true
|
|
|
|
[testenv:py{38,39,310,311}]
|
|
extras =
|
|
linkify
|
|
testing
|
|
commands = pytest {posargs:tests/}
|
|
|
|
[testenv:py{38,39,310,311}-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{38,39,310,311}-bench-core]
|
|
extras = benchmarking
|
|
commands = pytest benchmarking/bench_core.py {posargs}
|
|
|
|
[testenv:py{38,39,310,311}-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" scripts/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"))'
|
|
|
|
[testenv:fuzz]
|
|
description = run fuzzer on testcase file
|
|
; See: https://google.github.io/oss-fuzz/
|
|
deps = atheris
|
|
commands_pre = python scripts/build_fuzzers.py {envdir}/oss-fuzz
|
|
commands = python {envdir}/oss-fuzz/infra/helper.py reproduce markdown-it-py fuzz_markdown {posargs:testcase}
|