4 Star 11 Fork 6

HarmonyHub / OpenHarmony_AWS_IoT

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
filterGcov.sh 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
#!/bin/bash
INPUT_FILE=$1
TEMP_FILE1=${INPUT_FILE}1.tmp
TEMP_FILE2=${INPUT_FILE}2.tmp
TEMP_FILE3=${INPUT_FILE}3.tmp
ERROR_FILE=$2
OUTPUT_FILE=$3
HTML_OUTPUT_FILE=$3.html
TEST_RESULTS=$4
flattenGcovOutput() {
while read line1
do
read line2
echo $line2 " " $line1
read junk
read junk
done < ${INPUT_FILE}
}
getRidOfCruft() {
sed '-e s/^Lines.*://g' \
'-e s/^[0-9]\./ &/g' \
'-e s/^[0-9][0-9]\./ &/g' \
'-e s/of.*File/ /g' \
"-e s/'//g" \
'-e s/^.*\/usr\/.*$//g' \
'-e s/^.*\.$//g'
}
flattenPaths() {
sed \
-e 's/\/[^/][^/]*\/[^/][^/]*\/\.\.\/\.\.\//\//g' \
-e 's/\/[^/][^/]*\/[^/][^/]*\/\.\.\/\.\.\//\//g' \
-e 's/\/[^/][^/]*\/[^/][^/]*\/\.\.\/\.\.\//\//g' \
-e 's/\/[^/][^/]*\/\.\.\//\//g'
}
getFileNameRootFromErrorFile() {
sed '-e s/gc..:cannot open .* file//g' ${ERROR_FILE}
}
writeEachNoTestCoverageFile() {
while read line
do
echo " 0.00% " ${line}
done
}
createHtmlOutput() {
echo "<table border="2" cellspacing="5" cellpadding="5">"
echo "<tr><th>Coverage</th><th>File</th></tr>"
sed "-e s/.*% /<tr><td>&<\/td><td>/" \
"-e s/[a-zA-Z0-9_]*\.[ch][a-z]*/<a href='file:\.\/&.gcov'>&<\/a><\/td><\/tr>/"
echo "</table>"
sed "-e s/.*/&<br>/g" < ${TEST_RESULTS}
}
flattenGcovOutput | getRidOfCruft | flattenPaths > ${TEMP_FILE1}
getFileNameRootFromErrorFile | writeEachNoTestCoverageFile | flattenPaths > ${TEMP_FILE2}
cat ${TEMP_FILE1} ${TEMP_FILE2} | sort | uniq > ${OUTPUT_FILE}
createHtmlOutput < ${OUTPUT_FILE} > ${HTML_OUTPUT_FILE}
rm -f ${TEMP_FILE1} ${TEMP_FILE2}
C
1
https://gitee.com/harmonyhub/harmony-aws-iot.git
git@gitee.com:harmonyhub/harmony-aws-iot.git
harmonyhub
harmony-aws-iot
OpenHarmony_AWS_IoT
master

搜索帮助