fip: modify coverity scripts, support ouput path filter. [1/1]

PD#SWPL-64962

Problem:
run coverity may not defects some errors.

Solution:
coverity scripts add argv, eg: ./mk t3_t982 --cov bl33/v2019/common/

Verify:
local

Change-Id: I4df20e9d194878fac60bcf5930f9c687e5b31f4a
Signed-off-by: dongqing.li <dongqing.li@amlogic.com>
diff --git a/check_coverity.sh b/check_coverity.sh
index a8ea6a3..ef9b29f 100755
--- a/check_coverity.sh
+++ b/check_coverity.sh
@@ -14,6 +14,7 @@
 COV_RESULT_HTML="./result-html"
 HIGH_LEVEL="0"
 PATTERN_PATH=""
+PATTERN_ENABLE="0"
 
 #############
 # function
@@ -25,54 +26,54 @@
 }
 
 function check_cov_path() {
-    echo ""
-    echo "check_cov_path ..."
-    echo ""
+	echo ""
+	echo "check_cov_path ..."
+	echo ""
 	if [ -d "${COV_IM_DIR}" ]; then
 		rm -rf ${COV_IM_DIR}
 	fi
 	mkdir -p ${COV_IM_DIR}
-    if [ -d "${COV_RESULT_HTML}" ]; then
-        rm -rf ${COV_RESULT_HTML}
-    fi
+	if [ -d "${COV_RESULT_HTML}" ]; then
+		rm -rf ${COV_RESULT_HTML}
+	fi
 }
 
 function run_coverity() {
 	echo ""
 	echo -e "\e[1;35m[1] run cov-build ... \e[0m"
 	${COVERITY_PATH}/cov-build --dir ${COV_IM_DIR} ./mk $@ || err_exit "cov-build error."
-    echo -e "\e[1;35m[1] run cov-build OK. \e[0m"
+	echo -e "\e[1;35m[1] run cov-build OK. \e[0m"
 
 	echo ""
 	echo -e "\e[1;35m[2] run cov-analyze ... \e[0m"
-    if [ ${HIGH_LEVEL} = "1" ]; then
-        if [ -z "${PATTERN_PATH}" ];then
-            ${COVERITY_PATH}/cov-analyze --dir ../im-dir/ --strip-path $MKPATH --all --aggressiveness-level high --fb-max-mem 3072 || err_exit "cov-analyze high level error."
-        else
-            ${COVERITY_PATH}/cov-analyze --dir ../im-dir/ --strip-path $MKPATH --all --aggressiveness-level high --fb-max-mem 3072 --tu-pattern "file('/${PATTERN_PATH}')" || err_exit "cov-analyze high level error."
-        fi
-    else
-        if [ -z "${PATTERN_PATH}" ];then
-            ${COVERITY_PATH}/cov-analyze --dir ../im-dir/ --strip-path $MKPATH --all  || err_exit "cov-analyze normal level error."
-        else
-            ${COVERITY_PATH}/cov-analyze --dir ../im-dir/ --strip-path $MKPATH --all  --tu-pattern "file('/${PATTERN_PATH}')" || err_exit "cov-analyze normal level error."
-        fi
-    fi
-    echo -e "\e[1;35m[2] run cov-analyze OK. \e[0m"
+	if [ ${HIGH_LEVEL} = "1" ]; then
+        	if [ "${PATTERN_ENABLE}" = "1" ];then
+			${COVERITY_PATH}/cov-analyze --dir ${COV_IM_DIR} --strip-path $MKPATH --all --aggressiveness-level high --fb-max-mem 3072 --tu-pattern "file('/${PATTERN_PATH}')" || err_exit "cov-analyze high level error."
+        	else
+			${COVERITY_PATH}/cov-analyze --dir ${COV_IM_DIR} --strip-path $MKPATH --all --aggressiveness-level high --fb-max-mem 3072 || err_exit "cov-analyze high level error."
+		fi
+	else
+		if [ "${PATTERN_ENABLE}" = "1" ];then
+			${COVERITY_PATH}/cov-analyze --dir ${COV_IM_DIR} --strip-path $MKPATH --all  --tu-pattern "file('/${PATTERN_PATH}')" || err_exit "cov-analyze normal level error."
+		else
+			${COVERITY_PATH}/cov-analyze --dir ${COV_IM_DIR} --strip-path $MKPATH --all  || err_exit "cov-analyze normal level error."
+		fi
+	fi
+	echo -e "\e[1;35m[2] run cov-analyze OK. \e[0m"
 
-    echo ""
+	echo ""
 	echo -e "\e[1;35m[3] run cov-format-errors ... \e[0m"
-	${COVERITY_PATH}/cov-format-errors --dir ../im-dir/ --html-output ${COV_RESULT_HTML} --filesort --strip-path $MKPATH -x || err_exit "cov-format-errors error."
-    echo -e "\e[1;35m[3] run cov-format-errors OK. \e[0m"
+	${COVERITY_PATH}/cov-format-errors --dir ${COV_IM_DIR} --html-output ${COV_RESULT_HTML} --filesort --strip-path $MKPATH -x || err_exit "cov-format-errors error."
+	echo -e "\e[1;35m[3] run cov-format-errors OK. \e[0m"
 	echo "end."
 
-    rm -rf ${COV_IM_DIR}
+	rm -rf ${COV_IM_DIR}
 }
 
 function show_coverity_result() {
 	echo ""
 	echo -e "\e[1;35m[html-result] \e[0m"
-    echo "you can open the index.html files through a browser, and view code defects."
+	echo "you can open the index.html files through a browser, and view code defects."
 	echo "path: ${MKPATH}/`basename ${COV_RESULT_HTML}`/index.html"
 	echo " "
 }
