python / python/cpython

doctest: Allow checking for Traceback context errors

Aberta
#122,916 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

type-feature
Linguagem predominante
Python
Estrelas
77.2k
Forks
36k
Métricas de merge de PRs
Métricas de PR pendentes

Descrição

Feature or enhancement

Proposal:

If the error thrown in a doctest command is a ValueError, and that error object has a __context__ of RuntimeError, it would be nice to be able to do this:

>>> function_that_raises()
Traceback (most recent call last):
  ...
RuntimeError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  ...
ValueError

And a similar thing for __cause__ but with the different line of text in the middle.

Has this already been discussed elsewhere?

I have already discussed this feature proposal on Discourse

Links to previous discussion of this feature:

I did make a discourse post, but it only got a like and no comments :)

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece pela implementação de verificação de traceback do doctest e pelos testes existentes; a issue não fornece caminhos de arquivo. Reproduza o caso context mostrado e compare-o com a variante cause proposta; em seguida, adicione cobertura para o texto intermediário de traceback solicitado e verifique a saída do doctest.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
testing-qa
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
38/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.