diff --git a/.gitignore b/.gitignore index 519b094..6eb46ea 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ alerts.env # docs build/ docs/_build + +# tests +.tox diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index 6e31137..0000000 --- a/pytest.ini +++ /dev/null @@ -1,4 +0,0 @@ -[pytest] -testpaths = tests -python_files=test*.py -addopts = -v --verbose diff --git a/tests/requirements.txt b/tests/requirements.txt index 8e1f5ad..815da53 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1 +1,2 @@ pytest==4.3.1 +tox diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..848647a --- /dev/null +++ b/tox.ini @@ -0,0 +1,56 @@ +# Ensure that this file do not contain non-ascii characters +# as flake8 can fail to parse the file on OS X and Windows + +[tox] +skipsdist = True +setupdir={toxinidir}/src +envlist = + ; py37 + pep8 + +[testenv] +usedevelop = True +basepython = + py37: python3.7 + +deps = + -r{toxinidir}/tests/requirements.txt +commands = + ; coverage run --source=restic_compose_backup -m pytest tests/ + ; coverage report + pytest + +[testenv:pep8] +usedevelop = false +deps = flake8 +basepython = python3.7 +commands = flake8 + +[pytest] +norecursedirs = tests/* .venv/* .tox/* build/ docs/ + +[flake8] +# H405: multi line docstring summary not separated with an empty line +# D100: Missing docstring in public module +# D101: Missing docstring in public class +# D102: Missing docstring in public method +# D103: Missing docstring in public function +# D104: Missing docstring in public package +# D105: Missing docstring in magic method +# D200: One-line docstring should fit on one line with quotes +# D202: No blank lines allowed after function docstring +# D203: 1 blank required before class docstring. +# D204: 1 blank required after class docstring +# D205: Blank line required between one-line summary and description. +# D207: Docstring is under-indented +# D208: Docstring is over-indented +# D211: No blank lines allowed before class docstring +# D301: Use r""" if any backslashes in a docstring +# D400: First line should end with a period. +# D401: First line should be in imperative mood. +# *** E302 expected 2 blank lines, found 1 +# *** W503 line break before binary operator +ignore = H405,D100,D101,D102,D103,D104,D105,D200,D202,D203,D204,D205,D211,D301,D400,D401,W503 +show-source = True +max-line-length = 120 +exclude = .tox,.venv*,tests,build,conf.py