Your message dated Thu, 25 Apr 2024 13:34:54 +0000
with message-id <e1rzzfw-001ysa...@fasolo.debian.org>
and subject line Bug#1066745: fixed in pytest-mpl 0.17.0-1
has caused the Debian Bug report #1066745,
regarding pytest-mpl: FTBFS: dh_auto_test: error: pybuild --test --test-pytest 
-i python{version} -p "3.12 3.11" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1066745: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066745
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
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.

--- End Message ---
--- Begin Message ---
Source: pytest-mpl
Source-Version: 0.17.0-1
Done: Michael R. Crusoe <cru...@debian.org>

We believe that the bug you reported is fixed in the latest version of
pytest-mpl, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1066...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Michael R. Crusoe <cru...@debian.org> (supplier of updated pytest-mpl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 25 Apr 2024 14:02:10 +0300
Source: pytest-mpl
Architecture: source
Version: 0.17.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Astronomy Maintainers 
<debian-astro-maintain...@lists.alioth.debian.org>
Changed-By: Michael R. Crusoe <cru...@debian.org>
Closes: 1018456 1063963 1066745
Changes:
 pytest-mpl (0.17.0-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream version. Closes: #1063963, #1066745
   * Standards-Version: 4.6.2 (routine-update)
   * Build-Depends: s/dh-python/dh-sequence-python3/ (routine-update)
   * d/{control,copyright}: point to new upstream location
   * Refreshed patches.
   * d/control: remove references to python3-nose (Closes: #1018456)
   * Added patch to fix many PytestReturnNotNoneWarnings
   * d/rules: run the tests the same way upstream does
Checksums-Sha1:
 b0b495fae43f6b59504318733e55f188714a11de 2197 pytest-mpl_0.17.0-1.dsc
 6d5bfe6bcc6ec32ae57d111ecff88fc7fff2f5a9 885613 pytest-mpl_0.17.0.orig.tar.gz
 6b1f6deb62418d2196b82f377d87f6accc077204 6732 pytest-mpl_0.17.0-1.debian.tar.xz
 5407ebc8ba3da67a4fc429629dc278d04d3d7786 10053 
pytest-mpl_0.17.0-1_source.buildinfo
Checksums-Sha256:
 bda137a50e21808440b5def233bbb3a6dd7e4a64346e2af0a7ce07cb324dd8ee 2197 
pytest-mpl_0.17.0-1.dsc
 fbef05d7e664b4b33452fb698ac188e522791f327de34e7ea37dbdfe9d52cac6 885613 
pytest-mpl_0.17.0.orig.tar.gz
 0c689681440edf06f8b40f0bdeb8fbce7ea45dda01570e43978acb8449f9be17 6732 
pytest-mpl_0.17.0-1.debian.tar.xz
 ef19a6655112fe2b20dc15a94cb239193177aa336a126a9d09d0fe01e6647a04 10053 
pytest-mpl_0.17.0-1_source.buildinfo
Files:
 2e7de5558c3c7929c8bc9703da72fcb4 2197 python optional pytest-mpl_0.17.0-1.dsc
 5c021e0c9715eb2e8dc73739ec734ee8 885613 python optional 
pytest-mpl_0.17.0.orig.tar.gz
 cafe1b307dc2807bb65025f04010e102 6732 python optional 
pytest-mpl_0.17.0-1.debian.tar.xz
 9841bfb2306b86af8dcb908af8e9acac 10053 python optional 
pytest-mpl_0.17.0-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEck1gkzcRPHEFUNdHPCZ2P2xn5uIFAmYqWxAACgkQPCZ2P2xn
5uIOQw//Zy/SGyeavn7p8p6OigBiqSlm1+yGGKyRfjlPmAjh8Jlj5X4crUqE0PBC
vrfRv8jbyLwIBoIwmmc5u4kOXcg2J2I6ZC9YvzkyvMaLyYrZZfgfRJ85XkWdlmfD
FBlxmlS+azLAKcSbCDUSkqKRLNC8ZIC08tV0z3EBSzSvN3DBGGX/p4UE9jvRIxy9
6S1wVBg0ombWj2cA0U9Bg0CFcgU5U9Wd6WLhjx61vOeW62WaeJkcDTk9ivOCHWWZ
OYhlRyTbZtzYzBW4eemZZAM57+gxfaD6uIgRPPsKLNFpXxf9QEoMJsYGOI7RZGWD
OPl3ZvQ363zbtGFKFjLEaYDUL1db2u8QWtyQQ0wPZO0gbqsCXXeLEPsvBFR9DG91
97vc/FQ5W525EOZ1WiTiqaL5tmTARrFZmRCUmkryNm2F7bSmC+D48nynTPDUSgZK
ah+C1oi7fSQsnG2zcp1UDsaznwfHdeUaEiZsN15fgo6JGQTZSwPLnf17h8bULvtM
2G6hLEW5pc7vDdXdY67Zhl0XZ+c/w+o/SLrEQGMOHzLbhABE8paw8+B7dYr1hFBb
D56Mg4Df5kQw9mTCmf/syowkI2Ijc33Xql8LcElK3q/LTHTjqhwX/1rYptm5q0zs
LVUxdXyhRHqY705F6VmP7ib4Tc94A0hTJStCom3XNkDZf8GaI0g=
=jkKE
-----END PGP SIGNATURE-----

Attachment: pgpzZJKFT_XXe.pgp
Description: PGP signature


--- End Message ---

Reply via email to