Go: cmd/go: test sollte die Fehlerfälle nach stderr ausgeben

Erstellt am 20. Sept. 2017  ·  3Kommentare  ·  Quelle: golang/go

Die Ausgabe von go test ist ziemlich verrauscht, wenn -v gesetzt ist. Es wäre toll, die gescheiterten Fälle und deren Details unterscheiden zu können.

Ein Unterscheidungsmerkmal wäre, die Fehlerdetails in den stderr zu schreiben, dann können die Tools den stderr einfärben oder filtern, um die Fehler hervorzuheben:

stderrtest

/cc @rsc @ianlancetaylor

FrozenDueToAge

Hilfreichster Kommentar

Ich werde stattdessen ein Tool schreiben, um die Ausgabe von go test zu konsumieren, danke für die Eingabe.

Alle 3 Kommentare

Eine Möglichkeit zum Kolorieren klingt für mich gut, aber das Mischen von stdout/stderr scheint nicht der richtige Ansatz zu sein. Ich denke, es wird zu viele Szenarien geben, in denen die Ausgabe nicht mehr synchron ist.

An stderr zu schreiben ist nicht richtig. Wie Ian sagte, ist es zu einfach, stdout und stderr auf diese Weise aus dem Gleichgewicht zu bringen. Sie sind nicht für feinkörniges Interleaving derselben Ausgabe gedacht. Hier gibt es nur einen Ausgabestrom, also geht alles an einen Ausgang. (Der kanonische Fall für stdout/stderr wäre so etwas wie cat, wo die Ausgabe an stdout geht, aber Fehler, dass Eingabedateien nicht geöffnet oder gelesen werden können, gehen an stderr.)

Wenn Sie ein Programm schreiben möchten, das die Ausgabe eines Tests liest und in Farbe darstellt, scheint dies mit der aktuellen Ausgabe einfach zu bewerkstelligen, ohne zusätzliche Hilfe des go-Befehls oder des Testpakets.

Ich werde stattdessen ein Tool schreiben, um die Ausgabe von go test zu konsumieren, danke für die Eingabe.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen