python / python/cpython

doctest: Allow checking for Traceback context errors

Aperta
#122,916 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

type-feature
Lingua principale
Python
Stelle
77.2k
Fork
35.9k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

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 :)

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con l’implementazione del controllo dei traceback di doctest e con i test esistenti; l’issue non fornisce percorsi di file. Riproduci il caso context mostrato e confrontalo con la variante cause proposta, quindi aggiungi la copertura per il testo intermedio del traceback richiesto e verifica l’output di doctest.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
testing-qa
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.