Stop relying on usedevelop in tox
authorJeremy Stanley <fungi@yuggoth.org>
Fri, 19 Nov 2021 19:38:35 +0000 (19:38 +0000)
committerJeremy Stanley <fungi@yuggoth.org>
Fri, 19 Nov 2021 19:38:35 +0000 (19:38 +0000)
At the moment, tox calls into setup.py directly when usedevelop is
true, which causes legacy codepaths to be traversed during those
tests. Switch to just adding the project directory to deps in the
testenvs where we previously relied on it to get the project
installed.

tox.ini

diff --git a/tox.ini b/tox.ini
index 5a1a808..94e7c7a 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -11,7 +11,6 @@ ignore_basepython_conflict = True
 [testenv]
 description = run the functional selftest with optimized configuration
 basepython = python3
-usedevelop = True
 # TODO(fungi) Switch this to "error" once the following are solved
 #
 # py311... Cython.Compiler.Main raises FutureWarning "Cython directive
@@ -46,18 +45,17 @@ setenv =
     PYTHONWARNINGS = error, ignore::FutureWarning:Cython.Compiler.Main, ignore::DeprecationWarning:distutils.command.install, ignore:The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives:DeprecationWarning, ignore:Creating a LegacyVersion has been deprecated and will be removed in the next major release:DeprecationWarning, ignore:SelectableGroups dict interface is deprecated. Use select.:DeprecationWarning:flake8.plugins.manager, ignore:setup.py install is deprecated. Use build and pip and other standards-based tools., ignore:easy_install command is deprecated. Use build and pip and other standards-based tools., ignore:use poll_interval instead of poll_intervall:DeprecationWarning
     VIRTUALENV_CREATOR = venv
 commands = mudpy_selftest mudpy/tests/fixtures/test_daemon.yaml
+deps = {toxinidir}
 
 [testenv:bandit]
 description = check for potential security risks in source code
 deps = bandit
 commands = bandit -r mudpy -x mudpy/tests {posargs}
-usedevelop = False
 
 [testenv:codespell]
 description = find common spelling mistakes in code and documentation
 deps = codespell
 commands = codespell {posargs}
-usedevelop = False
 
 [testenv:demo]
 description = start an interactive demo with the sample config
@@ -73,15 +71,14 @@ commands =
     rm -fr {toxinidir}/dist
     python -m build
     twine check --strict {toxinidir}/dist/*
-usedevelop = False
 
 [testenv:docs]
 # Build an sdist into a temporary location so we'll have AUTHORS and ChangeLog
-# files to include. Keep usedevelop on so that the project dependencies will be
-# installed in the venv.
+# files to include.
 description = generate hypertext documentation
 allowlist_externals = rm
 deps =
+    {toxinidir}
     build
     sphinx
 commands =
@@ -95,7 +92,6 @@ deps =
     flake8
     flake8-bugbear
 commands = flake8 {posargs}
-usedevelop = False
 
 [testenv:selftest_config]
 description = run the selftest with the included sample config
@@ -106,7 +102,9 @@ commands = mudpy_selftest etc/mudpy.yaml
 # least some which are generated by the application, making sure it creates
 # them with the same style we enforce for those carried in the repository.
 description = test data files for correct syntax and formatting
-deps = yamllint
+deps =
+    {toxinidir}
+    yamllint
 commands =
     mudpy_selftest mudpy/tests/fixtures/test_daemon.yaml
     yamllint --strict {posargs} .