]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: add a check_commands.sh script which looks for commands with no tests
authorGreg Farnum <gfarnum@redhat.com>
Tue, 13 Jun 2017 22:55:48 +0000 (15:55 -0700)
committerGreg Farnum <gfarnum@redhat.com>
Thu, 15 Jun 2017 00:02:50 +0000 (17:02 -0700)
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 <gfarnum@redhat.com>
src/script/check_commands.sh [new file with mode: 0755]

diff --git a/src/script/check_commands.sh b/src/script/check_commands.sh
new file mode 100755 (executable)
index 0000000..17a15b4
--- /dev/null
@@ -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