Closed
Description
Bug summary
lib/matplotlib/tests/test_backends_interactive.py::test_figure_leak_20490[time_mem0-MPLBACKEND=wxagg-BACKEND_DEPS=wx]
has been failing for a while on CI now, just on the Tests / Python 3.10 on ubuntu-20.04 (pull_request)
job. See e.g. this run for an example failure.
The trace is
______ test_figure_leak_20490[time_mem0-MPLBACKEND=wxagg-BACKEND_DEPS=wx] ______
[gw1] linux -- Python 3.10.13 /opt/hostedtoolcache/Python/3.10.13/x64/bin/python
env = {'BACKEND_DEPS': 'wx', 'MPLBACKEND': 'wxagg'}, time_mem = (0.0, 2000000)
request = <FixtureRequest for <Function test_figure_leak_20490[time_mem0-MPLBACKEND=wxagg-BACKEND_DEPS=wx]>>
@pytest.mark.skipif(sys.platform == "win32",
reason="appveyor tests fail; gh-22988 suggests reworking")
@pytest.mark.parametrize("env", _get_testable_interactive_backends())
@pytest.mark.parametrize("time_mem", [(0.0, 2_000_000), (0.1, 30_000_000)])
def test_figure_leak_20490(env, time_mem, request):
pytest.importorskip("psutil", reason="psutil needed to run this test")
# We haven't yet directly identified the leaks so test with a memory growth
# threshold.
pause_time, acceptable_memory_leakage = time_mem
if env["MPLBACKEND"] == "wx":
pytest.skip("wx backend is deprecated; tests failed on appveyor")
if env["MPLBACKEND"] == "macosx":
request.node.add_marker(pytest.mark.xfail(reason="macosx backend is leaky"))
if env["MPLBACKEND"] == "tkagg" and sys.platform == "darwin":
acceptable_memory_leakage += 11_000_000
result = _run_helper(
_test_figure_leak, str(pause_time),
timeout=_test_timeout, extra_env=env)
growth = int(result.stdout)
> assert growth <= acceptable_memory_leakage
E AssertionError
lib/matplotlib/tests/test_backends_interactive.py:687: AssertionError
Code for reproduction
n/a
Actual outcome
Failing test
Expected outcome
Passing test
Additional information
No response
Operating system
No response
Matplotlib Version
Current main
Matplotlib Backend
No response
Python version
No response
Jupyter version
No response
Installation
git checkout