From 1627fd4460858d164486a15a69efcd2aab7b1099 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Sat, 17 Apr 2021 15:44:36 +0000 Subject: [PATCH] Get more granular with Python warnings in tests Apparently, the PYTHONWARNINGS envvar has a rather flexible grammar which can do things like exclude specific modules. Take advantage of this to temporarily whitelist persistent problems in dependencies (particularly packaging ecosystem tools/libraries) until they're solved by their respective upstreams. --- tox.ini | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/tox.ini b/tox.ini index 7cbc5e4..7c88da9 100644 --- a/tox.ini +++ b/tox.ini @@ -12,14 +12,22 @@ ignore_basepython_conflict = True description = run the functional selftest with optimized configuration basepython = python3 usedevelop = True -# TODO(fungi) Switch this to "error" once -# https://github.com/pypa/setuptools/issues/2086 and -# https://github.com/pypa/setuptools/issues/2466 are fixed in a new release of -# Setuptools and the vendored copy in Python 3.8 and later updated with it; -# also that won't work for Python 3.6 due to the older Setuptools there still -# calling imp instead of importlib so probably not while we still support 3.6 +# TODO(fungi) Switch this to "error" once the following are solved +# +# py310... importlib._bootstrap raises ImportWarning: +# _SixMetaPathImporter.find_spec() not found; falling back to find_module() +# all... pip._vendor.packaging.version raises DeprecationWarning: Creating a +# LegacyVersion has been deprecated and will be removed in the next major +# release +# yamllint... pip._vendor.packaging.specifiers raises DeprecationWarning: +# Creating a LegacyVersion has been deprecated and will be removed in the +# next major release +# py310... pip._vendor.packaging.tags and setuptools both raise +# DeprecationWarning: The distutils package is deprecated and slated for +# removal in Python 3.12. Use setuptools or check PEP 632 for potential +# alternatives setenv = - PYTHONWARNINGS=default::DeprecationWarning + PYTHONWARNINGS = error, ignore:::importlib._bootstrap, ignore:::pip._vendor.packaging.version, ignore:::pip._vendor.packaging.specifiers, ignore:::pip._vendor.packaging.tags, ignore:::setuptools VIRTUALENV_CREATOR = venv commands = mudpy_selftest mudpy/tests/fixtures/test_daemon.yaml -- 2.11.0