From: Thomas Rast Date: Wed, 24 Apr 2013 13:54:35 +0000 (+0200) Subject: remote: add a test for extra arguments, according to docs X-Git-Tag: v1.8.3-rc1~7^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=abf5f8723cc65c499eb6b65b07bd935f43525b24;p=git remote: add a test for extra arguments, according to docs This adds one test or comment for each subcommand of git-remote according to its current documentation. All but 'set-branches' and 'update' are listed as taking only a fixed number of arguments; for those we can write a test with one more (bogus) argument, and see if the command notices that. They fail on several counts: 'add' does not check for extra arguments, and 'show' and 'prune' actually iterate over remotes (i.e., take any number of args). We'll fix them in the next two patches. The -f machinery is only there to make the tests readable while still ensuring they pass as a whole, and will be removed in the final patch. Signed-off-by: Thomas Rast Signed-off-by: Junio C Hamano --- diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh index ccc55ebf4b..c23e8482f0 100755 --- a/t/t5505-remote.sh +++ b/t/t5505-remote.sh @@ -1003,4 +1003,31 @@ test_expect_success 'remote set-url --delete baz' ' cmp expect actual ' +test_expect_success 'extra args: setup' ' + # add a dummy origin so that this does not trigger failure + git remote add origin . +' + +test_extra_arg () { + expect="success" + if test "z$1" = "z-f"; then + expect=failure + shift + fi + test_expect_$expect "extra args: $*" " + test_must_fail git remote $* bogus_extra_arg 2>actual && + grep '^usage:' actual + " +} + +test_extra_arg -f add nick url +test_extra_arg rename origin newname +test_extra_arg remove origin +test_extra_arg set-head origin master +# set-branches takes any number of args +test_extra_arg set-url origin newurl oldurl +test_extra_arg -f show origin +test_extra_arg -f prune origin +# update takes any number of args + test_done