{"log": null, "root": "/workspace/obspy/obspy", "tests": [{"call": {"crash": {"path": "/workspace/obspy/obspy/core/util/testing.py", "lineno": 130, "message": "TypeError: 'NoneType' object is not callable"}, "outcome": "failed", "duration": 0.07510509199892113, "longrepr": "Traceback (most recent call last):\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 2323, in _adjust_bode_plot_figure\n    ax1.legend(loc=\"lower center\", ncol=3, fontsize='small')\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/axes/_axes.py\", line 341, in legend\n    handles, labels, kwargs = mlegend._parse_legend_args([self], *args, **kwargs)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/legend.py\", line 1364, in _parse_legend_args\n    _api.warn_external(\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/_api/__init__.py\", line 381, in warn_external\n    warnings.warn(message, category, stacklevel)\n  File \"/workspace/obspy/obspy/core/util/testing.py\", line 130, in _warn\n    message=category(message), category=category,\n            ^^^^^^^^^^^^^^^^^\nTypeError: 'NoneType' object is not callable\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/obspy/core/tests/test_channel.py\", line 32, in test_response_plot\n    cha.plot(0.005, outfile=image_path)\n  File \"/workspace/obspy/obspy/core/inventory/channel.py\", line 455, in plot\n    return self.response.plot(\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 1949, in plot\n    _adjust_bode_plot_figure(fig, show=False,\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 2325, in _adjust_bode_plot_figure\n    leg_ = ax1.legend(loc=\"lower center\", ncol=3)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/axes/_axes.py\", line 341, in legend\n    handles, labels, kwargs = mlegend._parse_legend_args([self], *args, **kwargs)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/legend.py\", line 1364, in _parse_legend_args\n    _api.warn_external(\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/_api/__init__.py\", line 381, in warn_external\n    warnings.warn(message, category, stacklevel)\n  File \"/workspace/obspy/obspy/core/util/testing.py\", line 130, in _warn\n    message=category(message), category=category,\n            ^^^^^^^^^^^^^^^^^\nTypeError: 'NoneType' object is not callable"}, "setup": {"outcome": "passed", "duration": 0.0019139790001645451}, "lineno": 24, "nodeid": "core/tests/test_channel.py::TestChannel::test_response_plot", "outcome": "failed", "keywords": ["test_response_plot", "filterwarnings", "image", "TestChannel", "usefixtures", "test_channel.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023203999990073498}}, {"call": {"crash": {"path": "/workspace/obspy/obspy/core/util/testing.py", "lineno": 130, "message": "TypeError: 'NoneType' object is not callable"}, "outcome": "failed", "duration": 0.049151101000461495, "longrepr": "Traceback (most recent call last):\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 2323, in _adjust_bode_plot_figure\n    ax1.legend(loc=\"lower center\", ncol=3, fontsize='small')\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/axes/_axes.py\", line 341, in legend\n    handles, labels, kwargs = mlegend._parse_legend_args([self], *args, **kwargs)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/legend.py\", line 1364, in _parse_legend_args\n    _api.warn_external(\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/_api/__init__.py\", line 381, in warn_external\n    warnings.warn(message, category, stacklevel)\n  File \"/workspace/obspy/obspy/core/util/testing.py\", line 130, in _warn\n    message=category(message), category=category,\n            ^^^^^^^^^^^^^^^^^\nTypeError: 'NoneType' object is not callable\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/obspy/core/tests/test_response.py\", line 118, in test_response_plot\n    resp.plot(0.001, output=\"VEL\", start_stage=1, end_stage=3,\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 1949, in plot\n    _adjust_bode_plot_figure(fig, show=False,\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 2325, in _adjust_bode_plot_figure\n    leg_ = ax1.legend(loc=\"lower center\", ncol=3)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/axes/_axes.py\", line 341, in legend\n    handles, labels, kwargs = mlegend._parse_legend_args([self], *args, **kwargs)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/legend.py\", line 1364, in _parse_legend_args\n    _api.warn_external(\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/_api/__init__.py\", line 381, in warn_external\n    warnings.warn(message, category, stacklevel)\n  File \"/workspace/obspy/obspy/core/util/testing.py\", line 130, in _warn\n    message=category(message), category=category,\n            ^^^^^^^^^^^^^^^^^\nTypeError: 'NoneType' object is not callable"}, "setup": {"outcome": "passed", "duration": 0.0003275540002505295}, "lineno": 111, "nodeid": "core/tests/test_response.py::TestResponse::test_response_plot", "outcome": "failed", "keywords": ["test_response_plot", "filterwarnings", "image", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001664120009081671}}, {"call": {"crash": {"path": "/workspace/obspy/obspy/core/util/testing.py", "lineno": 130, "message": "TypeError: 'NoneType' object is not callable"}, "outcome": "failed", "duration": 0.04714506100026483, "longrepr": "Traceback (most recent call last):\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 2323, in _adjust_bode_plot_figure\n    ax1.legend(loc=\"lower center\", ncol=3, fontsize='small')\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/axes/_axes.py\", line 341, in legend\n    handles, labels, kwargs = mlegend._parse_legend_args([self], *args, **kwargs)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/legend.py\", line 1364, in _parse_legend_args\n    _api.warn_external(\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/_api/__init__.py\", line 381, in warn_external\n    warnings.warn(message, category, stacklevel)\n  File \"/workspace/obspy/obspy/core/util/testing.py\", line 130, in _warn\n    message=category(message), category=category,\n            ^^^^^^^^^^^^^^^^^\nTypeError: 'NoneType' object is not callable\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/obspy/core/tests/test_response.py\", line 127, in test_response_plot_degrees\n    resp.plot(0.001, output=\"VEL\", start_stage=1, end_stage=3,\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 1949, in plot\n    _adjust_bode_plot_figure(fig, show=False,\n  File \"/workspace/obspy/obspy/core/inventory/response.py\", line 2325, in _adjust_bode_plot_figure\n    leg_ = ax1.legend(loc=\"lower center\", ncol=3)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/axes/_axes.py\", line 341, in legend\n    handles, labels, kwargs = mlegend._parse_legend_args([self], *args, **kwargs)\n                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/legend.py\", line 1364, in _parse_legend_args\n    _api.warn_external(\n  File \"/workspace/obspy/.venv/lib/python3.12/site-packages/matplotlib/_api/__init__.py\", line 381, in warn_external\n    warnings.warn(message, category, stacklevel)\n  File \"/workspace/obspy/obspy/core/util/testing.py\", line 130, in _warn\n    message=category(message), category=category,\n            ^^^^^^^^^^^^^^^^^\nTypeError: 'NoneType' object is not callable"}, "setup": {"outcome": "passed", "duration": 0.00026238899954478256}, "lineno": 120, "nodeid": "core/tests/test_response.py::TestResponse::test_response_plot_degrees", "outcome": "failed", "keywords": ["test_response_plot_degrees", "filterwarnings", "image", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025339500098198187}}], "ci_info": {"ci_url": null, "pr_url": null, "runner_os": null, "github_job": null, "github_sha": null, "runner_arch": null, "github_actor": null, "issue_number": null, "github_action": null, "github_workflow": null, "github_event_name": null}, "created": 1775625167.5610723, "summary": {"total": 3, "failed": 3, "collected": 3}, "duration": 0.20545315742492676, "exitcode": 1, "warnings": [], "collectors": [{"nodeid": "", "result": [{"type": "Function", "lineno": 24, "nodeid": "core/tests/test_channel.py::TestChannel::test_response_plot"}, {"type": "Function", "lineno": 111, "nodeid": "core/tests/test_response.py::TestResponse::test_response_plot"}, {"type": "Function", "lineno": 120, "nodeid": "core/tests/test_response.py::TestResponse::test_response_plot_degrees"}], "outcome": "passed"}], "environment": {}, "dependencies": {"lxml": "6.0.2", "numpy": "1.26.4", "obspy": "0.0.0.dev+0.g84d4ca41d9", "scipy": "1.17.1", "flake8": "7.3.0", "pyproj": "3.7.2", "pytest": "9.0.3", "cartopy": "---", "requests": "2.33.1", "decorator": "5.2.1", "shapefile": "---", "matplotlib": "3.9.4", "setuptools": "80.10.2", "sqlalchemy": "1.4.54", "geographiclib": "---", "pytest-json-report": "1.5.0"}, "platform_info": {"node": "cursor", "system": "Linux", "machine": "x86_64", "release": "6.12.58+", "version": "#1 SMP PREEMPT_DYNAMIC Sat Jan 17 06:53:48 UTC 2026", "processor": "x86_64", "architecture": "64bit", "python_version": "3.12.3", "python_compiler": "GCC 13.3.0", "python_implementation": "CPython"}, "runtest_flags": "--report core/tests/test_channel.py::TestChannel::test_response_plot core/tests/test_response.py::TestResponse::test_response_plot core/tests/test_response.py::TestResponse::test_response_plot_degrees"}