Files
OpenVixDiskLib/tox.ini
T
Lucian PetrutandCursor 4ddf0c015d Add openvixdisklib as an open NBD replacement for VMware VDDK.
VDDK is no longer publicly distributed, so this library reverse-engineers
the vSphere NFC path and exposes ConnectEx, Open, Read, and Write without
the proprietary SDK.

Co-authored-by: Cursor <[email protected]>
2026-09-07 11:41:01 +00:00

95 lines
2.0 KiB
INI

# Copyright 2026 Cloudbase Solutions Srl
# All Rights Reserved.
[tox]
minversion = 4.0.2
envlist = fmt,flake8,mypy,pep8,py3
skipsdist = True
[vars]
src_path = {toxinidir}/openvixdisklib
tst_path = {toxinidir}/tests
all_path = {[vars]src_path} {[vars]tst_path}
vddk_path = {toxinidir}/.vddk
[testenv]
sitepackages = True
usedevelop = True
setenv =
VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE=1
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
allowlist_externals =
bash
[testenv:integration]
description = Run integration tests against a VMware environment.
sitepackages = True
usedevelop = True
setenv =
{[testenv]setenv}
LD_LIBRARY_PATH={[vars]vddk_path}
LD_PRELOAD=
commands =
stestr run --slowest --concurrency 1 \
--test-path tests/integration/ {posargs}
[testenv:integration-coverage]
description = Integration tests with coverage report.
sitepackages = True
usedevelop = True
setenv =
{[testenv:integration]setenv}
deps =
{[testenv]deps}
pytest
pytest-cov
pycobertura
commands =
pytest --cov=openvixdisklib --cov-report=term-missing \
--cov-report=xml -p no:cacheprovider tests/integration/ {posargs}
pycobertura show --format html --source openvixdisklib \
coverage.xml -o coverage.html
[testenv:fmt]
description = Format the code based on the coding style standards.
deps =
ruff
commands =
ruff check --select I --fix {[vars]all_path}
ruff format {[vars]all_path}
[testenv:pep8]
description = Verify the coding style (pep8).
deps =
ruff
commands =
ruff format --diff {[vars]all_path}
ruff check {[vars]all_path}
[testenv:mypy]
description = Type checks (mypy).
deps =
mypy
commands =
mypy {[vars]all_path}
[testenv:flake8]
sitepackages = True
deps =
flake8
commands = flake8 {posargs}
allowlist_externals =
flake8
[flake8]
ignore = E125,E251,W503,W504,E305,E731,E117,W605,F632
exclude = .venv,.git,.tox,dist,build,*.egg
# Same length as ruff.
max-line-length = 88
[stestr]
test_path = ./tests