Пример кода, комментарии внутри:
check() {
#this function emulates your automated test, it has return code, std out, and error out
echo $1 some error log >&2
echo $1 some normal log
return $1
}
#This two tests are running in parallel in background.
#Replace 'check 1' with your command to implement.
{ check 1 >> log1 2>>errorlog1 ;
RC=$?;
[ "$RC" -eq 0 ] \
&& echo Test1 Succeed \
|| echo Test1 Fail
} >>mainlog &
#Replace 'check 0' with your command to implement.
{ check 0 >> log2 2>>errorlog2 ;
RC=$?;
[ "$RC" -eq 0 ] \
&& echo Test2 Succeed \
|| echo Test2 Fail
} >> mainlog &
Этот код создаст 5 файлов на диске.
Вывод команд:
$ cat log1
1 some normal log
$ cat log2
0 some normal log
Ошибки команд:
$ cat errorlog1
1 some error log
$ cat errorlog2
0 some error log
Основной файл журнала с результатами:
$ cat mainlog
Test1 Fail
Test2 Succeed