2016-04-15 12 views
3

Wie soll ich diese Warnung loswerden und die Timeout-Konstante für Pitest hinzufügen?Pitest WARNUNG: Der Slave wurde aufgrund von TIMED_OUT abnormal beendet

Mein Befehl lautet:

mvn jacoco:report org.pitest:pitest-maven:mutationCoverage sonar:sonar -Dpitest.timeoutConst=8000 

Aber es wirft: WARNUNG: Slave to TIMED_OUT anormal wegen verlassen

+0

Es gibt nichts zu befürchten, können Sie den erstellten Bericht überprüfen: Wenn die als zeitlich markierte Mutationen aus sehen nicht wie Endlosschleifen Sie einen größeren Wert für den Timeout const versuchen, aber dies kann verlangsamen Sie den Prozess, indem Sie jedes Mal eine längere Wartezeit verursachen, wenn eine Endlosschleife auftritt. –

+0

Bereits überprüft, diesen Kommentar - https://groups.google.com/forum/#!topic/pitusers/RFKOYSLmQ6o –

Antwort

6

Es ist unwahrscheinlich, dass Sie in der Lage sein wird, alle Warnungen loswerden - sie erzeugt werden wenn eine Mutation eine Endlosschleife erzeugt.

Pitest erkennt diese, indem die Ausführungszeit jedes Tests mit der Zeit verglichen wird, die benötigt wurde, wenn keine Mutation vorhanden ist. Wenn der Test wesentlich länger dauert, wird der Prozess abgebrochen und die Mutation als Zeitlimit markiert.

Der Grund, warum Pitest eine Warnung meldet, ist, wenn es zu eilig ist, eine Mutation als eine Endlosschleife zu markieren - es könnte sein, dass die Dinge aus anderen Gründen etwas langsam laufen.

Wenn Sie viele Zeitüberschreitungen haben, sollten Sie zuerst den Bericht untersuchen und prüfen, ob alle wie legitime Endlosschleifen aussehen. Wenn sie es tun, dann gibt es nichts mehr zu tun.

Wenn einige Timeouts nicht wie Endlosschleifen aussehen, können Sie versuchen, die Timeout-Konstante zu erhöhen.

Dies kann in der Pom festgelegt oder über die Befehlszeile übergeben werden. Es sollte nicht mit Pitest vorangestellt werden.

mvn org.pitest:pitest-maven:mutationCoverage -DtimeoutConst=8000

+0

Ich bin mir nicht sicher, ob dies geändert wurde oder ein Tippfehler in der ursprünglichen Antwort, aber mit einer neueren Version von Das Pitest-Plugin (1.2.3), Sie brauchen eine etwas andere Schreibweise des Parameters. Sie müssen jetzt -DtimeoutConstant = 8000 verwenden – Evert