PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

java.lang.Object
com.android.ddmlib.MultiLineReceiver
com.android.tradefed.testtype.PythonUnitTestResultParser


Interpretiert die Ausgabe von Tests, die mit dem Unittest-Framework von Python ausgeführt werden, und übersetzt sie in Aufrufe für eine Reihe von ITestInvocationListener s. Die Ausgabe dieser Tests folgt dieser EBNF-Grammatik:

TestReport ::= TestResult* Line TimeMetric [FailMessage*] Status. TestResult ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback Line. SingleStatus ::= \u201cok\u201d | \u201cFEHLER\u201d. TimeMetric ::= \u201cRan\u201d integer \u201ctests in\u201d float \u201ds\u201d. Status ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. Traceback ::= string+.

Beispielausgabe (Übergabe): test_size (test_rangelib.RangeSetTest) ... ok test_str (test_rangelib.RangeSetTest) ... ok test_subtract (test_rangelib.RangeSetTest) ... ok test_to_string_raw (test_rangelib.RangeSetTest) ... ok test_union (test_rangelib. RangeSetTest) ... ok

-------------------------------------------------- -------------------- Führte 5 Tests in 0,002 Sekunden durch

OK

Beispielausgabe (fehlgeschlagen) test_size (test_rangelib.RangeSetTest) ... FEHLER

=============================================== ==================== FEHLER: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ Zurück verfolgen ( letzter Aufruf zuletzt): Datei „test_rangelib.py“, Zeile 129, in test_rangelib raise ValueError() ValueError --------------------------- ------------------------------------------ 1 Test in 0,001 Sekunden ausgeführt. FEHLGESCHLAGEN (Fehler=1)

Beispielausgabe mit mehreren Randfällen (fehlgeschlagen): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... erwarteter Fehler testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... 'reason foo' übersprungen testUnexpectedSuccess (foo.testFoo) ... unerwarteter Erfolg

=============================================== ==================== FEHLER: testError (foo.testFoo) ---------------------- ------------------------------------------------ Zurück verfolgen ( letzter Aufruf zuletzt): Datei „foo.py“, Zeile 11, in testError self.assertEqual(2+2, 5/0) ZeroDivisionError: Ganzzahldivision oder Modulo durch Null

=============================================== ==================== FAIL: testFail (foo.testFoo) ---------------------- ------------------------------------------------ Zurück verfolgen ( letzter Aufruf zuletzt): Datei „foo.py“, Zeile 8, in testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

=============================================== ==================== FAIL: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- Traceback (letzter Aufruf zuletzt): Datei „foo.py“, Zeile 31, in testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5

-------------------------------------------------- -------------------- 8 Tests in 0,001 Sekunden durchgeführt

FEHLGESCHLAGEN (Fehler=2, Fehler=1, übersprungen=1, erwartete Fehler=1, unerwartete Erfolge=1)

TODO: Erwägen Sie eine Umgestaltung der gesamten Klasse. Die Handhabung ist derzeit ziemlich chaotisch.

Zusammenfassung

Öffentliche Bauträger

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

Erstellen Sie einen neuen PythonUnitTestResultParser , der dem angegebenen ITestInvocationListener Bericht erstattet.

PythonUnitTestResultParser ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName)

Erstellen Sie einen neuen PythonUnitTestResultParser , der an die angegebenen ITestInvocationListener s berichtet.

PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters)

Erstellen Sie einen neuen PythonUnitTestResultParser , der an die angegebenen ITestInvocationListener s berichtet, mit angegebenen Einschluss- und Ausschlussfiltern.

Öffentliche Methoden

void finalizeParser ()
boolean isCancelled ()
void processNewLines (String[] lines)

Verarbeiten Sie die Python-Unittest-Ausgabe und melden Sie die geparsten Ergebnisse.

void setFinalizeWhenParsing (boolean shouldFinalize)

Öffentliche Bauträger

PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

Erstellen Sie einen neuen PythonUnitTestResultParser , der dem angegebenen ITestInvocationListener Bericht erstattet.

Parameter
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Erstellen Sie einen neuen PythonUnitTestResultParser , der an die angegebenen ITestInvocationListener s berichtet.

Parameter
listeners

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName, 
                 includeFilters, 
                 excludeFilters)

Erstellen Sie einen neuen PythonUnitTestResultParser , der an die angegebenen ITestInvocationListener s berichtet, mit angegebenen Einschluss- und Ausschlussfiltern.

Parameter
listeners

runName String

includeFilters

excludeFilters

Öffentliche Methoden

finalizeParser

public void finalizeParser ()

ist storniert

public boolean isCancelled ()

Kehrt zurück
boolean

ProcessNewLines

public void processNewLines (String[] lines)

Verarbeiten Sie die Python-Unittest-Ausgabe und melden Sie die geparsten Ergebnisse.

Im Gegensatz zur Basismethode in MultiLineReceiver sollte diese Methode nur einmal mit der vollständigen Ausgabe aufgerufen werden.

Parameter
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parameter
shouldFinalize boolean