clean_tmp_files() {
if echo $tmpinput | grep -q '^checkpatches\.' ; then
- rm -f $tmpinput
+ rm -f "$tmpinput"
fi
}
-trap "clean_tmp_files" SIGINT
+trap "clean_tmp_files" INT
print_usage () {
cat <<- END_OF_HELP
END_OF_HELP
}
+check_forbidden_additions() {
+ # refrain from new additions of rte_panic() and rte_exit()
+ # multiple folders and expressions are separated by spaces
+ awk -v FOLDERS="lib drivers" \
+ -v EXPRESSIONS="rte_panic\\\( rte_exit\\\(" \
+ -v RET_ON_FAIL=1 \
+ -f $(dirname $(readlink -e $0))/check-forbidden-tokens.awk -
+}
+
number=0
quiet=false
verbose=false
exit 1
fi
+print_headline() { # <title>
+ printf '\n### %s\n\n' "$1"
+ headline_printed=true
+}
+
total=0
status=0
check () { # <patch> <commit> <title>
local ret=0
+ headline_printed=false
total=$(($total + 1))
- ! $verbose || printf '\n### %s\n\n' "$3"
+ ! $verbose || print_headline "$3"
if [ -n "$1" ] ; then
tmpinput=$1
elif [ -n "$2" ] ; then
- tmpinput=$(mktemp checkpatches.XXXXXX)
+ tmpinput=$(mktemp -t dpdk.checkpatches.XXXXXX)
git format-patch --find-renames \
- --no-stat --stdout -1 $commit > $tmpinput
+ --no-stat --stdout -1 $commit > "$tmpinput"
else
- tmpinput=$(mktemp checkpatches.XXXXXX)
- cat > $tmpinput
+ tmpinput=$(mktemp -t dpdk.checkpatches.XXXXXX)
+ cat > "$tmpinput"
fi
- report=$($DPDK_CHECKPATCH_PATH $options $tmpinput 2>/dev/null)
+ ! $verbose || printf 'Running checkpatch.pl:\n'
+ report=$($DPDK_CHECKPATCH_PATH $options "$tmpinput" 2>/dev/null)
if [ $? -ne 0 ] ; then
- $verbose || printf '\n### %s\n\n' "$3"
+ $headline_printed || print_headline "$3"
printf '%s\n' "$report" | sed -n '1,/^total:.*lines checked$/p'
ret=1
fi
! $verbose || printf '\nChecking API additions/removals:\n'
report=$($VALIDATE_NEW_API "$tmpinput")
if [ $? -ne 0 ] ; then
+ $headline_printed || print_headline "$3"
+ printf '%s\n' "$report"
+ ret=1
+ fi
+
+ ! $verbose || printf '\nChecking forbidden tokens additions:\n'
+ report=$(check_forbidden_additions <"$tmpinput")
+ if [ $? -ne 0 ] ; then
+ $headline_printed || print_headline "$3"
printf '%s\n' "$report"
ret=1
fi