summaryrefslogtreecommitdiffstats
path: root/src/script
diff options
context:
space:
mode:
authorGreg Farnum <gfarnum@redhat.com>2017-06-14 00:55:48 +0200
committerGreg Farnum <gfarnum@redhat.com>2017-06-15 02:02:50 +0200
commit41b0b45eeede3c65eb7e36f63f6fb39ce05c0494 (patch)
tree7cfa35be53b5ffff7b14f0e61b11760467f55a5a /src/script
parentmon: mgr: enable "osd df" on the manager (diff)
downloadceph-41b0b45eeede3c65eb7e36f63f6fb39ce05c0494.tar.xz
ceph-41b0b45eeede3c65eb7e36f63f6fb39ce05c0494.zip
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 <gfarnum@redhat.com>
Diffstat (limited to 'src/script')
-rwxr-xr-xsrc/script/check_commands.sh19
1 files changed, 19 insertions, 0 deletions
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