From: Greg Farnum Date: Tue, 13 Jun 2017 22:55:48 +0000 (-0700) Subject: qa: add a check_commands.sh script which looks for commands with no tests X-Git-Tag: v12.1.0~121^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=41b0b45eeede3c65eb7e36f63f6fb39ce05c0494;p=ceph.git qa: add a check_commands.sh script which looks for commands with no tests This isn't run automatically by anything yet. Note that it's also a best-effort thing; passing doesn't guarantee there are tests. It can be pretty easily fooled if the command is a common word which shows up in specifying other things, for instance. Signed-off-by: Greg Farnum --- diff --git a/src/script/check_commands.sh b/src/script/check_commands.sh new file mode 100755 index 000000000000..17a15b405e9e --- /dev/null +++ b/src/script/check_commands.sh @@ -0,0 +1,19 @@ +#!/bin/sh +git grep COMMAND\( | grep -o "(\"[a-zA-z ]*\"" | grep -o "[a-zA-z ]*" > commands.txt +missing_test=false +good_tests="" +bad_tests="" +while read cmd; do + if git grep -q "$cmd" -- src/test qa/; then + good_tests="$good_tests '$cmd'" + else + echo "'$cmd' has no apparent tests" + missing_test=true + bad_tests="$bad_tests '$cmd'" + fi +done < commands.txt + +if [ "$missing_test" == true ]; then + echo "Missing tests!" $bad_tests + exit 1; +fi