python / python/cpython

doctest: Allow checking for Traceback context errors

Offen
#122,916 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit der Traceback-Prüfungsimplementierung in doctest und den vorhandenen Tests; das Issue enthält keine Dateipfade. Reproduzieren Sie den gezeigten context-Fall und vergleichen Sie ihn mit der vorgeschlagenen cause-Variante. Fügen Sie anschließend Tests für den angeforderten Zwischen-Traceback-Text hinzu und überprüfen Sie die doctest-Ausgabe.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
testing-qa
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.