@@ -82,35 +83,52 @@
 ########
 function check_coverity() {
 
-    MK_ARGV=$@
+	MK_ARGV=$@
+	if [ -z "${PATTERN_PATH}" ];then
+		echo "pattern_path not set, ignore. "
+		PATTERN_ENABLE="0"
+	else
+		if [ -e "./${PATTERN_PATH}" ];then
+			echo "PATTERN_PATH set ok: ${PATTERN_PATH}"
+			PATTERN_ENABLE="1"
+		else
+			echo "PATTERN_PATH invalid, ingore."
+			PATTERN_ENABLE="2"
+		fi
+	fi
 
-    echo -e "\e[1;35m=========== run check_coverity() ===========\e[0m"
+	echo -e "\e[1;35m=========== run check_coverity() ===========\e[0m"
 
-    echo ""
-    echo "coverity raw command  : ./mk  $@ "
-    # check argv
-    result=$(echo ${MK_ARGV} | grep "\-\-cov-high")
-    if [[ "$result" != "" ]]; then
-        echo "coverity defect level : high"
-        HIGH_LEVEL="1"
-        NEW_ARGV=`echo "${MK_ARGV//--cov-high/ }"`
-    else
-        echo "coverity defect level : normal"
-        HIGH_LEVEL="0"
-        NEW_ARGV=`echo "${MK_ARGV//--cov/ }"`
-    fi
-    echo "coverity new command  : ./mk ${NEW_ARGV}"
-    MKPATH=`pwd`
+	echo "------------------------------------------------------------------"
+	echo "coverity raw command  : ./mk $@ "
+
+	# check argv
+	result=$(echo ${MK_ARGV} | grep "\-\-cov-high")
+	if [[ "$result" != "" ]]; then
+		echo "coverity defect level : high"
+		HIGH_LEVEL="1"
+		NEW_ARGV=`echo "${MK_ARGV//--cov-high/ }"`
+	else
+		echo "coverity defect level : normal"
+		HIGH_LEVEL="0"
+		NEW_ARGV=`echo "${MK_ARGV//--cov/ }"`
+	fi
+	if [ "PATTERN_ENABLE" != "0" ];then
+		NEW_ARGV=`echo "${NEW_ARGV//${PATTERN_PATH}/ }"`
+	fi
+	echo "coverity new command  : ./mk ${NEW_ARGV}"
+	MKPATH=`pwd -P`
 	echo "coverity run path     : $MKPATH"
+	echo "------------------------------------------------------------------"
 
-    # check_cov_path
-    check_cov_path
+	# check_cov_path
+	check_cov_path
 
-    # run_coverity
-    run_coverity ${NEW_ARGV}
+	# run_coverity
+	run_coverity ${NEW_ARGV}
 
-    # show coverity result info
-    show_coverity_result
+	# show coverity result info
+	show_coverity_result
 }