ref: c7bffb66735df8ea01e268bc906695ee04f007ae
dir: /autotest/unitTest/run_ParseUTxml.sh/
if [ $# -ne 1 ];then echo Please input $0 [report dir] exit 1 fi REPORT=$1 if [ ! -e ${REPORT} ];then echo "The directory of ${REPORT} dose't not exit,please check the test log" exit 1 fi UT_Failed_Num=0 parse_unittest() { res=$1 echo ${res} echo Start to parse unittest results of $res if [ -e $res ];then tests=`cat $res | grep "<testsuites" | awk -F " " '{print $2;}' | awk -F "\"" '{print $2;}'` fails=`cat $res | grep "<testsuites" | awk -F " " '{print $3;}' | awk -F "\"" '{print $2;}'` times=`cat $res | grep "<testsuites" | awk -F " " '{print $6;}' | awk -F "\"" '{print $2;}'` waste=`cat $res | grep "<testsuites" | awk -F " " '{print $7;}' | awk -F "\"" '{print $2;}'` msg="Total testcases: $tests, failed: $fails,time:$waste seconds, at$times,xml:$res" echo ${msg} UT_Failed_Num=$((${UT_Failed_Num}+${fails})) cat >> mail.log << EOF <style> .fail { background-color: yellow; } </style> <br> <table style="width:600px" cellspacing="0" border="1" width="100%"> <thead> <tr> <td>Total unit test cases</td> <td>Failed</td> <td>Time</td> <td>Date</td> </tr> </thead> <tbody> <tr style="text-align:center; font-weight: bold;"> <td>${tests}</td> <td><font class="fail">${fails}</font></td> <td>${waste}</td> <td>${times}</td> </tr> </tbody> </table> <br> EOF fi } xmlcount=`ls $REPORT | wc -l` xmlfiles=`ls $REPORT` if [ ${xmlcount} -eq 0 ]; then echo There is nothing xml files generated at $REPORT exit 1 fi for file in $xmlfiles;do parse_unittest $REPORT/$file done if [ ${UT_Failed_Num} = "0" ];then echo Total $xmlcount files at $REPORT,all sucessful exit 0 else echo Total $xmlcount files at $REPORT,${UT_Failed_Num} error cases exit 2 fi