Re: [PATCH 1/2] t7002: set test prerequisite "external-grep" if supported
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Jan 7, 2010, 14:04 UTC
- Message-ID
- <4B45E9E7.1040905@viscovery.net>
- In-Reply-To
- <fcaeb9bf1001070527ra1570a0m12182db9bb029055@mail.gmail.com>
Nguyen Thai Ngoc Duy schrieb:
Show 21 quoted lines
> On 1/7/10, Junio C Hamano <gitster@pobox.com> wrote: >> So by writing the test to check the desired outcome, instead of writing it >> for the particular implementation of using external grep optimization, you >> will catch both kinds of breakages. >> >> Perhaps something like this (untested, of course)? >> >> test_expect_success 'strings in work tree files are not found for skip-wt paths' ' >> no="no such string in the index" && >> test_must_fail git grep -e "$no" --cached file && >> git update-index --skip-worktree file && >> echo "$no" >file && >> test_must_fail git grep -e "$no" file && >> git update-index --no-skip-worktree file && >> git grep -e "$no" file >> ' >> > > Very well reasoned. I'd say go for it! > > Tested-by: me
The test is not quite complete. Not only do you want to test that the worktree file is not looked at, but that the index version is used:
test_expect_success 'for skip-wt paths, strings are found in index, not in worktree' ' yes="this string is in the index" && no="no such string in the index" && echo "$yes" >file && git update-index file && echo "$no" >file && git grep -e "$yes" --cached file && test_must_fail git grep -e "$no" --cached file && git update-index --skip-worktree file && git grep -e "$yes" file && test_must_fail git grep -e "$no" file && git update-index --no-skip-worktree file && test_must_fail git grep -e "$yes" file && git grep -e "$no" file '
Just as untested... ;)
-- Hannes