2016-07-14 8 views
1

Ich arbeite derzeit an einem Jenkins-Projekt, das ein Programm öffnet überprüft, um zu sehen, ob es ausgeführt wird, und sendet eine bestanden/nicht bestanden. Ich habe einen Installationstest und einen Deinstallationstest, und dieser Test soll prüfen, ob die App installiert ist und ausgeführt werden kann, oder wenn sie deinstalliert wird, um zu überprüfen, ob sie ordnungsgemäß deinstalliert wurde. Es funktioniert gut, wenn das Programm ausgeführt wird, aber wenn es nicht ist, hängt es und sendet nur einen Fehler zurück, wenn es abläuft. Es besagt, dass der Pfad nicht in der Konsolenausgabe gefunden werden kann, was passieren sollte, weil der Ordner, in dem er sich befindet, beim Deinstallieren der Anwendung gelöscht wird, aber aus irgendeinem Grund kein Fehler zurücksendet, obwohl er dies erkennt. Hier ist meine Batch-Befehl:Jenkins Build wird nicht fehlschlagen, wenn es sollte

@echo off 
cd C:\Program Files\file\file location 
start application.exe 
cd c:\windows\system32 
sc query rfecosvc 
tasklist | find "application" 

Hier ist die Ausgabe der Konsole:

Started by user justin dunlap 
Building remotely on BuildTestSlave (Justin_slave) in workspace C:\workspace\BuildTest2 
[BuildTest2] $ cmd /c call C:\Users\rivet\AppData\Local\Temp\hudson4978209418565106916.bat 
The system cannot find the path specified. 
Build timed out (after 3 minutes). Marking the build as failed. 
Build was aborted 
Finished: FAILURE 
+0

@echo entfernen und sehen, dass mit Ihrer Batch-Datei geschieht – ilia

Antwort

0

Eigentlich gibt es einige Möglichkeiten, diesen Fehler zu debuggen. Sie können ein

  1. entfernen @echo off machen versuchen, wenn Sie am Anfang des Skripts haben, dass
  2. Entfernen Sie alle >nul's oder ähnliches Sie für alle Befehle ein pause ganz am Ende des Skripts
  3. hinzufügen haben

Hoffe, das kann Ihnen helfen.

Kredit geht an @Bali C