Привет, я хочу немного прочитать tail -f с отличным процессом, затем взять то, что я получил от него, и уничтожить процесс.Я делаю это в настройке «сторожевого класса» (то есть я выполняю процесс в начале теста и хочу получить данные после его завершения).
Проблемав том, что я ничего не получаю из процесса (process.in.text), хотя в файл, из которого я читаю, было записано много всего.
Я пытался узнать, пытался ли кто-нибудьраньше, но не смог найти ни одного хорошего ресурса по этому вопросу.
Вот код из начала и конца тестового сторожа:
@Override
void starting(FrameworkMethod method) {
if (testCase.logs) {
println "===> Fetching logs enabled."
def commands = []
pathMap.each {key, value ->
String host = environmentEnvName.toLowerCase() + key.toString()
value.each {it ->
commands.add "ssh ${user}@${host} tail -f '${it}'"
}
}
println "===> Executing processes"
commands.each {command ->
procs.add command.execute()
}
println "===> ${procs.size()} processes exceuted"
}
}
@Override
void finished(FrameworkMethod method) {
if (procs) {
println "===> Ready to write files and destroy processes."
def reportDate = new Date()
procs?.eachWithIndex {proc, index ->
def target = String.format("%s/target/${index}-%s.txt", userdir, reportDate.format("HHmm-ddMMyyyy"))
if(proc.in.text){
new File(target).write(proc.in.text)
}
proc.destroy()
}
println "===> Log exerpts written. Processes destroyed."
}
}