[tox]
envlist = py38, coverage
skip_missing_interpreters = true
[testenv]
passenv = APPVEYOR* CI SSL_CERT_FILE TEST_MARKER TRAVIS*
setenv = COVERAGE_FILE={toxworkdir}/.coverage.{envname}
usedevelop = True
deps = -rrequirements.txt
-rtest/requirements.txt
# TODO: way too many warnings in tests, remove `-p no:warnings` and get rid of them all
commands = pytest {posargs:-vv -p no:warnings -m {env:TEST_MARKER:main} --doctest-modules --cov-report term-missing --cov=vmaf/}
[testenv:coverage]
passenv = {[testenv]passenv}
setenv = COVERAGE_FILE={toxworkdir}/.coverage
basepython = python
skip_install = True
deps = coverage
commands = coverage combine
coverage report -i -m
coverage xml -i -o "{toxworkdir}/coverage.xml"
coverage html -i -d "{toxworkdir}/coverage"
# The 'venv*' sections are a handy way of creating a venv for local development (with python3 or python2)
[testenv:venv]
basepython = python3
envdir = .venv
usedevelop = True
deps = -rrequirements.txt
-rtest/requirements.txt
commands = python --version
# Configuration
[pytest]
cache_dir = .tox/.cache
python_files = *test.py
markers =
main: Main tests (exludes 'extra' and 'lib')
extra: Exercise test/extra/ (requires ffmpeg installed)
lib: Exercise test/lib/ (requires testlib installed).
[coverage:run]
source = vmaf