Re: [PATCH 04/10] t4209: use helper functions to test --grep
- From
René Scharfe <l.s.r@web.de>
- Date
- Mar 24, 2014, 21:42 UTC
- Message-ID
- <5330A6E2.2040607@web.de>
- In-Reply-To
- <20140324211412.GB13728@sigill.intra.peff.net>
Am 24.03.2014 22:14, schrieb Jeff King:
Show 28 quoted lines
> On Mon, Mar 24, 2014 at 11:22:58AM -0700, Junio C Hamano wrote: > >> René Scharfe <l.s.r@web.de> writes: >> >>> -test_expect_success 'log --grep -i' ' >>> - git log -i --grep=InItial --format=%H >actual && >>> - test_cmp expect_initial actual >>> -' >>> +test_log expect_initial --grep initial >>> +test_log expect_nomatch --grep InItial >> >> This, and the next --author one, assumes that we will never break >> "--grep=foo" without breaking "--grep foo". That should be OK, but >> we might want to add separate tests e.g. >> >> test_log expect_initial --grep=initial >> >> perhaps? I dunno. > > Yeah, I I'd prefer "--grep=" here (and in all scripts). In general, I > think our attitude should be that "--foo=bar" is guaranteed to work > forever, but "--foo bar" is not. The latter only works if the argument > is non-optional, so that leaves us room to "break" compatibility to make > an argument optional in a future version. > > Now, whether the rest of the world and its script-writers are aware of > this fact, I don't know. So it may be too late already (but it does look > like we mention it in gitcli(7)).
OK, then the following should be squashed into patch 2 (t4209: factor out helper function test_log()):
diff --git a/t/t4209-log-pickaxe.sh b/t/t4209-log-pickaxe.sh index 9f3bb40..f47231a 100755 --- a/t/t4209-log-pickaxe.sh +++ b/t/t4209-log-pickaxe.sh @@ -10,6 +10,14 @@ test_log() { shift 3 rest=$@ + case $kind in + --*) + opt=$kind=$needle + ;; + *) + opt=$kind$needle + ;; + esac case $expect in expect_nomatch) match=nomatch @@ -20,7 +28,7 @@ test_log() { esac test_expect_success "log $kind${rest:+ $rest} ($match)" " - git log $rest $kind $needle --format=%H >actual && + git log $rest $opt --format=%H >actual && test_cmp $expect actual " }