# # Copyright (c) 2023 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # [tox] envlist = flake8,py39,pylint,cover minversion = 2.3.2 skipsdist = True stxdir = {toxinidir}/../../.. [testenv] basepython = python3 setenv = VIRTUAL_ENV={envdir} LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=C OS_STDERR_CAPTURE=1 OS_STDOUT_CAPTURE=1 OS_TEST_PATH=./patch_alarm/tests OS_TEST_TIMEOUT=60 PYTHONDONTWRITEBYTECODE=1 PYTHONHASHSEED=0 PYTHONWARNINGS=default::DeprecationWarning PIP_DISABLE_PIP_VERSION_CHECK=1 passenv = XDG_CACHE_HOME install_command = pip install \ -v -v -v \ -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/starlingx/root/raw/branch/master/build-tools/requirements/debian/upper-constraints.txt} \ {opts} {packages} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt -e{[tox]stxdir}/config/sysinv/sysinv/sysinv -e{[tox]stxdir}/fault/fm-api/source -e{[tox]stxdir}/config/tsconfig/tsconfig -e{[tox]stxdir}/update/sw-patch/cgcs-patch allowlist_externals = find sh [testenv:stestr] commands = find . -name "*.pyc" -delete stestr run {posargs} stestr slowest [testenv:py39] basepython = python3.9 commands = find . -name "*.pyc" -delete stestr run {posargs} stestr slowest [bandit] exclude = tests [testenv:bandit] deps = -r{toxinidir}/test-requirements.txt bandit commands = bandit --ini tox.ini -n 5 -r patch_alarm [flake8] # ignore below errors , will fix flake8 errors in future # H401 docstring should not start with a space # H404 multi line docstring should start without a leading new line # H405 multi line docstring summary not separated with an empty line show-source = True ignore = H401,H404,H405 exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-* # H106: Don't put vim configuration in source files (off by default). # H203: Use assertIs(Not)None to check for None (off by default). # enable: H904 Delay string interpolations at logging calls (off by default). enable-extensions = H106 H203 H904 max-line-length = 120 [testenv:flake8] commands = flake8 {posargs} ../scripts/bin/patch-alarm-manager . [testenv:pylint] commands = pylint patch_alarm --rcfile=./pylint.rc [testenv:cover] setenv = PYTHON=coverage run --parallel-mode PYTHONDONTWRITEBYTECODE=True commands = coverage erase find . -name "*.pyc" -delete stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report