freeswitch/tests/unit/collect-test-logs.sh

36 lines
938 B
Bash
Executable File

#!/bin/bash
echo "Collecting test logs"
LOG_DIR=./logs
html="<html><h3>There are failed unit-tests:</h3><table>"
logs=$(find $LOG_DIR -type f -iname "*.html" -print | sort)
logs_found=0
olddirname=""
for name in $logs
do
logname=$(basename $name)
testname=$(echo $logname | awk -F 'log_run-tests_' '{print $2}' | awk -F '.html' '{print $1}')
testpath="${testname//!/\/}"
dirname=$(dirname $testpath)
test=$(basename $testpath)
if [ "$olddirname" != "$dirname" ]; then
html+="<tr align=\"left\"><th><br>$dirname</th></tr>" ;
olddirname=$dirname ;
fi
html+="<tr align=\"left\"><td><a href="$logname">$test</a>"
backtrace="backtrace_$testname.txt"
if test -f "${LOG_DIR}/$backtrace"; then
html+=". Core dumped, backtrace is available <a href=\"$backtrace\">here</a>"
fi
html+="</td></tr>"
logs_found=1
done
if [ $logs_found -ne 0 ]; then
html+="</table></html>"
echo $html > $LOG_DIR/artifacts.html
exit 1
fi
exit 0