У меня есть метод @Test, написанный на Java, который вызывает скрипт оболочки.Сценарий оболочки содержит команду vimdiff, используемую для генерации сравнения кода между двумя html-файлами.
Когда я запускаю этот метод тестирования из jenkins, сценарий оболочки выполняется.Но команда vimdiff не выполняется.
Java-метод, который вызывает сценарий оболочки
try {
File[] uiDiffDir = getFiles();
for (File file : uiDiffDir) {
String[] cmd = {"sh", shellScriptPath, beforeHtmlPath + file.getName(), afterHtmlPath + file.getName(),
codeComparisonPath + file.getName()};
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
shell.sh
vimdiff -c 'set foldlevel=9999' $1 $2 -c TOhtml -c 'w! '"$3"'' -c 'qa!'
Этот метод работает отличноиз моего intellij, но изнутри Дженкинс vimdiff не работает.От Дженкинса я проверил, что аргументы передаются правильно, используя операторы echo.Так что это не проблема.Итак, мой вопрос: работает ли vimdiff изнутри Дженкинс?Может кто-нибудь помочь мне с этим вопросом.Я немного растерялся.