test_rerun integration tests fail with pytest-rerunfailures 16.7
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 76/100
Direção de pesquisa
Comece em basereport.py em pytest_runtest_logreport e acompanhe como os relatórios armazenados são acumulados e quando o relatório é considerado concluído; a issue diz que esses são processados sem serem limpos no primeiro teardown que não é de rerun. Reproduza com testing/test_integration.py::TestHTML::test_rerun e TestLogCapturing::test_rerun sob pytest-rerunfailures 16.7, depois confirme que a contagem de reruns mostra 2 em vez de 5 após a sequência de teardown por tentativa.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
With pytest-rerunfailures 16.7, both rerun integration tests fail:
FAILED testing/test_integration.py::TestHTML::test_rerun - AssertionError: Expected <5 Reruns> to match pattern <2 Reruns>, but did not.
FAILED testing/test_integration.py::TestLogCapturing::test_rerun - AssertionError: Expected <5 Reruns> to match pattern <2 Reruns>, but did not.
The test uses @pytest.mark.flaky(reruns=2) but the report shows 5 reruns.
Same result with the app.js/style.css shipped in the 4.2.0 sdist, so it
is not related to the frontend build.
Bisected: it starts with pytest-rerunfailures 16.7, which now runs and
reports teardown after each failed attempt
(setup, call:rerun, teardown, setup, call:rerun, teardown, ...).
pytest_runtest_logreport in basereport.py treats the first non-rerun
teardown as "finished" and processes all stored reports without
clearing them, so reruns are processed again at each teardown:
1 + 2 + 2 = 5 "Rerun" rows (3 of them with 0 ms duration).
Environment: pytest-html 4.2.0, pytest 9.1.1, pytest-rerunfailures 16.7,
Python 3.14, Debian unstable, chromium + chromedriver.
- Linguagem predominante
- Python
- Estrelas
- 779
- Forks
- 261
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
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 pytest-dev/pytest-html
-
HTML extras for 'call' and 'teardown' phases get mergedTalvez já em andamento @contputer0x0 assumiu há 19 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
pytest-dev/pytest-html#1077 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
pytest-dev/pytest-html#1039 ·
-
Feature: pluggable HTML themes via Jinja2 template inheritanceTalvez já em andamento @RonnyPfannschmidt assumiu há 159 dias. Aberta
pytest-dev/pytest-html#1029 · 1 reação · 1 responsável ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
pytest-dev/pytest-html#1027 ·
-
pytest-html does not escape HTML in testId (v4.2.0)Talvez já em andamento @golikovichev assumiu há 143 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
pytest-dev/pytest-html#1024 ·
Todas as issues de pytest-dev/pytest-html
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
pollen-robotics/reachy_mini#1527 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 2 dias
-
Variadic arguments that aren't objects are passed as objects (stringWithFormat_ with %d / %f)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
A seed and its negative give the same run, so realizations of a negative seed repeat each otherAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia