[tox]
skipsdist=True
skip_missing_interpreters = True
-envlist = lint, unit
+envlist = lint, unit, integration
[vars]
-src_path = {toxinidir}/src/
-tst_path = {toxinidir}/tests/
-lib_path = {toxinidir}/lib/charms/osm_ng_ui
-all_path = {[vars]src_path} {[vars]tst_path}
+src_path = {toxinidir}/src
+tst_path = {toxinidir}/tests
+all_path = {[vars]src_path} {[vars]tst_path}
[testenv]
setenv =
black
flake8
flake8-docstrings
- flake8-copyright
flake8-builtins
pyproject-flake8
pep8-naming
codespell
commands =
# uncomment the following line if this charm owns a lib
- codespell {[vars]lib_path}
- codespell {toxinidir}/. --skip {toxinidir}/.git --skip {toxinidir}/.tox \
+ codespell {toxinidir} --skip {toxinidir}/.git --skip {toxinidir}/.tox \
--skip {toxinidir}/build --skip {toxinidir}/lib --skip {toxinidir}/venv \
--skip {toxinidir}/.mypy_cache --skip {toxinidir}/icon.svg
# pflake8 wrapper supports config from pyproject.toml
coverage[toml]
-r{toxinidir}/requirements.txt
commands =
- coverage run --source={[vars]src_path},{[vars]lib_path} \
- -m pytest --ignore={[vars]tst_path}integration -v --tb native -s {posargs}
+ coverage run --source={[vars]src_path} \
+ -m pytest {[vars]tst_path}/unit -v --tb native -s {posargs}
coverage report
coverage xml
[testenv:integration]
description = Run integration tests
deps =
+ juju<3.0.0
pytest
- juju
pytest-operator
-r{toxinidir}/requirements.txt
commands =
- pytest -v --tb native --ignore={[vars]tst_path}unit --log-cli-level=INFO -s {posargs}
+ pytest -v --tb native {[vars]tst_path}/integration --log-cli-level=INFO -s {posargs} --cloud microk8s