matplotlib tests fail, expecting their decorator to be outermost
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- testing-qa, tooling
Direção de pesquisa
Reproduza a falha com appmap-python pytest -vv e, em seguida, inspecione o caminho de instrumentação em _appmap/importer.py e _appmap/instrument.py, juntamente com os locais do Matplotlib indicados: lib/matplotlib/pyplot.py, lib/matplotlib/testing/decorators.py e lib/matplotlib/_api/deprecation.py. Está concluído quando o teste reproduzido do Matplotlib não falhar mais porque a ordem dos decorators ou a assinatura encapsulada é inválida.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
In the 3.5 version of this project: https://github.com/matplotlib/matplotlib
Revision de98877e3dc45de8dd441d008f23d88738dc015d
Create venv
pip install -r requirements/dev/dev-requirements.txt
pip install -r requirements/testing/all.txt
pip install pytest-xdist pytest appmap
pytest -vv
(most tests will pass)
run appmap-python pytest -vv - all tests will fail.
They all fail with the same error. Here is a single test example.
appmap-python pytest -n8 -vv lib/matplotlib/tests/test_type1font.py::test_Type1Font INT ✘ 3.9.19 matplotlib 17:12:42
=========================================================================================== test session starts ===========================================================================================
platform darwin -- Python 3.9.19, pytest-8.2.1, pluggy-1.5.0 -- /Users/petecheslock/repos/matplotlib/venv/bin/python
cachedir: .pytest_cache
rootdir: /Users/petecheslock/repos/matplotlib
configfile: pytest.ini
plugins: cov-5.0.0, xvfb-3.0.0, rerunfailures-14.0, appmap-2.0.4, timeout-2.3.1, xdist-3.6.1
8 workers [1 item]
scheduling tests via LoadScheduling
lib/matplotlib/tests/test_type1font.py::test_Type1Font
[gw0] [100%] ERROR lib/matplotlib/tests/test_type1font.py::test_Type1Font
================================================================================================= ERRORS ==================================================================================================
____________________________________________________________________________________ ERROR at setup of test_Type1Font _____________________________________________________________________________________
[gw0] darwin -- Python 3.9.19 /Users/petecheslock/repos/matplotlib/venv/bin/python
request = <SubRequest 'mpl_test_settings' for <Function test_Type1Font>>
@pytest.fixture(autouse=True)
def mpl_test_settings(request):
> from matplotlib.testing.decorators import _cleanup_cm
lib/matplotlib/testing/conftest.py:40:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
venv/lib/python3.9/site-packages/_appmap/wrapt/wrappers.py:613: in __call__
return self._self_wrapper(self.__wrapped__, instance,
venv/lib/python3.9/site-packages/_appmap/importer.py:235: in wrapped_exec_module
exec_module(*args, **kwargs)
lib/matplotlib/testing/decorators.py:17: in <module>
from matplotlib import (_api, _pylab_helpers, cbook, ft2font, pyplot as plt,
venv/lib/python3.9/site-packages/_appmap/wrapt/wrappers.py:613: in __call__
return self._self_wrapper(self.__wrapped__, instance,
venv/lib/python3.9/site-packages/_appmap/importer.py:235: in wrapped_exec_module
exec_module(*args, **kwargs)
lib/matplotlib/pyplot.py:2603: in <module>
def imshow(
lib/matplotlib/pyplot.py:105: in _copy_docstring_and_deprecators
func = decorator(func)
venv/lib/python3.9/site-packages/_appmap/wrapt/wrappers.py:622: in __call__
return self._self_wrapper(self.__wrapped__, self._self_instance,
venv/lib/python3.9/site-packages/_appmap/instrument.py:131: in instrumented_fn
return call_instrumented(f, instance, args, kwargs)
venv/lib/python3.9/site-packages/_appmap/instrument.py:82: in call_instrumented
return f.fn(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
since = '3.5', name = 'aspect', func = <function imshow at 0x1537dcca0>
def make_keyword_only(since, name, func=None):
"""
Decorator indicating that passing parameter *name* (or any of the following
ones) positionally to *func* is being deprecated.
When used on a method that has a pyplot wrapper, this should be the
outermost decorator, so that :file:`boilerplate.py` can access the original
signature.
"""
decorator = functools.partial(make_keyword_only, since, name)
if func is None:
return decorator
signature = inspect.signature(func)
POK = inspect.Parameter.POSITIONAL_OR_KEYWORD
KWO = inspect.Parameter.KEYWORD_ONLY
> assert (name in signature.parameters
and signature.parameters[name].kind == POK), (
f"Matplotlib internal error: {name!r} must be a positional-or-keyword "
f"parameter for {func.__name__}()")
E AssertionError: Matplotlib internal error: 'aspect' must be a positional-or-keyword parameter for imshow()
lib/matplotlib/_api/deprecation.py:434: AssertionError
========================================================================================= short test summary info =========================================================================================
ERROR lib/matplotlib/tests/test_type1font.py::test_Type1Font - AssertionError: Matplotlib internal error: 'aspect' must be a positional-or-keyword parameter for imshow()
- Linguagem predominante
- Python
- Estrelas
- 104
- Forks
- 17
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de getappmap/appmap-python
-
getappmap/appmap-python#381 · 1 responsável ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
getappmap/appmap-python#376 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
getappmap/appmap-python#371 ·
-
enhancement navie-plan
getappmap/appmap-python#366 · 1 comentário · 1 responsável ·
-
navie-plan
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
getappmap/appmap-python#365 · 1 comentário ·
Todas as issues de getappmap/appmap-python
Issues semelhantes
-
link-check link-check:sphinx-theme
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
OpenHands/extensions#626 · 1 comentário ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
CSCfi/sd-search-api#39 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100