From 41b0b45eeede3c65eb7e36f63f6fb39ce05c0494 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Tue, 13 Jun 2017 15:55:48 -0700 Subject: [PATCH] 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 --- src/script/check_commands.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100755 src/script/check_commands.sh diff --git a/src/script/check_commands.sh b/src/script/check_commands.sh new file mode 100755 index 00000000000..17a15b405e9 --- /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 -- 2.47.3