From: Junio C Hamano Date: Thu, 25 Apr 2013 15:31:32 GMT Subject: Re: [PATCH 1/3] remote: add a test for extra arguments, according to docs Message-ID: <7vwqrq62zv.fsf@alter.siamese.dyndns.org> In-Reply-To: <87obd3cbux.fsf@linux-k42r.v.cablecom.net> Thomas Rast writes: > Junio C Hamano writes: > >> Thomas Rast writes: >> >>> +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 >> >> Perhaps just a taste in readability thing, but I would prefer to see >> them more like >> >> test_extra_arg_expect failure add nick url >> test_extra_arg_expect success rename origin newname >> >> than misunderstanding-inviting "-f" that often stands for "--force". > > Hmm. I had that at first, but then the final cleanup would have had to > touch all tests to remove the optional argument, making it noisy. You do not need a final cleanup, as I _never_ meant failure/success in the above illustration to be _optional_. Being explicit reduces mental burden when you later have to read such a custom scaffolding each test invents in an ad-hoc manner to suit its needs.