blob: af4ab916e14662decbbc2e440a11d4279aeea9a2 [file] [log] [blame]
# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates.
# SPDX-License-Identifier: Apache-2.0
[tox]
envlist = test
isolated_build = true
[testenv:test]
description = Run the unit tests.
deps =
pytest==7.2.0
commands =
pytest {posargs:tests/}
[testenv:{e2e,e2e_setup}]
description = Run the end-to-end tests.
# Re-use the same env for both e2e and e2e_setup
envdir={toxworkdir}/e2e
deps =
{[testenv:test]deps}
rst2pdf
setenv =
PYTHONUNBUFFERED=1
COLUMNS=120
MLIA_E2E_CONFIG_FILE={posargs:e2e_config/e2e_tests_config.json}
LD_LIBRARY_PATH=:/opt/VHT
passenv =
ARMLMD_LICENSE_FILE
commands =
e2e_setup: {posargs}
e2e: pytest --collect-only -m "e2e" "tests_e2e"
e2e: pytest -s -v --capture=tee-sys --durations=0 --durations-min=5 --tb=long --junit-xml=report/report.xml -m "e2e" "tests_e2e"
[testenv:coverage]
description = Run the code coverage of the unit tests.
deps =
{[testenv:test]deps}
pytest-cov==4.0.0
commands =
pytest --cov=mlia --cov-report term-missing --cov-fail-under=95 tests/
[testenv:{lint,lint_setup}]
description = Run and setup the pre-commit hooks.
# Re-use the same env for both lint and lint_setup
envdir={toxworkdir}/lint
deps =
{[testenv:test]deps}
mypy==0.982
pylint==2.15.5
pre-commit
# Pass the following environment variables:
# - HOME: Workaround for an issue with markdownlint in a docker environment
# - SKIP: Allows skipping of pre-commit hooks, e.g. "SKIP=reuse tox -e lint"
passenv =
HOME
SKIP
commands =
lint_setup: pre-commit install-hooks
lint: pre-commit run --all-files --hook-stage=push {posargs}
[testenv:build]
description = Build a wheel file (platform name as optional argument [manylinux2014_aarch64, manylinux2014_x86_64]).
deps =
build
commands =
python -m build --wheel --config-setting=--build-option=--plat-name={posargs:manylinux2014_x86_64}
[testenv:docs]
description = Create the documentation.
allowlist_externals = make
deps =
Sphinx==4.5.0
sphinx-rtd-theme==1.0.0
commands =
sphinx-apidoc -f -o docs/source src/mlia
make --directory docs html