Package: python3-hypothesis
Version: 5.43.3-1
Severity: normal

On a minimal sid install with only python3.10, python3-pytest and
python3-hypothesis installed, hypothesis produces a deprecation
warning.

Here is a minimal test script (based on the PyTest documentation):

----
# test_sample.py
import pytest

def inc(x):
    return x + 1

def test_answer():
    assert inc(3) == 4
----

and the command line is:
python3.10 -Werror /usr/bin/pytest-3 test_sample.py

This produces the following output:
Traceback (most recent call last):
  File "/usr/bin/pytest-3", line 33, in <module>
    sys.exit(load_entry_point('pytest==6.2.5', 'console_scripts', 'pytest')())
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 185, 
in console_main
    code = main()
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 143, 
in main
    config = _prepareconfig(args, plugins)
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 318, 
in _prepareconfig
    config = pluginmanager.hook.pytest_cmdline_parse(
  File "/usr/lib/python3/dist-packages/pluggy/hooks.py", line 286, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 92, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 83, in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
  File "/usr/lib/python3/dist-packages/pluggy/callers.py", line 203, in 
_multicall
    gen.send(outcome)
  File "/usr/lib/python3/dist-packages/_pytest/helpconfig.py", line 100, in 
pytest_cmdline_parse
    config: Config = outcome.get_result()
  File "/usr/lib/python3/dist-packages/pluggy/callers.py", line 80, in 
get_result
    raise ex[1].with_traceback(ex[2])
  File "/usr/lib/python3/dist-packages/pluggy/callers.py", line 187, in 
_multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1003, 
in pytest_cmdline_parse
    self.parse(args)
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1283, 
in parse
    self._preparse(args, addopts=addopts)
  File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1172, 
in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
  File "/usr/lib/python3/dist-packages/pluggy/manager.py", line 297, in 
load_setuptools_entrypoints
    plugin = ep.load()
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 162, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/hypothesis/__init__.py", line 53, in 
<module>
    run()
  File "/usr/lib/python3/dist-packages/hypothesis/entry_points.py", line 61, in 
run
    for entry in get_entry_points():  # pragma: no cover
  File "/usr/lib/python3/dist-packages/hypothesis/entry_points.py", line 32, in 
get_entry_points
    yield from importlib_metadata.entry_points().get("hypothesis", [])
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 400, in get
    self._warn()
DeprecationWarning: SelectableGroups dict interface is deprecated. Use select.


Without python3-hypothesis installed, this test runs without problems,
as it does with Python 3.9.

This bug is annoying, as it is preventing me from diagnosing another
DeprecationWarning that is appearing thousands of times :-(

If it turns out this is actually an issue with pytest itself, please
do reassign this bug!

Best wishes,

   Julian

Reply via email to