Source: pytest-mpl
Version: 0.16.1-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:305: python3.12 setup.py config 
> /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: 
> _DeprecatedConfig: Deprecated config in `setup.cfg`
> !!
> 
>         
> ********************************************************************************
>         The license_file parameter is deprecated, use license_files instead.
> 
>         This deprecation is overdue, please update your project and remove 
> deprecated
>         calls to avoid build errors in the future.
> 
>         See 
> https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for 
> details.
>         
> ********************************************************************************
> 
> !!
>   parsed = self.parsers.get(option_name, lambda x: x)(value)
> /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:265: 
> UserWarning: Unknown distribution option: 'use_scm_version'
>   warnings.warn(msg)
> running config
> I: pybuild base:305: python3.11 setup.py config 
> /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: 
> _DeprecatedConfig: Deprecated config in `setup.cfg`
> !!
> 
>         
> ********************************************************************************
>         The license_file parameter is deprecated, use license_files instead.
> 
>         This deprecation is overdue, please update your project and remove 
> deprecated
>         calls to avoid build errors in the future.
> 
>         See 
> https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for 
> details.
>         
> ********************************************************************************
> 
> !!
>   parsed = self.parsers.get(option_name, lambda x: x)(value)
> /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:265: 
> UserWarning: Unknown distribution option: 'use_scm_version'
>   warnings.warn(msg)
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:305: /usr/bin/python3.12 setup.py build 
> /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: 
> _DeprecatedConfig: Deprecated config in `setup.cfg`
> !!
> 
>         
> ********************************************************************************
>         The license_file parameter is deprecated, use license_files instead.
> 
>         This deprecation is overdue, please update your project and remove 
> deprecated
>         calls to avoid build errors in the future.
> 
>         See 
> https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for 
> details.
>         
> ********************************************************************************
> 
> !!
>   parsed = self.parsers.get(option_name, lambda x: x)(value)
> /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:265: 
> UserWarning: Unknown distribution option: 'use_scm_version'
>   warnings.warn(msg)
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-mpl/build/pytest_mpl
> copying pytest_mpl/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-mpl/build/pytest_mpl
> copying pytest_mpl/plugin.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-mpl/build/pytest_mpl
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-mpl/build/pytest_mpl/summary
> copying pytest_mpl/summary/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-mpl/build/pytest_mpl/summary
> copying pytest_mpl/summary/html.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-mpl/build/pytest_mpl/summary
> running egg_info
> creating pytest_mpl.egg-info
> writing pytest_mpl.egg-info/PKG-INFO
> writing dependency_links to pytest_mpl.egg-info/dependency_links.txt
> writing entry points to pytest_mpl.egg-info/entry_points.txt
> writing requirements to pytest_mpl.egg-info/requires.txt
> writing top-level names to pytest_mpl.egg-info/top_level.txt
> writing manifest file 'pytest_mpl.egg-info/SOURCES.txt'
> reading manifest file 'pytest_mpl.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'pytest_mpl.egg-info/SOURCES.txt'
> I: pybuild base:305: /usr/bin/python3 setup.py build 
> /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: 
> _DeprecatedConfig: Deprecated config in `setup.cfg`
> !!
> 
>         
> ********************************************************************************
>         The license_file parameter is deprecated, use license_files instead.
> 
>         This deprecation is overdue, please update your project and remove 
> deprecated
>         calls to avoid build errors in the future.
> 
>         See 
> https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for 
> details.
>         
> ********************************************************************************
> 
> !!
>   parsed = self.parsers.get(option_name, lambda x: x)(value)
> /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:265: 
> UserWarning: Unknown distribution option: 'use_scm_version'
>   warnings.warn(msg)
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-mpl/build/pytest_mpl
> copying pytest_mpl/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-mpl/build/pytest_mpl
> copying pytest_mpl/plugin.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-mpl/build/pytest_mpl
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-mpl/build/pytest_mpl/summary
> copying pytest_mpl/summary/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-mpl/build/pytest_mpl/summary
> copying pytest_mpl/summary/html.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-mpl/build/pytest_mpl/summary
> running egg_info
> writing pytest_mpl.egg-info/PKG-INFO
> writing dependency_links to pytest_mpl.egg-info/dependency_links.txt
> writing entry points to pytest_mpl.egg-info/entry_points.txt
> writing requirements to pytest_mpl.egg-info/requires.txt
> writing top-level names to pytest_mpl.egg-info/top_level.txt
> reading manifest file 'pytest_mpl.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'pytest_mpl.egg-info/SOURCES.txt'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:305: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-mpl/build; python3.12 -m 
> pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.2, pytest-8.0.2, pluggy-1.4.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> collected 46 items
> 
> tests/subtests/test_subtest.py sssssssssssssss                           [ 
> 32%]
> tests/test_pytest_mpl.py FFFFF.ssF.FFFFFF.ssssssssssssss                 
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ________________________________ test_succeeds 
> _________________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9ec5e1bc0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_succeeds
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _____________________________ test_succeeds_remote 
> _____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb6ea200>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds_remote>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_succeeds_remote
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _________________________ test_succeeds_faulty_mirror 
> __________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb6e9f80>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds_faulty_mirror>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_succeeds_faulty_mirror
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ___________________________ TestClass.test_succeeds 
> ____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb5dfe20>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::TestClass::test_succeeds
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ___________________________________ test_dpi 
> ___________________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb604c20>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_dpi>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_dpi 
> returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ________________________________ test_tolerance 
> ________________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb3a2c00>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_tolerance>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_tolerance
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _______________________________ test_base_style 
> ________________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb3a2020>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_base_style>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_base_style
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _______________________________ test_remove_text 
> _______________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb6ea200>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_remove_text>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_remove_text
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _____________________________ test_parametrized[5] 
> _____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb37bf60>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_parametrized[5]>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_parametrized[5]
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ____________________________ test_parametrized[50] 
> _____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb0a4fe0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_parametrized[50]>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_parametrized[50]
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ____________________________ test_parametrized[500] 
> ____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb11dd00>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_parametrized[500]>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::test_parametrized[500]
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _______________________ TestClassWithSetup.test_succeeds 
> _______________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fd9eb0cea20>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.12_pytest-mpl/build/tests/test_pytest_mpl.py::TestClassWithSetup::test_succeeds
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> =========================== short test summary info 
> ============================
> FAILED tests/test_pytest_mpl.py::test_succeeds - 
> pytest.PytestReturnNotNoneWa...
> FAILED tests/test_pytest_mpl.py::test_succeeds_remote - 
> pytest.PytestReturnNo...
> FAILED tests/test_pytest_mpl.py::test_succeeds_faulty_mirror - 
> pytest.PytestR...
> FAILED tests/test_pytest_mpl.py::TestClass::test_succeeds - 
> pytest.PytestRetu...
> FAILED tests/test_pytest_mpl.py::test_dpi - 
> pytest.PytestReturnNotNoneWarning...
> FAILED tests/test_pytest_mpl.py::test_tolerance - 
> pytest.PytestReturnNotNoneW...
> FAILED tests/test_pytest_mpl.py::test_base_style - 
> pytest.PytestReturnNotNone...
> FAILED tests/test_pytest_mpl.py::test_remove_text - 
> pytest.PytestReturnNotNon...
> FAILED tests/test_pytest_mpl.py::test_parametrized[5] - 
> pytest.PytestReturnNo...
> FAILED tests/test_pytest_mpl.py::test_parametrized[50] - 
> pytest.PytestReturnN...
> FAILED tests/test_pytest_mpl.py::test_parametrized[500] - 
> pytest.PytestReturn...
> FAILED tests/test_pytest_mpl.py::TestClassWithSetup::test_succeeds - 
> pytest.P...
> =================== 12 failed, 3 passed, 31 skipped in 4.47s 
> ===================
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pytest-mpl/build; python3.12 -m 
> pytest tests
> I: pybuild base:305: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-mpl/build; python3.11 -m 
> pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> collected 46 items
> 
> tests/subtests/test_subtest.py sssssssssssssss                           [ 
> 32%]
> tests/test_pytest_mpl.py FFFFF.ssF.FFFFFF.ssssssssssssss                 
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ________________________________ test_succeeds 
> _________________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130f1419e0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_succeeds
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _____________________________ test_succeeds_remote 
> _____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130f141800>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds_remote>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_succeeds_remote
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _________________________ test_succeeds_faulty_mirror 
> __________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130e2e3ba0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds_faulty_mirror>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_succeeds_faulty_mirror
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ___________________________ TestClass.test_succeeds 
> ____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130f1419e0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::TestClass::test_succeeds
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ___________________________________ test_dpi 
> ___________________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130e0e5d00>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_dpi>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_dpi 
> returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ________________________________ test_tolerance 
> ________________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130deb4400>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_tolerance>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_tolerance
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _______________________________ test_base_style 
> ________________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130deb44a0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_base_style>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_base_style
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _______________________________ test_remove_text 
> _______________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130e163ec0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_remove_text>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_remove_text
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _____________________________ test_parametrized[5] 
> _____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130e0e5d00>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_parametrized[5]>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_parametrized[5]
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ____________________________ test_parametrized[50] 
> _____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130dc7fe20>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_parametrized[50]>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_parametrized[50]
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> ____________________________ test_parametrized[500] 
> ____________________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130dc7f880>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_parametrized[500]>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::test_parametrized[500]
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> _______________________ TestClassWithSetup.test_succeeds 
> _______________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f130e0e5d00>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: Callable[[], TResult],
>         when: Literal["collect", "setup", "call", "teardown"],
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         """Call func, wrapping the result in a CallInfo.
>     
>         :param func:
>             The function to call. Called without arguments.
>         :param when:
>             The phase in which the function is called.
>         :param reraise:
>             Exception or exceptions that shall propagate if raised by the
>             function, instead of being wrapped in the CallInfo.
>         """
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> pyfuncitem = <Function test_succeeds>
> 
>     @hookimpl(trylast=True)
>     def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]:
>         testfunction = pyfuncitem.obj
>         if is_async_function(testfunction):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         funcargs = pyfuncitem.funcargs
>         testargs = {arg: funcargs[arg] for arg in 
> pyfuncitem._fixtureinfo.argnames}
>         result = testfunction(**testargs)
>         if hasattr(result, "__await__") or hasattr(result, "__aiter__"):
>             async_warn_and_skip(pyfuncitem.nodeid)
>         elif result is not None:
> >           warnings.warn(
>                 PytestReturnNotNoneWarning(
>                     f"Expected None, but {pyfuncitem.nodeid} returned 
> {result!r}, which will be an error in a "
>                     "future version of pytest.  Did you mean to use `assert` 
> instead of `return`?"
>                 )
>             )
> E           pytest.PytestReturnNotNoneWarning: Expected None, but 
> .pybuild/cpython3_3.11_pytest-mpl/build/tests/test_pytest_mpl.py::TestClassWithSetup::test_succeeds
>  returned <Figure size 640x480 with 1 Axes>, which will be an error in a 
> future version of pytest.  Did you mean to use `assert` instead of `return`?
> 
> /usr/lib/python3/dist-packages/_pytest/python.py:198: 
> PytestReturnNotNoneWarning
> =========================== short test summary info 
> ============================
> FAILED tests/test_pytest_mpl.py::test_succeeds - 
> pytest.PytestReturnNotNoneWa...
> FAILED tests/test_pytest_mpl.py::test_succeeds_remote - 
> pytest.PytestReturnNo...
> FAILED tests/test_pytest_mpl.py::test_succeeds_faulty_mirror - 
> pytest.PytestR...
> FAILED tests/test_pytest_mpl.py::TestClass::test_succeeds - 
> pytest.PytestRetu...
> FAILED tests/test_pytest_mpl.py::test_dpi - 
> pytest.PytestReturnNotNoneWarning...
> FAILED tests/test_pytest_mpl.py::test_tolerance - 
> pytest.PytestReturnNotNoneW...
> FAILED tests/test_pytest_mpl.py::test_base_style - 
> pytest.PytestReturnNotNone...
> FAILED tests/test_pytest_mpl.py::test_remove_text - 
> pytest.PytestReturnNotNon...
> FAILED tests/test_pytest_mpl.py::test_parametrized[5] - 
> pytest.PytestReturnNo...
> FAILED tests/test_pytest_mpl.py::test_parametrized[50] - 
> pytest.PytestReturnN...
> FAILED tests/test_pytest_mpl.py::test_parametrized[500] - 
> pytest.PytestReturn...
> FAILED tests/test_pytest_mpl.py::TestClassWithSetup::test_succeeds - 
> pytest.P...
> =================== 12 failed, 3 passed, 31 skipped in 5.45s 
> ===================
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-mpl/build; python3.11 -m 
> pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/03/13/pytest-mpl_0.16.1-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.


Reply via email to