Browse Source

changed isolated test runner from tox to nox

main
Holger Frey 2 years ago
parent
commit
0d05271c92
  1. 1
      .gitignore
  2. 18
      Makefile
  3. 8
      noxfile.py
  4. 14
      pyproject.toml
  5. 14
      tox.ini

1
.gitignore vendored

@ -39,6 +39,7 @@ pip-delete-this-directory.txt @@ -39,6 +39,7 @@ pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache

18
Makefile

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
.PHONY: clean clean-docs clean-test clean-pyc clean-build docs help prepareenv
.PHONY: clean coverage coverall docs devenv install lint prepareenv repo test testall testfunctional nox tox
.DEFAULT_GOAL := help
define BROWSER_PYSCRIPT
@ -49,6 +49,7 @@ clean-pyc: ## remove Python file artifacts @@ -49,6 +49,7 @@ clean-pyc: ## remove Python file artifacts
clean-test: ## remove test and coverage artifacts
rm -fr .pytest_cache/
rm -fr .nox/
rm -fr .tox/
rm -f .coverage
rm -fr htmlcov/
@ -76,8 +77,11 @@ coverall: lint ## full test suite, check code coverage and open coverage report @@ -76,8 +77,11 @@ coverall: lint ## full test suite, check code coverage and open coverage report
coverage html
$(BROWSER) htmlcov/index.html
tox: ## run fully isolated tests with tox
tox
nox: ## run fully isolated tests with nox
nox
tox: ## old habits die hard: typo-squatting to use nox
nox
docs: ## build the documentation using mkdocs
mkdocs build
@ -86,13 +90,13 @@ serve-docs: docs ## build the documentation and serve them in a web server @@ -86,13 +90,13 @@ serve-docs: docs ## build the documentation and serve them in a web server
mkdocs serve
install: ## install updated project.toml with flint
flit install --pth-file
.venv/bin/pip3 install -e ".[dev,docs,test]"
prepareenv: ## setup a virtualenv and install basic reuqired packages
rm -fr .venv/
python3 -m venv --prompt sensospot_tools .venv
.venv/bin/pip3 install --upgrade pip
.venv/bin/pip3 install "flit>3.2"
.venv/bin/flit install --pth-file
.venv/bin/pip3 install --upgrade pip wheel
.venv/bin/pip3 install -e ".[dev,docs,test]"
devenv: prepareenv ## setup development environment including pre commit hooks
.venv/bin/pre-commit install --install-hooks

8
noxfile.py

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
import nox
@nox.session(python=["3.9", "3.10", "3.11"])
def tests(session):
session.install(".[test]")
session.run("pytest", *session.posargs)

14
pyproject.toml

@ -37,13 +37,6 @@ Source = "https://git.cpi.imtek.uni-freiburg.de/holgi/sensospot_tools.git" @@ -37,13 +37,6 @@ Source = "https://git.cpi.imtek.uni-freiburg.de/holgi/sensospot_tools.git"
# script_name = "sensospot_tools:function"
[project.optional-dependencies]
test = [
"pytest >=4.0.0",
"pytest-cov",
"pytest-mock",
"pytest-randomly",
"tox",
]
dev = [
"black",
"keyring",
@ -54,6 +47,13 @@ docs = [ @@ -54,6 +47,13 @@ docs = [
"mkdocs",
"mkdocstrings[python]",
]
test = [
"nox",
"pytest >=4.0.0",
"pytest-cov",
"pytest-mock",
"pytest-randomly",
]
[tool.pytest.ini_options]

14
tox.ini

@ -1,14 +0,0 @@ @@ -1,14 +0,0 @@
[tox]
envlist = py39, py310
isolated_build = True
[testenv]
deps =
pytest
pytest-cov
pytest-mock
setuptools>=41.2.0
pip>=20.0.2
changedir = {toxinidir}/tests
commands = pytest --cov=sensospot_tools
Loading…
Cancel
Save