Update test warnings for Python 3.10.0b2
authorJeremy Stanley <fungi@yuggoth.org>
Sat, 5 Jun 2021 00:16:56 +0000 (00:16 +0000)
committerJeremy Stanley <fungi@yuggoth.org>
Sat, 5 Jun 2021 00:16:56 +0000 (00:16 +0000)
Switch our PYTHONWARNINGS in tox.ini to use a string match on some
warnings which have become increasingly common for more modules
under Python 3.10.0b2. For those which can't be covered effectively
by matching their messages, get more specific by adding the
exception names to the current module exclusions. Hopefully this
will allow for fairly narrow warning filters while minimizing the
need for future additions, at least to the extent that's possible.

tox.ini

diff --git a/tox.ini b/tox.ini
index 505edf6..1979c04 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -14,20 +14,22 @@ basepython = python3
 usedevelop = True
 # TODO(fungi) Switch this to "error" once the following are solved
 #
-# py310... distutils.command.install raises DeprecationWarning: The
-#   distutils.sysconfig module is deprecated, use sysconfig instead
-# py310... importlib._bootstrap raises ImportWarning:
-#   _SixMetaPathImporter.find_spec() not found; falling back to find_module()
-# 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 raises DeprecationWarning: The distutils
-#   package is deprecated and slated for removal in Python 3.12. Use setuptools
-#   or check PEP 632 for potential alternatives
+# py310... distutils.command.install raises DeprecationWarning "The
+#   distutils.sysconfig module is deprecated, use sysconfig instead" but this
+#   can't be matched by message because it contains a comma
+# py310... importlib._bootstrap raises ImportWarning
+#   "_SixMetaPathImporter.find_spec() not found; falling back to find_module()"
+#   but this can't be matched by message for unknown reasons
 # py310... pip._vendor.urllib3.connection and pip._vendor.urllib3.util.ssl_
-#   both raise DeprecationWarning: ssl module: PROTOCOL_TLS is deprecated
+#   both raise DeprecationWarning "ssl module: PROTOCOL_TLS is deprecated" but
+#   this can't be matched by message because it contains a colon
+# multiple callers raise DeprecationWarning "The distutils package is
+#   deprecated and slated for removal in Python 3.12. Use setuptools or check
+#   PEP 632 for potential alternatives"
+# multiple callers raise DeprecationWarning "Creating a LegacyVersion has been
+#   deprecated and will be removed in the next major release"
 setenv =
-    PYTHONWARNINGS = error, ignore:::distutils.command.install, ignore:::importlib._bootstrap, ignore:::pip._vendor.packaging.specifiers, ignore:::pip._vendor.packaging.tags, ignore:::pip._vendor.urllib3.connection, ignore:::pip._vendor.urllib3.util.ssl_
+    PYTHONWARNINGS = error, ignore::DeprecationWarning:distutils.command.install, ignore::ImportWarning:importlib._bootstrap, ignore::DeprecationWarning:pip._vendor.urllib3.connection, ignore::DeprecationWarning:pip._vendor.urllib3.util.ssl_, 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
     VIRTUALENV_CREATOR = venv
 commands = mudpy_selftest mudpy/tests/fixtures/test_daemon.yaml