test: add checks for void function invocations to the CI pipeline
This commit is contained in:
parent
2f3fe7ba42
commit
f0dee9d2f0
|
@ -0,0 +1,64 @@
|
|||
#!/bin/bash
|
||||
|
||||
# usage: check_void.sh -c func.txt <file or directory>
|
||||
# Example: check_void.sh -c func.txt -f TDengine/source
|
||||
# Example: check_void.sh -c func.txt -f TDengine/source/util/src/ttimer.c
|
||||
|
||||
while getopts "c:f:h" arg
|
||||
do
|
||||
case "$arg" in
|
||||
c)
|
||||
func_list_file=$OPTARG
|
||||
;;
|
||||
f)
|
||||
source_file=$OPTARG
|
||||
;;
|
||||
h)
|
||||
echo "Usage: -c [function list file] "
|
||||
echo " -f [source file or directory] "
|
||||
echo " -h help"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Invalid option: -$OPTARG"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# echo "funclist list configuration file: $func_list_file"
|
||||
|
||||
if [ ! -e "$func_list_file" ] || [ ! -r "$func_list_file" ]
|
||||
then
|
||||
echo "$func_list_file doesn't exist or is not readable"
|
||||
fi
|
||||
|
||||
# cat $func_list_file
|
||||
|
||||
grep_string=""
|
||||
separator="\|"
|
||||
|
||||
while read -r line
|
||||
do
|
||||
# echo "current function: $line"
|
||||
tmp="$grep_string"
|
||||
grep_string="$tmp$line$separator"
|
||||
# echo "grep_string: $grep_string"
|
||||
done < $func_list_file
|
||||
|
||||
# echo "${grep_string:1:-2}"
|
||||
|
||||
# echo "We are going to check (void) function invocation in $*"
|
||||
|
||||
grep -Rn "${grep_string:1:-2}" $source_file |grep -v "test" > ./check_void_result.txt
|
||||
|
||||
if [ -s ./check_void_result.txt ]
|
||||
then
|
||||
failed_number=$(cat ./check_void_result.txt|wc -l )
|
||||
echo "Found $failed_number (void) function invocation in $source_file:"
|
||||
cat ./check_void_result.txt
|
||||
exit 1
|
||||
else
|
||||
echo "No (void) function invocation in $source_file"
|
||||
exit 0
|
||||
fi
|
|
@ -31,7 +31,6 @@ fi
|
|||
|
||||
# enterprise edition
|
||||
INTERNAL_REPDIR=$WORKDIR/TDinternal
|
||||
REPDIR_DEBUG=$WORKDIR/debugNoSan/
|
||||
|
||||
REP_MOUNT_PARAM="$INTERNAL_REPDIR:/home/TDinternal"
|
||||
|
||||
|
@ -46,7 +45,7 @@ docker run \
|
|||
--rm --ulimit core=-1 taos_test:v1.0 python3 $check_assert_scripts
|
||||
EOF
|
||||
docker run \
|
||||
-v $REP_MOUNT_PARAM \
|
||||
-v "$REP_MOUNT_PARAM" \
|
||||
--rm --ulimit core=-1 taos_test:v1.0 python3 $check_assert_scripts
|
||||
|
||||
ret=$?
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
#!/bin/bash
|
||||
|
||||
function usage() {
|
||||
echo "$0"
|
||||
echo -e "\t -d work dir"
|
||||
echo -e "\t -h help"
|
||||
}
|
||||
|
||||
while getopts "d:h" opt; do
|
||||
case $opt in
|
||||
d)
|
||||
WORKDIR=$OPTARG
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
\?)
|
||||
echo "Invalid option: -$OPTARG"
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$WORKDIR" ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# enterprise edition
|
||||
INTERNAL_REPDIR=$WORKDIR/TDinternal
|
||||
|
||||
REP_MOUNT_PARAM="$INTERNAL_REPDIR:/home/TDinternal"
|
||||
|
||||
CONTAINER_TESTDIR=/home/TDinternal/community
|
||||
|
||||
check_assert_scripts="$CONTAINER_TESTDIR/tests/ci/check_void.sh "
|
||||
func_list_file="$CONTAINER_TESTDIR/tests/ci/func.txt"
|
||||
source_file_path="$CONTAINER_TESTDIR/source/"
|
||||
|
||||
ulimit -c unlimited
|
||||
cat << EOF
|
||||
docker run \
|
||||
-v $REP_MOUNT_PARAM \
|
||||
--rm --ulimit core=-1 taos_test:v1.0 "$check_assert_scripts" -c $func_list_file -f $source_file_path
|
||||
EOF
|
||||
|
||||
docker run \
|
||||
-v "$REP_MOUNT_PARAM" \
|
||||
--rm --ulimit core=-1 taos_test:v1.0 "$check_assert_scripts" -c $func_list_file -f $source_file_path
|
||||
|
||||
ret=$?
|
||||
exit $ret
|
||||
|
Loading…
Reference in New Issue