]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cephtool/test.sh: add a few tests for invalid command args
authorDan Mick <dan.mick@inktank.com>
Sat, 3 Aug 2013 03:50:20 +0000 (20:50 -0700)
committerDan Mick <dan.mick@inktank.com>
Mon, 5 Aug 2013 18:20:41 +0000 (11:20 -0700)
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
qa/workunits/cephtool/test.sh

index d759d675276ed167ea0e39efca5f69b932bd752d..e84119920cfe68eb7b351024fdbac3a9a4f5f5bc 100755 (executable)
@@ -25,6 +25,29 @@ expect_false()
        if "$@"; then return 1; else return 0; fi
 }
 
+TMPFILE=/tmp/test_invalid.$$
+trap "rm $TMPFILE" 0
+
+function check_response()
+{
+       retcode=$1
+       expected_retcode=$2
+       expected_stderr_string=$3
+       if [ $1 != $2 ] ; then
+               echo "return code invalid: got $1, expected $2" >&2
+               exit 1
+       fi
+
+       if ! grep "$3" $TMPFILE >/dev/null 2>&1 ; then 
+               echo "Didn't find $3 in stderr output" >&2
+               echo "Stderr: " >&2
+               cat $TMPFILE >&2
+               exit 1
+       fi
+}
+
+
+
 #
 # Assumes there are at least 3 MDSes and two OSDs
 #
@@ -255,4 +278,18 @@ ceph osd pool get rbd crush_ruleset | grep 'crush_ruleset: 2'
 
 ceph osd thrash 10
 
+set +e
+
+# expect error about missing 'pool' argument
+ceph osd map 2>$TMPFILE; check_response $? 22 'pool'
+
+# expect error about unused argument foo
+ceph osd ls foo 2>$TMPFILE; check_response $? 22 'unused'
+
+# expect "not in range" for invalid full ratio
+ceph pg set_full_ratio 95 2>$TMPFILE; check_response $? 22 'not in range'
+
+# expect "not in range" for invalid overload percentage
+ceph osd reweight-by-utilization 80 2>$TMPFILE; check_response $? 22 'not in range'
+
 echo OK